Получить координаты узлов, используя идентификаторы OSM

83
10

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

спросил(а) 2019-03-15T13:11:00+03:00 1 год, 8 месяцев назад
1
Решение
109

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

pip3 install osmapi

тогда, например, id=1989098258 узла 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

ответил(а) 2019-03-15T19:18:00+03:00 1 год, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема