进行一次批量地址解析的最简单方法是什么?(580,000个美国地址)


13

我正在从事与公民相关的项目,因此我需要能够在地图上显示费城的所有物业,因此我需要获取所有580,000个物业的经度和纬度。(只有一次)

像Google / Yahoo这样的大多数API每天都有5,000个限制,甚至BatchGeo也有类似的限制。

有没有一种方法可以对所有这些地址进行一次性地理编码?


4
最简单的方法是找到一个好的商业提供商。
马修·斯内普

1
爱您的用户名!
nmpeterson 2012年

Answers:


14

您可以尝试使用Data Science Toolkit中的“ 街道地址到坐标”工具。

This API takes either a single string representing a postal address, or a JSON-encoded  
array of addresses, and returns a JSON object with a key for every address. The value 
for each key is either null if no information was found for the address, or an object 
containing location information, including country, region, city and latitude/longitude 
coordinates. Here's an example:

不确定Pete Warden的托管副本的API限制是什么,但是您可以自己运行该工具包,并按照@Devdatta的建议离线进行处理。有一个可下载的虚拟机,其中包含网站中的所有工具。祝好运 :)


太谢谢了!我会尝试的,让您知道它是否有效。
TobiasFünke2012年

到目前为止效果很好!我正在运行VM,因此希望没有限制。它是从本地数据库中提取还是正在检查某些Web API?
TobiasFünke2012年

1
VM所使用的是随处可见的数据库,所以是的,没有限制。如果我没有记错的话,对美国来说覆盖范围很大。如果您有兴趣,可以尝试使用源代码:) github.com/petewarden/dstkgithub.com/petewarden/dstkdata
RK

1
花了八天
TobiasFünke2012年

1
感谢您的参考@RK我不知道为什么datasciencetoolkit不再流行。几天来他们没有出现在我的研究中,不得不深入研究。干杯!
dchhetri

3

有了这些数据量,我建议您进行离线地理编码。只要这些请求的http请求都会被任何服务器分类为DoS攻击。


4
不完全正确。如果您使用旨在处理许多地理编码请求的服务,则不会有问题。LiveAddress API可以轻松地每秒处理1000个地址请求。那将在大约10分钟内淘汰598k。(我整天都在地址验证和地址编码中工作-我在SmartyStreets中工作)
Jeffrey

3

进行地理编码将得到580000点。您确定要在地图上全部显示它们吗?如此多的聚类点可能会使地图难以辨认。这些问题假设您找到了对许多记录进行地理编码的方法。

费城的地块记录可作为多边形图层使用。此外,这些多边形已经可以用作地图服务。如果数据/服务适合您的需求,那么您就不必担心对这么多的点进行地理编码,并且多边形看起来比地图上的这么多的点看起来更好。

有关数据(包括元数据和下载)和地图服务的信息:

http://www.pasda.psu.edu/uci/MapService.aspx?Dataset=462

预览地图服务(放大以获得更好的视图)

http://maps.psiee.psu.edu/preview/map.ashx?layer=462



2

您可以尝试Geocoda:https://geocoda.com 以获取JSON API。Geocoda有一个API,可让您获取满足您要求的经纬度。Geocoda没有每日查询限制,但初始帐户限制为每秒10个查询。

免责声明:我在Geocoda工作。如果您想获得任何帮助,或者想预览我们的批处理API,请告诉我。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.