到目前为止,这是我的代码,我正在使用 flickrapi 获取经纬度的图像,然后使用 flickr 中的 overpass api 来查找有关该位置节点的信息。
import flickrapi
import overpy
api_key = "xxxxxxxxxxxxxxxxxxx"
secret_api_key = "xxxxxxxx"
flickr = flickrapi.FlickrAPI(api_key, secret_api_key)
def obtainImages():
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]:
id = str(photo.attrib['id'])
url = str(photo.attrib['url_s'])
title = (photo.attrib['title']).encode('utf-8')
photo_location = flickr.photos_geo_getLocation(photo_id=photo.attrib['id'])
lat = float(photo_location[0][0].attrib['latitude'])
lon = float(photo_location[0][0].attrib['longitude'])
max_lat = lat + 0.25
min_lat = lat - 0.25
max_lon = lon + 0.25
min_lon = lon - 0.25
print lat
print min_lat
api = overpy.Overpass()
query = "node(%s, %s, %s, %s);out;" % ( min_lat, min_lon, max_lat, max_lon )
result = api.query(query)
print query
print len(result.nodes)
obtainImages()
flickr api 方面运行良好,如果我尝试打印任何变量,它都可以正常工作。打印时 min_lat 和 min_lon 也都有效。
但是,尽管没有错误,但我的查询没有返回任何结果。Lat 和 min_lat 打印一次且仅一次,然后程序继续运行,但不执行任何其他操作,并且不打印任何其他内容
有没有人对为什么会这样提出任何建议?任何帮助将不胜感激,因为我是新手!