Узнайте, если перекресток или 3-полосный перекресток - PullRequest
0 голосов
/ 30 октября 2019

Я пытаюсь выяснить тип перекрестка / перекрестка в эстакаде по заданным координатам (простой перекресток с 4 путями или перекресток с 3 путями, также известный как перекресток Y / T).

Требуетсяпосчитать идентификаторы пути, которые я получаю через json позже в программном коде (4 = простой перекресток, 3 = Y или T), используя следующий запрос: http://overpass -turbo.eu / s / NyD

[out:json][timeout:15];
way["highway"](around:1,48.7986003,11.3759673);
foreach ->.w {
  node(w.w);(way(bn);- .w;)->.wd;
  out body geom;
};

Проблема: работает только в том случае, если улица заканчивается на перекрестке / перекрестке или, по крайней мере, превращается в другой маршрутный идентификатор. В этом примере есть улица, которая тянется с севера на юг и восток. У восточного пути есть другой идентификатор, так что это не проблема. Но с севера на юг это только один путь (так что только один идентификатор). Результат: я считаю 3, но для этого типа перекрестка должно быть 4.

Как решить эту проблему или есть лучший способ определить тип перекрестка / перекрестка?

Большое спасибо!

1 Ответ

2 голосов
/ 30 октября 2019

Вы также должны взглянуть на узел узла .

Некоторые примеры:

Если узел является частью двух путей и ..

  • у этих путей есть другие узлы до и после этого идентификатора узла, тогда у вас есть 4-стороннее соединение.
  • только один путь имеет другие узлы до и после этого идентификатора узла, тогда у вас есть 3-стороннее соединение
  • , ни один из этих способов не имеет других узлов до и после этого идентификатора узла, тогда это не соединение. Вместо этого путь продолжается с другим идентификатором.

Если узел является частью n путей и является последним или первым узлом всех этих путей, тогда у вас n-way-junction.

Будет еще несколько случаев, упомянутых выше. Возьмите лист бумаги, нарисуйте на нем несколько путей и их узлов, чтобы лучше визуализировать данные.

Я не уверен, что этот простой подход будет работать для всех случаев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...