邮政编码+国家到地理坐标

时间:2010-01-16 13:23:09

标签: web-services geolocation geocoding zipcode postal-code

获取给定国家/地区的给定邮政编码的坐标(纬度/经度)的最完整,最准确和最可靠的方法是什么?我需要提出很多请求,因此API限制率很高(甚至可能不存在)会很有用。

GeoNames转储很酷,但似乎有太多重复的坐标(example),而且似乎他们的数据库缺少特定国家/地区的一些ZIP /邮政编码。

还有其他(可靠的)替代方案吗?


I was reading a Meta question,我遇到了这个链接:

http://query.yahooapis.com/v1/public/yql?q=select%20%2A%20from%20geo.places%20where%20text%3D%22Jyv%C3%A4skyl%C3%A4%22&format=xml

之前我听说过YQL,但我不知道我可以将它用于GeoCode地址,所以我搜索了一下I found this very interesting piece of information

  

使用限制

     

每个申请限额(由   您的访问密钥):每次100,000个电话   天

     

每个IP限制:/ v1 / public /:1,000   每小时电话; / v1 / yql /:10,000   每小时来电

是否有人知道在使用YQL到GeoCode地址时我可以获得更具体的信息?

4 个答案:

答案 0 :(得分:6)

我认为您的选择可能取决于您每天打算进行多少API调用。免费Google Maps API的每日限额为每个IP地址15,000个请求。 (来源:Google Maps API FAQ。)

您可以使用以下HTTP请求使用Google Maps API进行地理编码:

简单CSV:

http://maps.google.com/maps/geo?q=W1A+1AA,+London&output=csv&sensor=false

更复杂的XML:

http://maps.google.com/maps/geo?q=W1A+1AA,+London&output=xml&sensor=false

只需将“q”参数更改为邮政编码,将国家/地区更改为地理编码。

但是,我认为将地理编码结果永久存储在您的数据库中可能违反了Google Maps API条款和条件。您可能想要查看有关这些限制的更多信息。

答案 1 :(得分:6)

Yahoo! GeoPlanet会为您提供邮政编码的质心纬度/长点。根据我的经验,他们一直很可靠。 API限制是每天50,000个请求。我不确定他们对缓存结果的政策是什么。我的印象是,如果您联系Yahoo!,您可以设置一个更高的请求限制,但可能会花费一些钱。

他们还允许您{4}}使用知识共享许可,但不幸的是,这似乎仅限于WOEID关系和国家/地区名称。

答案 2 :(得分:2)

最简单的方法当然是找到一个没有请求限制的高质量服务提供商。为什么不向Google提出要约?据我所知,他们对商业客户非常灵活。

如果这不是一个选项,你肯定能够获得个人数据文件,并且在许多国家的票价比33美元便宜。我非常确定德国和奥地利以3位数的价格出售数据文件,对于英国来说,皇家邮政的数据是Postcode Address File (PAF),我认为质量不会比这更好。 当然,除了成本和麻烦之外,还有很多转换工作要处理来自不同邮局的26个单独文件以及诸如此类 - 工作我不会羡慕任何人:)如果你有预算,它可能是与谷歌或雅虎谈话最便宜。

答案 3 :(得分:1)

这实际上是一个非常棘手的问题,因为邮政编码实际上并不是一个多边形区域,而是汇集在一起​​的一组线条(请参阅How to get the bounding coordinates for a US postal(zip) code?的最佳版本以获得对此的详细解释。)

在美国,人口普查局维护一份名为“五位邮政编码列表区”(ZCTA5)的大致邮政编码边界清单。您可以直接下载这些并按照您的喜好处理它们。有几种地理编码工具可以帮助您入门;我使用PostGIS(http://postgis.net/),但还有其他一些,最重要的是开放街地图数据(http://www.openstreetmap.org),它涵盖了全世界。