1

NOAA REST 服务提供了一种获取天气信息的方法。我注意到 NOAA 网站上有一个文本框,我可以输入 City,St 以获取该位置的天气信息。

使用 REST 服务,它仅列出有限的 City,St 及其对应的 Lat,Lng:

http://graphical.weather.gov/xml/sample_products/browser_interface/ndfdXMLclient.php?listCitiesLevel=1234

但是,如果我想查看 的 Lat,Lng MCRAE, GA,它不会在 REST 服务中列为 City,St。

我的目标是使用任何 City,St 作为 python 程序的输入,该程序将检索该位置的天气数据。这最终涉及找出 City,St 坐标,然后使用坐标构建 url。我希望 REST 服务能给我坐标,但似乎不可能。

我的问题是 NOAA 如何确定用于任何给定 City,St 的正确坐标?如果可能的话,是否有任何 REST 服务可以轻松返回该数据?我宁愿不必模拟用户输入然后屏幕抓取坐标。

4

1 回答 1

3

使用openstreetmap.org

import urllib2
import urllib
import json

url = 'http://nominatim.openstreetmap.org/search?'
place = 'MCRAE, GA'
params = urllib.urlencode(dict(q=place, format='json'))
# print(url+params)
response = urllib.urlopen(url+params)
data = json.loads(response.read())[0]
print(data['lon'], data['lat'])

产量

(u'-82.9006993', u'32.0679541')
于 2013-04-10T20:29:31.720 回答