如何对s上的地址进行地理编码

2024-09-29 23:28:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用python编写一个使用googleappengine的应用程序,我正在将一个大的wikipedia列表转换成电子表格,然后将列表行输入到位置。例如:http://en.wikipedia.org/wiki/List_of_North_Carolina_state_parks我需要把每个公园的名称转换成一个地址,我想它们不会是准确的,但只要它们几乎是正确的,我就可以了。在

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

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

更新: 地质学正是我想要的。我想知道处理多重结果的最佳方法是什么。以下是我的尝试:

        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]

它工作得很好,但我想知道有没有更好的主意。在


Tags: 方法应用程序http列表titleplacewikipedia电子表格
2条回答

^{} library。在

示例(来自getting started page):

from geopy import geocoders

g = geocoders.Google()
place, (lat, lng) = g.geocode("10900 Euclid Ave in Cleveland")
print "%s: %.5f, %.5f" % (place, lat, lng)
^{pr2}$

谷歌地理代码不需要任何密钥就可以使用。在

有关最新版本的所有信息都可以找到:

https://developers.google.com/maps/documentation/geocoding/#ReverseGeocoding

你所要做的就是请求:

(示例) http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false

然后使用urllib

import urllib
// pull lat and lng from your parks database and construct a url like:
url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=false'

resp = urllib.urlopen(url)
resp.read() // json string convert to python dict

这是限价的,但这是免费服务。当然,这并不是全部用javascript完成的。如果你只是对nc公园的静态列表进行地理编码,为什么它是速率受限的呢?在

相关问题 更多 >

    热门问题