2

我正在考虑使用 google 或 yahoo api 来计算从一个邮政编码到另一个邮政编码的距离,并获取该邮政编码所在的城市。但是,api 调用是有限的,因为我正在处理的网站将在多个页面中多次查询 api。

我想知道在哪里可以找到包含邮政编码和城市的数据库,或者使用邮政编码数据库来查询纬度/经度的距离。

我做了一些谷歌搜索,我下载的大多数免费的要么不准确,要么太大而无法放入数据库。

谢谢

我将使用 PHP

4

7 回答 7

2

过去我使用过这个 PHP 类。虽然我没有非常广泛地使用它,但它在邮政编码查找和距离方面做了我需要它做的事情。

于 2011-06-14T04:30:12.917 回答
1

这是您会发现的最好的免费邮政编码数据库:http: //federalgovernmentzipcodes.us/

如果您不需要超精确的 lat,lng,它可以正常工作。不幸的是,lat,lng 不是那么准确,不是因为小数点后两位——而是因为它们只是有点偏离。

我重新设计了这个数据库,通过点击谷歌地图使 lat,lng 更准确

maps.googleapis.com/maps/api/geocode/json?address="邮编城市州";

于 2012-12-02T02:57:12.673 回答
1

Commercial zip code databases with Lat/Long are available. They are not expensive and are not large (well, if you restrict to USA, 40K small records or so). I have had good luck with zip-finder.com in the past, but important caveat... once you begin maintaining your own zip code table(s), you will need to keep it in sync with whatever the USPS does with zipcodes over time. One really irritating thing they do is remove zipcodes.

That said, calculating distance is pretty trivial, but you only get one lat/long point per zipcode (more or less the centroid of area). For a large zipcode, your distance accuracy can have a mile or more of slop in it, so be aware of that.

于 2011-06-14T04:41:01.800 回答
0

查看PHP-ZipCode-Class。您可以使其适应任意数量的邮政编码数据库。就个人而言,我会选择商业数据库,因为免费的数据库很容易过时。相信我。多年来,我一直试图在一个高流量的电子商务网站上维护一个免费数据库。购买商业数据库会便宜很多。如果你真的坚持免费数据库,这里有几个我知道的(但没有尝试过)。

于 2011-09-09T14:48:50.880 回答
0

多年来,我一直在使用来自http://zip-info.com/的邮政编码数据库。它每季度更新一次(非常重要)并且非常准确。该数据库约为 50 美元,我每年购买两次更新。

美国有 54,000 个 5 位数的邮政编码 - 所以任何好的数据库都会很大 - 如果你想减少数据,只需去掉不需要的数据字段(将其限制为 zip/lat/lon)存储(虽然它是最小的节省)。正如 Rob 所说,距离计算很容易 - 只需寻找一个可以进行大圆计算的脚本作为起点。

于 2013-05-04T06:24:58.243 回答
0

你可以试试这个API

http://ws.geonames.org/postalCodeSearch?postalcode=10033

也给出 lat 和 long 的结果

于 2011-06-14T04:38:33.703 回答
0

您对 api 限制是正确的。Bing 也是如此(尽管他们的 api 非常好)。

如果您使用数据库......虽然需要一些工作,但您可以从美国人口普查老虎数据中免费获得它 - 这是大多数低端 3rd 方邮政编码数据库所基于的。只知道在 2000 年,他们用 ZCTA 代替了邮政编码(类似于邮政编码,但不准确)。我在下面的链接中包含了人口普查网站对 ZCTA 的解释:http ://www.census.gov/geo/ZCTA/zcta.html

其他需要考虑的事项:大多数纬度和经度质心是基于几何计算的——这意味着它们可能落在无人居住的林地、大型湖泊、公园(例如中央公园)的中间。我不确定您的需求是什么,但这对您来说可能没问题。如果您需要基于人口的中心,您可能需要商业数据(请参阅http://greatdata.com/zip-codes-lat-long单击顶部的“更多详细信息”选项卡以了解该主题的说明)。

此外,确定您是否只需要每个邮政编码的主要城市(一对一关系 - 通常有 40,000 多条记录),或者如果邮政编码边界涵盖多个城市,则需要将每个城市列为单独的记录(~ 57,000 条记录)。大多数定位器和地址验证实用程序都需要后者。

于 2012-06-19T17:33:17.440 回答