【问题标题】:geopy NoneType object has no attribute 'latitude'geopy NoneType 对象没有属性“纬度”
【发布时间】:2018-06-21 10:11:11
【问题描述】:

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

为什么会这样?

【问题讨论】:

  • location 是None,表示找不到位置。为什么找不到,我不能肯定。我会将其报告为错误。
  • @eh2699 你解决了这个问题吗?

标签: python pandas geopy


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 2021-11-02
    • 2014-07-05
    相关资源
    最近更新 更多