以下代码来自 python 包 geopy ( https://geopy.readthedocs.org/en/1.10.0/ ):
from geopy.geocoders import Nominatim
geolocator = Nominatim()
location = geolocator.reverse("52.509669, 13.376294")
print(location.address)
>>>Potsdamer Platz, Mitte, Berlin, 10117, Deutschland, European Union
它以 lat 和 lon 作为输入并返回地址。但是在我的代码中,我使用 flikcr API 收到了图像的纬度和经度,如下所示
photo_list = flickr.photos.search(api_key=api_key, accuracy = 15, has_geo=1, per_page = 100, extras = 'tags, url_s')
然后我想做以下事情:
for photo in photo_list[0]:
photo_location = flickr.photos_geo_getLocation(photo_id=photo.attrib['id'])
lat = photo_location[0][0].attrib['latitude']
lon = photo_location[0][0].attrib['longitude']
geolocator = Nominatim()
location = geolocator.reverse(lat, lon)
print(location.address)
>>>Potsdamer Platz, Mitte, Berlin, 10117, Deutschland, European Union
纬度和经度得到了很好的。如果我每次都尝试完美打印它们。此外,我已经在程序顶部导入了 geopy 和所有相关内容。但是我收到错误:
ValueError:必须是坐标对或点。
我是 Python 新手,所以我非常感谢任何帮助!我怎样才能每次都能成功输入纬度和经度。