Получить координаты узлов, используя идентификаторы OSM - PullRequest
0 голосов
/ 15 марта 2019

Я новичок в OSM API, я хочу получить координаты, используя идентификатор OSM. В этом вопросе здесь я не понял, как создать граф G, поскольку я новичок. Я использую Python, чтобы получить ответ от OSM API. например, когда мы получаем доступ к этой ссылке с правильным идентификатором: https://api.openstreetmap.org/api/0.6/node/1989098258,, мы получаем ответ xml, содержащий все, что мы хотим! Не могли бы вы дать мне хороший пример того, как использовать API узла, пожалуйста?

1 Ответ

0 голосов
/ 15 марта 2019

Я нашел, как получить информацию о данном узле OSM.Сначала установите пакет osmapi, используя pip3:

pip3 install osmapi

, затем, например, узел id=1989098258, который мы делаем

import osmapi as osm
api = osm.OsmApi() # this instantiate the OsmApi class,
# it has many function, we will use NodeGet function.
# For more detail about it check the doc
# http://osmapi.metaodi.ch/#osmapi.OsmApi.OsmApi.NodeGet
node = api.NodeGet(1989098258)
node # will return a dict object

объект node возвращает:

{'id': 1989098258,
 'visible': True,
 'version': 2,
 'changeset': 16442326,
 'timestamp': datetime.datetime(2013, 6, 6, 10, 11, 58),
 'user': 'wambacher',
 'uid': 201359,
 'lat': 24.3655948,
 'lon': 88.6279164,
 'tag': {}}

затем, чтобы получить долготу и широту узла, выполните:

node["lon"] # get longitude
node["lat"] # get latitude
...