Я написал программу, которая использует geopy, чтобы найти длинный и длинный адрес. Это работает в 50% случаев, но, кажется, работает только тогда, когда адрес идеален.
например, адрес «Недумпана», «Коллам», «Керала», «Индия» дает длинный и лат, но адрес «Манакала», «Патанамтитта», «Керала», «Индия» не будет вернуть результат. Очевидно, это связано с тем, что адрес не был полностью заполнен, но если я введу этот адрес в Google, адрес будет автоматически заполнен, чтобы найти правильную долготу и широту.
Мой код указан ниже:
import pyodbc
from geopy.geocoders import Nominatim
cursor = 'SQL Query'
locator = Nominatim(user_agent='myGeocoder')
for row in cursor:
if cursor is None:
break
else:
address = list(i for i in row if i)
location = locator.geocode(','.join(filter(None,address[1:4])))
if location:
print(str(address) + '\n Latitude = {}, Longitude = {}'.format(location.latitude, location.longitude))
else:
print('Could not find coordinates for ' + str(address))
Как я могу заставить мою программу по-прежнему находить эти адреса долготы и широты там, где адрес не полный?
Любое руководство очень ценится!