Python-根据动态地址猜测经度和纬度

Python-根据动态地址猜测经度和纬度,python,python-3.x,geopy,Python,Python 3.x,Geopy,我已经编写了一个程序,使用geopy查找地址的长和宽。这在50%的情况下有效,但似乎只有在地址完美时才有效 e、 g.地址“Nedumpana”、“Kollam”、“Kerala”、“India”给出了一个长而宽的字符,但地址“Manakala”、“Pathanamthitta”、“Kerala”、“India”不会返回结果。很明显,这是由于地址没有完全填写,但如果我在谷歌中输入这个地址,那么地址将自动填写以找到正确的经度和纬度 我的代码如下: import pyodbc from geopy

我已经编写了一个程序,使用geopy查找地址的长和宽。这在50%的情况下有效,但似乎只有在地址完美时才有效

e、 g.地址“Nedumpana”、“Kollam”、“Kerala”、“India”给出了一个长而宽的字符,但地址“Manakala”、“Pathanamthitta”、“Kerala”、“India”不会返回结果。很明显,这是由于地址没有完全填写,但如果我在谷歌中输入这个地址,那么地址将自动填写以找到正确的经度和纬度

我的代码如下:

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))

我如何使我的程序仍然能够在地址不完整的地方找到这些经纬度地址


非常感谢您的指导

显然,你不是第一个问这个问题的人-有一个API:

显然,你不是第一个问这个问题的人-有一个API:

提名可能不是这类任务的最佳选择。我建议看看其他的地理编码器,比如光子,谷歌,或者这里。提名可能不是完成这类任务的最佳选择。我建议看看其他的地理编码器,比如光子,谷歌,或者这里。