我使用 http://maps.google.com/maps/geo ? web服务进行地理编码部分地址。

我的问题是,一个更全面的地址不一定给出更加精确的地理编码。

e.g传入Llantysilio,登比,UK比Llantysilio,兰戈伦,登比,UK准确得多

在XML精度属性似乎并不非常有帮助在决定选择哪个地址。

如何有其他人处理这个问题?是否有挑选的作品最最好的地理编码/所有的时间的好办法?

*编辑 额外的信息有点 - 当我把在更全面的地址地址的第一行被忽略,地理编码器跳到不同,但确切的说,加上地址地址,该地址是位于多余的线中央大街。在这个例子中,它选择城堡街在中间兰戈伦,看似无视Llantysilio。

编辑由kdgregory:这里是我使用的(缺少API密钥似乎并不成为一个问题)这两个API请求:

http://maps.google.com/maps/geo?q=Llantysilio,+Denbighshire,+UK&sensor=false&output=xml

http://maps.google.com/maps/geo?q=Llantysilio,Llangollen,++Denbighshire,+UK&sensor=false&output=xml
有帮助吗?

解决方案 5

在最后我的结论是,在地址一致太多怪异的光点,在英国谷歌的地理编码的web服务,但最终设法找出使用邮政编码,而不是一个办法,这是更为精确:的它是如何

其他提示

您必须解释的准确性我的朋友。通常有2个部分的精度,第一地址macthing。第二部分是重要组成部分。您可以地理编码的东西到美国的精度水平,或一个城市的水平,邮政编码重心,街道插电平或实际包裹的精度水平。第一个例子具有4和第二为9。对于该服务越高越好。

精度值描述 0未知的准确性。 1级国家级别的精度。 2地区(州,省,县等)级精确度。 3子区(县,市等)级精确度。 4城镇(城市,村镇)级精确度。 5邮政编码(邮编)级精确度。 6街道级精确度。 7交叉口级精确度。 8个地址级精度。 9前提(建筑物名称,属性名,购物中心等)级精确度。

这是件好事要注意的是谷歌的不遵循XAL规范,而是实现了他们的一个子集。

因此,这意味着你不一定能够做到:

place.AddressDetails.Country.AdministrativeArea.Locality.LocalityName
place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName
place.AddressDetails.Country.CountryName

由于同时行政区域不是可以提供一个国家和子局部性。

返回的数据被识别的精确度测量仪,让你的你可以期望什么数据相对概念。所以,你可以存储对象和砍掉使用这个变量的完整地址的部分,并尝试以这样的方式进行地理编码 - 这不是推荐,虽然。

典型地,一个完整的地址是(没有通道)是寻找一般位置的一个好方法。可以用一些加权优先逻辑谷歌提供细化地址的

E.g。使用setViewPort或setCountryCode给你搜索了一下更准确。

记住,地理编码的 不是科学 即可。你不能期望一致的结果。

地理编码response.Placemark [0]通过GMAP你可以检查你得到了什么,并采取水平或再试一次。我的顺序选择了默认

place.AddressDetails.Country.AdministrativeArea.Locality.LocalityName
place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName
place.AddressDetails.Country.CountryName

它可以如上面看到的更逻辑命名。 gmaps 3可与V2有点格格不入。

您可以尝试一个非常丑陋的黑客其中包括在地理编码您的全住址和您ADRESS包含字的所有子集,你得到了很多,你用它来获得有关他们与反向地理编码工具不会忽略地理编码的。 一旦你有足够你用你第一次给了一个比较它们不会忽略的,那么你采取最准确的地理编码... 许多要求,很多迭代与您添加到您的ADRESS每个字越来越多,还有一个丑陋的工作,但可以很有趣,使一些统计^^

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top