如何编写没有外部依赖关系的地理编码器

时间:2011-08-12 10:39:52

标签: language-agnostic geocoding

geocoder.usGoogle Geocoding API等服务;但是,这些是速率有限的。如何在不必依赖这些服务(特别是输入地址和获取一组坐标)的情况下自行编写其中一个?

总体目标是使用类似Haversine Formula的公式计算两个地址之间的距离差异。我过去使用过hasrsine来定位给定邮政编码特定距离内的邮政编码,但现在我需要进入街道地址级别(基本上检查给定地址是否在另一个给定地址的某个范围内)。 / p>

最明显的事情是找到一个不受费率限制的付费服务。有人知道这样的服务吗?在街道地址级别写这样的东西似乎比邮编级别更麻烦(特别是新街道一直在创建)。

目前,我只专注于(美国大陆)。

编辑:我刚注意到geocoder.us is open source。这可能是一个很好的起点。

2 个答案:

答案 0 :(得分:1)

似乎geocoder.us从可用的U.S. Census Tiger/Line® file download导入他们的数据。在互联网上闲逛一段时间之后,我发现了一个名为JGeocoder的项目,其中包含人口普查中importing data的详细信息和geocoding based on that data

答案 1 :(得分:0)

在我们公司,我们使用微软的MapPoint API。 WebService返回Lat / Lon,甚至尝试提供精确的地址。

此链接提供了一个示例电话:http://msdn.microsoft.com/en-us/library/bb545004.aspx

认为我们每个月支付固定费率(我为一家相当大的公司工作,所以也许我们会收到大量交易 - 但我认为我们不这样做。) 它返回的结果非常精确和准确。无论是在美国还是在国际上。

我认为他们已经在Bing atm下重新命名了它。