我正在学习geopy,并且无法理解它在返回地址或经度/纬度值时所接受的参数类型。
我有一个带有地址信息的熊猫系列我试图得到每个地址的纬度/经度。当geopy返回NoneType错误时,我认为它与地址中的公寓/单元号有关。我解析了这些,并且geopy代码适用于像
这样的东西from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.geocode("5301 Joyce Street Vancouver")
print((location.latitude, location.longitude))
但不是:
from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.geocode("1926 4th Avenue West Vancouver")
print((location.latitude, location.longitude))
返回:
AttributeError Traceback (most recent call last)
<ipython-input-13-055d7e63348a> in <module>()
2 geolocator = Nominatim()
3 location = geolocator.geocode("1926 4th Avenue West Vancouver")
----> 4 print((location.latitude, location.longitude))
AttributeError: 'NoneType' object has no attribute 'latitude'
为什么会这样?
答案 0 :(得分:0)
我遇到了同样的问题,出现错误〜“ NoneType对象没有属性“纬度””的原因是因为 geolocator()没有返回任何位置,结果变量“ location”为无
location = geolocator.geocode("5301 Joyce Street Vancouver") # returns None therefore,
location = None
原因:发生这种情况是因为geolocator()库中可能没有所需的位置。 解决方案:我们无法解决此问题,因为地理定位器的地址不是“ 5301 Joyce Street Vancouver” 。