我想得到一个地址的纬度和经度。如果不使用Google的地理编码API,有没有办法做到这一点?
我想使用tilemill在我的地图上显示我的地址。据我所知,使用从谷歌获得的纬度和经度阻止我在瓷砖工厂使用它们。
那么我应该怎么做才能得到这些。
由于
答案 0 :(得分:9)
正确。荣誉服务条款的荣誉。
还有其他服务可以执行地理编码。仅举几例:Bing,Yahoo,MapQuest,Nominatim。但是,它们具有与Google相似的各种服务条款限制,这些限制也可能适用。如果不是这样,那么有查询限制。还有USC WebGIS,但其demos经常出现故障,据报道该服务是断断续续的。
许多这些免费服务的局限性可能是使用商业服务。有几个,每个工作有点不同。有些人会搜索地址并对结果进行最佳猜测(或近似) - 这就是Google和其他搜索服务所做的事情。
其他人会拿一个怀疑是真实的地址,并实际验证它,然后对其进行地理编码。这可能会带来更有帮助和更准确的结果,因为地址可以保证正确和标准化。在美国,这被称为CASS™ processing(尽管并非所有供应商都会进行地理编码)。它对于在地图上创建周边(给定地理编码精度值)以及在正确的位置显示坐标而不是在数百英里之外的第二个最佳地址非常有用。
一种此类地理编码服务是LiveAddress API。 (我在SmartyStreets工作。)The demos show how the geocoding works,但它很灵活,所以你可以选择如何用tilemill实现它。此外,LiveAddress没有查询限制,因为系统将根据需求进行扩展。并且您不会为无法验证的地址付费,这有助于防止滥用。
根据您的需要,您可以选择。做一点研究,你应该找到一些好的东西。希望这有一些帮助!
答案 1 :(得分:2)
我一直在使用这项免费服务,它运作良好。我建议使用100或更小的地址批次以获得最佳效果。
http://www.findlatitudeandlongitude.com/batch-geocode/#.UxY7OvSwJDR
答案 2 :(得分:0)
当然也有可能运行自己的Nominatim安装。是相当多的工作,但你没有任何限制......
要获得startet,请参阅this page