python geopy 获取城市和国家

python geopy get city and country

我正在尝试使用 geopy 获取城市和国家名称。

通常这是使用 geopy 获取城市和国家/地区的方式。

from geopy.geocoders import Nominatim

geolocator = Nominatim(timeout=3)
geolocator.reverse('52.5094982,13.3765983')
loc = location.raw
loc_dict = location.raw
print(loc_dict['address'])
and this is the output:

{'suburb': 'Tiergarten', 'country_code': 'de', 'country': 'Deutschland', 'postcode': '10117', 'attraction': 'Potsdamer Platz', 'road': 'Potsdamer Platz', 'city': 'Berlin', 'city_district': 'Mitte', 'state': 'Berlin'}

我的问题是 geopy returns 城市和国家名称用他们的国家语言,例如:

city: Berlin, country: Deutschland
city: København, country: Danmark
city: București, country: România

我想要他们这样:

city: Berlin, country: Germany
city: Copenhagen, country: Denmark
city: Bucharest, country: Romania

是否可以按我的要求提供英文版本?或者以某种方式转换它们?我正在使用世界上所有国家和城市。

reverse() 函数中添加语言应该可以解决您的问题:

geolocator.reverse(location, language='en')