Python - угадать долготу и широту на основе динамических c адресов - PullRequest
1 голос
/ 29 апреля 2020

Я написал программу, которая использует 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))

Как я могу заставить мою программу по-прежнему находить эти адреса долготы и широты там, где адрес не полный?

Любое руководство очень ценится!

1 Ответ

0 голосов
/ 29 апреля 2020

Видимо, вы не первый, кто задает вопрос - есть API: https://developer.here.com/documentation/geocoder-autocomplete/dev_guide/topics/example-location-id.html

...