都市の名前を入力として受け取り、入力の緯度と経度を返すことができるPythonモジュールを探しています。
質問する
38288 次
3 に答える
37
geopyを見てください。「はじめに」のドキュメントでは、次のように示されています。
>>> from geopy import geocoders
>>> gn = geocoders.GeoNames()
>>> print gn.geocode("Cleveland, OH 44106")
(u'Cleveland, OH, US', (41.4994954, -81.6954088))
>>> gn.geocode("Cleveland, OH", exactly_one=False)[0]
(u'Cleveland, OH, US', (41.4994954, -81.6954088))
于 2012-12-03T15:09:50.980 に答える
25
例:
from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent='myapplication')
location = geolocator.geocode("Chicago Illinois")
print(location.address)
入手可能な情報:
>>> location.raw
{u'display_name': u'Chicago, Cook County, Illinois, United States of America', u
'importance': 1.0026476104889, u'place_id': u'97957568', u'lon': u'-87.6243706',
u'lat': u'41.8756208', u'osm_type': u'relation', u'licence': u'Data \xa9 OpenSt
reetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright', u'osm_i
d': u'122604', u'boundingbox': [u'41.6439170837402', u'42.0230255126953', u'-87.
9401016235352', u'-87.5239791870117'], u'type': u'city', u'class': u'place', u'i
con': u'http://nominatim.openstreetmap.org/images/mapicons/poi_place_city.p.20.p
ng'}
于 2014-08-29T14:08:14.410 に答える
0
BingMapsAPIでジオコーダーを使用することもできます。APIは、(Nominatimとは異なり)すべてのアドレスの緯度と経度のデータを取得します。非営利目的の使用にはかなり良い無料バージョンがあります(年間最大125000リクエストが無料です)。無料のAPIを入手するには、こちらにアクセスして[無料の基本キーを入手]をクリックしてください。APIを取得したら、以下のコードで使用できます。
import geocoder # pip install geocoder
g = geocoder.bing('Tokyo', key='<API KEY>')
results = g.json
print(results['lat'], results['lng'])
出力:
>>> 35.68696212768555 139.7494659423828
にはresults
、経度や緯度よりもはるかに多くの情報が含まれています。見てみな。
于 2022-01-29T13:06:37.083 に答える