def get_place(name, lat, long):
geolocator = Nominatim(user_agent='rir7m')
# for index, row in norm_df.iterrows():
coord = "{}, {}".format(lat, long)
location = geolocator.reverse(coord)
try:
addr_location = geolocator.geocode(location.address)
return addr_location.raw[name]
except Exception as e:
print(location.raw)
print(e)
#location.raw['class']
norm_df['TypePlace'] = norm_df.apply(lambda x: get_place('type', x['Широта'], x['Долгота']), axis=1)
Детский мир, 9, Петербургская улица, Старо-Татарская слобода, Вахитовский район, городской округ Казань, Татарстан, Приволжский федеральный округ, 420107, Россия
{'place_id': 106787876, 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0.
https://osm.org/copyright', 'osm_type': 'way', 'osm_id': 79073538, 'lat': '55.7852654', 'lon': '49.12655876972477', 'display_name': 'Детский мир, 9, Петербургская улица, Старо-Татарская слобода, Вахитовский район, городской округ Казань, Татарстан, Приволжский федеральный округ, 420107, Россия', 'address': {'shop': 'Детский мир', 'house_number': '9', 'road': 'Петербургская улица', 'suburb': 'Старо-Татарская слобода', 'city_district': 'Вахитовский район', 'city': 'городской округ Казань', 'state': 'Татарстан', 'region': 'Приволжский федеральный округ', 'postcode': '420107', 'country': 'Россия', 'country_code': 'ru'}, 'boundingbox': ['55.7848491', '55.7858024', '49.1257845', '49.1271768']}
Error:
'NoneType' object has no attribute 'raw'
Я хотел бы получать по широте и долготе type, class и importance участка для создания новых признаков.