Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在python中从osmapi调用打印节点信息_Python_Openstreetmap - Fatal编程技术网

在python中从osmapi调用打印节点信息

在python中从osmapi调用打印节点信息,python,openstreetmap,Python,Openstreetmap,这是我到目前为止的代码,我想使用从flickr图像中获得的详细信息,并查找地理位置是否连接到节点。然后我想使用osmapi获取节点信息 import flickrapi import osmapi import overpy import geopy from geopy.geocoders import Nominatim import requests api_key = "xxxxxxxxxxxxxxxxxxxxx" secret_api_key = "xxxxxxx" flickr =

这是我到目前为止的代码,我想使用从flickr图像中获得的详细信息,并查找地理位置是否连接到节点。然后我想使用osmapi获取节点信息

import flickrapi
import osmapi
import overpy
import geopy
from geopy.geocoders import Nominatim
import requests

api_key = "xxxxxxxxxxxxxxxxxxxxx"
secret_api_key = "xxxxxxx"
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'])
        tags = (photo.attrib['tags']).encode('utf-8')
        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'])

        geolocator = Nominatim()
        location = geolocator.reverse("{}, {}".format(lat, lon))
        #print(location.raw)
        dict = location.raw
        osmid = dict.get('osm_id', 'default_value_if_null_here')
        osmtype = dict.get('osm_type', 'default_value_if_null_here')
        #print osmid
        #print osmtype

        if(osmtype == 'node'):
            node_info = requests.get("http://api.openstreetmap.org/api/0.6/node/"+ osmid)
            print node_info

obtainImages()
然而,当我运行此命令时,我获得了以下信息

<Response [200]>
<Response [200]>
<Response [200]>
................
................
<Response [200]>

................
................
然而,我希望得到的结果如下:

< node id =" 592637238 " lat =" 47.1675211 " lon =" 9.5089882 "
       version ="2" changeset =" 6628391 "
       user =" phinret " uid =" 135921 "
       timestamp =" 2010 -12 -11 T19:20:16Z " >
   < tag k=" amenity " v=" bar " / >
   < tag k=" name " v=" Black Pearl " / >



任何人都可以帮助打印出这些信息,特别是获取标记变量。在我注释了打印语句的任何地方,变量都可以正常工作


提前感谢您的帮助,我非常感谢,因为我是python新手

您需要内容,
node\u info
只是响应对象,您需要调用.content或.text来查看返回的内容:


print node\u info.content

当我使用“print node\u info.content()”运行它时,出现了以下错误:“TypeError:“str”对象不可调用”,而当我使用“print node\u info.text()”运行时,出现了错误:“TypeError:“unicode”对象不可调用”。您是否有任何建议来修复此问题,或者这是否意味着其他地方存在错误。谢谢你的帮助help@RyanKilkellym是的,对不起,我错加了帕伦斯。编辑将起作用