【发布时间】:2011-07-05 06:30:36
【问题描述】:
【问题讨论】:
-
您是否正在寻找可以在单个请求中返回所有数据的互联网服务或数据库?
-
code.google.com/apis/maps/documentation/geocoding 为每个城镇/城市发出(单一的)请求,然后从 xml/jason 中获取位置。还是我误会了?
标签: geocoding geospatial
【问题讨论】:
标签: geocoding geospatial
第三个视频的第一部分展示了如何使用 Google Refine 和地理编码获取纬度和经度。无需编写新脚本。 非常适合进行一次此类更改。
【讨论】:
或者使用 www.geonames.org - 有语言 APIs 可以做到这一点。或 Open Street Map 的 Nominatim:http://wiki.openstreetmap.org/wiki/Nominatim - google 的服务条款限制性稍强。
【讨论】:
您可以使用 Google 地理编码 API。在此 URL 检查 API:http://code.google.com/apis/maps/documentation/geocoding/
接下来是编写一些代码。我在 C# 中做类似的事情,在这里很容易。
【讨论】:
大多数地理编码服务只能处理您所关注的行政名称的查询,例如市镇和地区。所以我希望 choose one 你喜欢它也可以处理批量或批量请求,例如 Bing Spatial Data API(这是一篇关于 batch geocoding with it 的文章。)
如果您的预算有限并且有很多事情要做,另一种可能有用的方法是下载Geonames database 并编写一些代码将其导入您的数据库或对其进行索引;然后查询它以及您喜欢的频率,例如,如果您将您的位置放在另一个表中,您可以SELECT [...] FROM my_places LEFT JOIN geonames [...]。我过去常常每晚将 Geonames DB 导入香草 PostgreSQL,如果这是您想尝试的路线,可能仍然在某个地方的 git repo 中有代码(评论,我会找到并附上。)
【讨论】:
对于使用谷歌的服务,我认为这是最准确的。 看http://www.torchproducts.com/tools/geocode
【讨论】: