我在用Geopy我得到代码的以下错误。
我使用的代码与https://code.google.com/p/geopy/wiki/ReverseGeocoding
from geopy import geocoders
g = geocoders.GeoNames()
(place, point) = g.geocode("Palo Alto, CA 94306")
print place
>> "Palo Alto, US 94306"
print point
>> (37.418008999999998, -122.127375)
(new_place,new_point) = g.reverse(point)
print new_place
>> 3998 Ventura Ct, Palo Alto, US 94306
print new_point
>> (37.417850000000001, -122.12793000000001)
工作正常,直到打印点。错误发生在
g.reverse(point)
Traceback (most recent call last):
File "<interactive input>", line 1, in <module>
File "C:\Python27\lib\site-packages\geopy\geocoders\base.py", line 9, in reverse
raise NotImplementedError
NotImplementedError
有什么建议吗?
最佳答案
geopy 0.97提供反向地理编码您可以从https://github.com/geopy/geopy下载并安装geopy的新版本,或者克隆git存储库。
git clone https://github.com/geopy/geopy.git
cd geopy
sudo python setup.py install
如果您想下载并安装Windows,可以从https://github.com/geopy/geopy/archive/release-0.97.zip
解压并
cd geopy-release-0.97
python setup.py install
要将查询地理定位到地址和坐标,请执行以下操作:
>>> from geopy.geocoders import GoogleV3
>>> geolocator = GoogleV3()
>>> address, (latitude, longitude) = geolocator.geocode("175 5th Avenue NYC")
>>> print(address, latitude, longitude)
175 5th Avenue, New York, NY 10010, USA 40.7410262 -73.9897806
要查找与一组坐标相对应的地址:
>>> from geopy.geocoders import GoogleV3
>>> geolocator = GoogleV3()
>>> address, (latitude, longitude) = geolocator.reverse("40.752067, -73.977578")
>>> print(address, latitude, longitude)
77 East 42nd Street, New York, NY 10017, USA 40.7520802 -73.9775683
--