Посмотрев несколько примеров пересечения дорог я заметил, что когда дороги пересекаются они разделяют общие точки ( node ). И немного поэкспериментировав я заметил что можно нарисовать две дороги так, что они пересекаются и общих точек в описание они не имеют.
Вопрос: справедливо ли что когда две дороги пересекаются то они разделяют общие точки? Это как то контролируется или на совести редактирующего?
Если они не имеют общей точки - подразумевается, что они идут на разных уровнях и не пересекаются. Для обозначения уровней используют тег layer. В противном случае - это считается ошибкой.
На совести. Некоторые валидаторы показывают это как ошибку.
В целом, это же может быть не ошибка - например идет дорога, а поперек ее мост.
Если нет пересечения, значит автор знает, что рисует - пересечения нет.
эм… ну как я понял OSM оперирует несколькими примитивами node, way, area, relation…
как я понял way состоит из node’ов которые последовательно расположены… вот… вопрос про эти самые node… то есть если дороги пересекаются в каждой из них есть один общий node
видимо я не очень понятно выражаюсь… могу еще раз попробывать, если не понятно
Справедливости ради, есть в OSM много мест где пересечение есть в реале, но общей точки нет и дороги на одном уровне, используется на сложных развязках, для корректной маршрутизации, то что называется “рисовать” под навигатор.
Все верно, но есть “виртуальные” направления (дороги) именно для проезда перекрестка, и при пересечении двух (бывает трех-пяти) этих направлений движения, смысла в общей точке нет, к знакам и запретам эти пересечения не имеют отношения.
Опять же ИМХО - надо вместо этих костылей с “виртуальными” рёбрами развивать описательные механизмы для маршрутизации на перекрёстках. Например через доп. типы отношений… А за рёбрами оставить физические проезжие части дорог… Ну и в конвертерах уже генерить из них что конкретной программе нужно…
В варианте с рестрикшенами есть большой минус. Для их поддержки необходимо бить дорогу на кусочки и вместо одной длинной дороги появляется нн-ое кол-во раздельных кусочков. А чем больше кусочков, тем тяжелее поддерживать их в желаемом состоянии.
P.S. В Челнах 90% перекрестков отрисовано без пересечений. Если бы можно было бы не бить дорогу, я может и поставил бы точки и запреты на повороты.
На заметку - JOSM 3208 нормально поддерживает разделение дороги, являющейся членом отношения “ограничение маневра”: участок дороги, не имеющий после разделения общих точек с другими членами отношения, из него убирается.
Если бы они еще хоть кем-то поддерживались… По уму туда надо перенести вообще все теги (включая highway, oneway, lanes, maxspeed, …), а на кусочках устанавливать только отличающиеся значения (типа снижение разрешенной скорости до 40 или расширение дороги до 4 полос).
Либо прямо, либо направо. Направо сделано с помощью линков как, например, здесь… Пока ни в одной программе проблем с роутингом не наблюдалось.