答案 0 :(得分:5)
第三个视频的第一部分显示了如何使用Google Refine和地理编码获取纬度和经度。无需编写新脚本。 非常适合做这种改变。
答案 1 :(得分:3)
或者使用www.geonames.org - 有语言API。或者打开街道地图的Nominatim:http://wiki.openstreetmap.org/wiki/Nominatim - 谷歌的服务条款略有限制。
答案 2 :(得分:2)
您可以使用Google地理编码API。通过以下网址检查API:http://code.google.com/apis/maps/documentation/geocoding/
接下来是写一些代码。我在C#中做了类似的事情,这里很容易。
答案 3 :(得分:1)
大多数地理编码服务只能处理您所追求的管理名称的查询,例如市政和地区。所以我希望你choose one处理批量或批量请求,例如Bing Spatial Data API(这是batch geocoding with it上的文章。)
如果您有预算并且有很多这样做可能会有用的替代方法是下载Geonames database并编写一些代码将其导入数据库或将其编入索引;然后查询它和你喜欢的频率,例如,如果你把你的位置放在另一个表格中,你可以SELECT [...] FROM my_places LEFT JOIN geonames [...]
。我曾经每晚将Geonames数据库导入到一个vanilla PostgreSQL中,并且可能仍然在某个地方使用git repo中的代码,如果这是你想要尝试的路径(评论,我会找到并附加。)
答案 4 :(得分:0)
对于使用谷歌的服务,我觉得最准确。 看http://www.torchproducts.com/tools/geocode