如何对服务器上的地址进行地理编码

cli*_*ray 3 python geocoding google-geocoding-api

我正在使用 python 使用 Google App Engine 编写一个应用程序,并将一个大型维基百科列表转换为电子表格,然后将列表行输入到位置中。例如:http: //en.wikipedia.org/wiki/List_of_North_Carolina_state_parks,我需要将每个公园的名称转换为地址,我想它们不会准确,但只要它们几乎正确就可以了跟我一起好吧。

有什么办法可以在服务器端使用 python 来做到这一点吗?我知道 Google 的地理编码服务,但它都是用 javascript 完成的,而且速率有限。

有什么服务可以做到这一点吗?

更新:geopy 正是我所寻找的。我想知道处理多个结果的最佳方法是什么。这是我的尝试:

        try:
             place, (lat, lng) = g.geocode(title+", North Carolina")
        except ValueError:
             geocodespot = g.geocode(title+", North Carolina", exactly_one=False)
             place, (lat, lng) = geocodespot[0]
Run Code Online (Sandbox Code Playgroud)

它工作得很好,但我想知道是否有更好的想法。

小智 5

geopy图书馆

示例(来自入门页面):

from geopy import geocoders

g = geocoders.Google()
place, (lat, lng) = g.geocode("10900 Euclid Ave in Cleveland")
print "%s: %.5f, %.5f" % (place, lat, lng)
Run Code Online (Sandbox Code Playgroud)
    10900 Euclid Ave, 克利夫兰, 俄亥俄州 44106, 美国: 41.50489, -81.61027