geopy NoneType对象没有属性'纬度'

时间:2018-01-12 00:34:01

标签: python pandas geopy

我正在学习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'

为什么会这样?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,出现错误〜“ NoneType对象没有属性“纬度””的原因是因为 geolocator()没有返回任何位置,结果变量“ location”为无

 location = geolocator.geocode("5301 Joyce Street Vancouver") # returns None therefore, 
 location = None

原因:发生这种情况是因为geolocator()库中可能没有所需的位置。 解决方案:我们无法解决此问题,因为地理定位器的地址不是“ 5301 Joyce Street Vancouver”