簡體   English   中英

Geopandas和Geopy的地址解析錯誤

[英]Geocoding error with geopandas and geopy

根據geopandas 文檔,我正在嘗試對字符串列表進行地理編碼,但出現錯誤。

我的環境

import geopandas as gdp
from geopandas.geocode import geocode
import geopy
import sys

print(sys.version)
print (gdp.__version__)
print (geopy.__version__)

3.4.3 |Anaconda 2.2.0 (x86_64)| (default, Mar  6 2015, 12:07:41) 
[GCC 4.2.1 (Apple Inc. build 5577)]
0.1.1
1.10.0

我在努力

geocode(['boston, ma', '1600 pennsylvania ave. washington, dc'])

我收到以下錯誤

AttributeError                            Traceback (most recent call last)
<ipython-input-77-d7e5e2fb2b1d> in <module>()
----> 1 geocode(['boston, ma', '1600 pennsylvania ave. washington, dc'])

/Users/tbmh1/anaconda/envs/devData34/lib/python3.4/site-packages/geopandas-0.1.1-py3.4.egg/geopandas/geocode.py in geocode(strings, provider, **kwargs)
     70               'bing': geopy.geocoders.Bing,
     71               'yahoo': Yahoo,
---> 72               'mapquest': geopy.geocoders.MapQuest,
     73               'openmapquest': geopy.geocoders.OpenMapQuest,
     74               'nominatim' : geopy.geocoders.Nominatim}

AttributeError: 'module' object has no attribute 'MapQuest'

當文檔說googlev3是默認提供程序時,我不知道為什么要嘗試執行MapQuest。 我在python 2.7中遇到相同的錯誤

是否使用 MapQuest無關緊要; 除非名稱存在,否則geopandas無法建立該詞典。 geopy在此提交中刪除了該編碼器:

由於其使用的API而被刪除的MapQuest地理編碼器現在僅對企業帳戶可用。 OpenMapQuest替代了源自名義上的數據。

同時,您可以通過將名稱綁定到其他名稱來解決該問題,因此字典至少可以運行:

>>> geopy.geocoders.MapQuest = None
>>> geocode(['boston, ma', '1600 pennsylvania ave. washington, dc'])
                                             address  \
0                                    Boston, MA, USA   
1  1600 Pennsylvania Avenue Southeast, Washington...   

                         geometry  
0  POINT (-71.0588801 42.3600825)  
1  POINT (-76.9816788 38.8786589)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM