Я хочу запросить Overpass Api, чтобы узнать расстояние специальных связей (железных дорог). Запрос в порядке, и возвращает мне все relation
, way
и node
объектов Я заинтересован в примере Гамбурга:.Сцепление железнодорожных путей
[out:json];(rel(53.55224324163863, 10.006766589408304, 53.55314275836137, 10.008081410591696)["route"="train"];>;);out body;
В Путепроводе, каждый relation
объекта имеет элементы, определяющие это отношение. Для объектов way
вы можете разрешить lat/lon своих атрибутов node
и рассчитать расстояние для этого пути. Если вы суммируете все расстояния, это кажется разумным.
Однако, есть члены из этого relation
типа node
(большая часть времени, они имеют role
«стоп»), которые, кажется, представляют правильный порядок остановки от этого relation
. Но вместо того, чтобы быть в между членами, они примерно в конце. Если я попытаюсь взглянуть на стопы внутри пути, они не все присутствуют. Как я должен рассчитать расстояние между двумя отдельными остановками?
если способы не упорядочены, будет очень сложно перебирать их. Как я должен найти первого участника для начала итерации? –
Первый (или последний) способ - тот, чей первый (или последний) узел не используется другим способом. Также обратите внимание, что последовательные пути могут иметь разные направления, т. Е. Последний узел пути может быть либо первым, либо * последним узлом последующего пути. Если у вас возникли проблемы с пониманием модели данных, вы можете взглянуть на данные карты напрямую с помощью одного из [редакторов] (https://wiki.openstreetmap.org/wiki/Editors#Top_three_editors). – scai
мои последние попытки показывают, что вы не правы, узнав первого участника. Я трачу как 3 часа на отладку своего кода, только чтобы узнать, что иногда есть недостающие ссылки, а это значит, что нет соответствующего начального или конечного узла более чем одним способом ... –