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

Ali*_*xel 11 zipcode web-services geocoding geolocation postal-code

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

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

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


我阅读Meta问题时,我遇到了这个链接:

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
Run Code Online (Sandbox Code Playgroud)

我之前听说过YQL,但我不知道我可以将它用于GeoCode地址,所以我搜索了一下,我发现了这个非常有趣的信息:

使用限制

每个应用程序限制(由您的访问密钥标识):每天100,000个呼叫

每IP限制:/ v1/public /:每小时1,000次通话;/v1/yql /:每小时10,000次呼叫

有谁知道在哪里可以获得使用YQL到GeoCode地址的更具体信息?

Dan*_*llo 6

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

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

简单的CSV:

http://maps.google.com/maps/geo?q=W1A+1AA,+London&output=csv&sensor=false
Run Code Online (Sandbox Code Playgroud)

更复杂的XML:

http://maps.google.com/maps/geo?q=W1A+1AA,+London&output=xml&sensor=false
Run Code Online (Sandbox Code Playgroud)

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

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

  • 这将排除Google地图,可能还有其他任何网络服务.此外,我认为永久存储地理编码结果违反了Google地图条款. (2认同)

npd*_*oty 6

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

他们还允许您根据知识共享许可下载其大部分数据,但不幸的是,这似乎仅限于WOEID关系和国家/地区名称.