21

我的要求是获取特定邮政编码的纬度和经度值。是否有任何 API 可用于获取这些信息。由于我在一家公司工作,因此我们团队的要求是找到特定邮政编码的纬度和经度值。所以我们正在考虑为此建立一个新的服务。那么,如果我们将邮政编码传递给我们的服务,我们可以使用什么可靠的数据源来获取这些信息。或者我可以向我的 PM 提出关于此要求的最佳方法是什么。任何指针将不胜感激。

顺便说一句,该数据源应该包含世界上所有的邮政编码、纬度和经度。不是那么准确,但大多数情况下它应该覆盖超过 95% 的覆盖率。

更新

我做了一些研究,发现我可以为此使用 Maxmind 数据,但 Maxmind 数据并未涵盖所有邮政编码列表。

4

6 回答 6

33

您可以从这里下载不同国家的邮政编码和相应的经纬度值:(这是开源数据,免费)

http://download.geonames.org/export/dump/

然后,您可以将数据导入数据库并进行查询。

希望这可以帮助。

于 2012-07-06T14:03:50.537 回答
14

请查看Google Geocoding APIYahoo! 地点查找器

它们都具有地理编码功能,这正是您想要的(从部分或完整地址获取地图(纬度、经度)坐标)。

于 2012-07-06T00:56:24.993 回答
3

如果您需要商业级,请考虑: http: //greatdata.com。如果您不需要这种质量水平,这里列出了一些其他来源的优缺点(值得一读,以了解 zip、zcta、usps、人口普查等数据版本之间的差异)。

ps-您说的是“整个世界”,但您的其他回答和“邮政编码”一词本身似乎主要暗示美国。上述链接超越了美国,而不是整个世界。

关于已经提到的 Google API,请注意Google 的 TOS。具体来说:“注意:地理编码 API 只能与谷歌地图一起使用;地理编码结果不显示在地图上是被禁止的。”

我是greatdata的员工。

于 2013-02-01T16:36:28.247 回答
1

GeoNames 有一个很好的简单 API,覆盖范围很好。(文档

示例用法: http ://api.geonames.org/postalCodeSearch?postalcode=98122&maxRows=10&username=demo

于 2016-08-05T22:31:15.393 回答
0

这个怎么样:http: //www.boutell.com/zipcodes/

于 2012-07-06T00:55:04.893 回答
0

我有一种情况,全国有 12 个仓库,我需要找到最近的一个有物品库存的仓库。我的简单解决方案是取目标邮政编码与 12 个仓库之间的差值的绝对值。然后,只需按邮政编码的最低到最高差异对它们进行排序,并按该顺序查询库存。似乎只获得 ABS(zip1 - zip2) 就会产生两个邮政编码之间的最近距离。

于 2017-11-13T19:44:49.800 回答