我正试图将加拿大的邮编转换成lat,长坐标,无论如何geopy将它们返回为无或在另一个国家的某个地方。
postal_code = "A1B 2C3" #<-- in this format
location = geolocator.geocode(postal_code)
print(location.latitude, location.longitude)
输出AttributeError: 'NoneType' object has no attribute 'latitude'
或某些随机地址
发布于 2019-10-21 20:47:41
我认为这里的问题要么是您用于geopy的API不支持CA邮政编码,要么是您没有将'CA‘设置为country选项。因此,当地理代码无法从输入中检索信息时,它将不返回任何信息。
为了实现同样的目标,我更喜欢使用pgeocode库。
import pgeocode
nomi = pgeocode.Nominatim('ca')
postal_code = "A1B C14"
location = nomi.query_postal_code(postal_code)
print(location.latitude, location.longitude)
47.5698 -52.7796
发布于 2020-08-14 20:41:36
我只是有一个非常类似的问题,并尝试了谢南的回答。我认为很重要的一点是,这个代码只返回来自邮政编码第一部分的信息。在本例中,来自问题的作者("A1B 2C3")和答案的("A1B C14")的两个示例返回完全相同的纬度和经度值,如果只使用"A1B“,则工作原理完全相同。
如果我错了,请纠正我,但这是我得到的结果。
这是我在加拿大邮政编码中看到每个字符的含义的地方:https://en.wikipedia.org/wiki/Postal_codes_in_Canada
https://stackoverflow.com/questions/58493570
复制相似问题