2016-07-13 12 views
0

Ich versuche, den spezifischen Ländercode aus einem lat/long-Paar mit GeoPy zu drucken. Es kann die Adresse, den Breitengrad, den Längengrad oder den gesamten JSON als Diktat zurückgeben, nicht jedoch einzelne Komponenten.Drucken des Ländernamens von Geopy

Gibt es einen Weg, ich kann nur auf den Landteil zugreifen und das zurückgeben? Hier ist der Code, den ich gearbeitet haben, dass gibt die rohe Reaktion von Geolocator:

from geopy.geocoders import Nominatim 
geolocator = Nominatim() 
Lat = input('Lat: ') 
Long = input('Long: ') 

location = geolocator.reverse([Lat, Long]) 
print(location.raw) 

Hier wird der Ausgang I erhalten:

{ 'Lizenz': ‚Daten © OpenStreetMap Mitwirkende, ODbL 1.0. http://www.openstreetmap.org/copyright ',' Adresse ': {' Hausnummer ':' 1600 ',' Stadt ':' Washington ',' Landcode ':' uns ',' Postleitzahl ':' 20500 ',' Sehenswürdigkeit ':' Weißes Haus ',' Nachbarschaft ':' Monumental Core ',' Land ':' Vereinigte Staaten von Amerika ',' Staat ':' District of Columbia ',' Fußgänger ':' Pennsylvania Avenue Northwest '},' Anzeigename ':' Weißes Haus, 1600, Pennsylvania Avenue Northwest, Monumentaler Kern, Washington, District of Columbia, 20500, Vereinigte Staaten von Amerika ',' lat ': '38 .8976989', 'boundingbox': ['38 .8974898 ', '38 .897911', '-77.0368539', '-77.0362521 ‚], 'osm_id': '238241022', 'place_id': '2611224231', 'osm_type': 'Weg', 'lon': '-77,036553192281'}

Antwort

1

einfach die dict navigieren:

>>> print(location.raw['address']['country']) 
United States of America 
>>> print(location.raw['address']['country_code']) 
us