我想知道如何谷歌地理编码和地址?它的工作就像一个DNS lookup,在那里他们有一个很大的地址表,这是一散列为一个地理编码,或是否有任何有趣的几何学的进入?如果这是一个很大的散列表他们怎么去收集所有数据吗?

有帮助吗?

解决方案

Busbina,我的工作 SmartyStreets 在那里我们的审核和街道地址的地理编码-所以我会告诉你我所知道的,和您链接到另外的来源为自己的研究。

来回答你的问题:这是两个。

有的供应商的大规模数据库的数据(例如,那些喜欢 老虎的数据)其中包含关系、地缘政治信息,包括标、街道、边界和名称。我们的数据,很可能至少得到拉链的水平精确度的通过表这些简单地通过这样一个查找。为了更准确,虽然追加+4码你可能缩小它的城市街区或楼高的大楼。

试图进一步的精确度(ie。知道在哪里准确地在大街上的建筑物位于),谷歌和其他人执行所谓的插值,在那里他们需要的已知的边界,从他们的数据集以及与已知范围内的主要数字从一开始就阻止或街到它的结束,并且他们解决的一个比率。 如果正确的主要数字是名, ,和笔直的街道在一个理想的环境,一个简单的比例这样的工作:

(primary number - starting primary number) / (ending primary number) =
        (x - starting boundary coordinate) / (ending boundary coordinate)

哪里 x 是附近的猜测到的实际位置在街上-但只是猜测。准确的建筑水平的数据可能非常昂贵而且我认为是只适用于一些城市地区。

关键是要获得合适的初级数量和准确、最新的数据。保持这可能是耗时和昂贵,因为所有的开销参与这么多的信息。

注意,谷歌和类似的地图服务的唯一执行地址的近似,不是地址的核查,并因此有责任作出错误的(即使地理编码算法是非常精确),因为主要的数量可能是错误或甚至可能不存在。所以当这事给你的信(或者你是不是表示一个谷歌地图和必须履行服务条款),类似的东西 LiveAddress, ,作为一个起点,是经过美国邮政和不返回不良的地址。

因此,有一些要考虑的事项。

更多信息:

**我会加入一个注意,因为我有这个问题有很多:屋顶或建设水平的精确度非常昂贵的信息。我知道的很少的几个供应商提供此,他们具有开采和收集,数据自己。例如谷歌街景的项目,从它们获得了精确坐标,为近似的地址,他们可以提供这样的精确度。但大多数地理编码器使用相同的数据来自官方来源,他们只是插不同。如果你想非常精确坐标,如建设水平,可以预期支付的境地,或收集数据自己。(是的,谷歌的是免费的一点-除非你打算使用的信息不仅仅是显示的地图上。)

其他提示

一个非常相似的服务是eyonames,它是美国政府运行位置名称数据库。这项服务更好地针对兴趣点,如机场或地标。这只是名称,位置和一些元数据的数据库。

http://www.geonames.org/

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top