User:Zkir/Так вот ты какое, недоступное ребро!
В этой статье рассказывается о наиболее часто встречающихся проблемах, которые находит валидатор рутинга на основе данных OsRM, и о том, как их починить.
Типичные случаи
1. Простой изолят
Наиболее типичный и самый простой случай. Кусок дороги, в данном случае служебного проезда, не соединен ни с чем (валидатор в силу своих особенностей нам показывает небольшой отрезок вея, от точки до точки - показано стрелкой).
Как починить: соединить с остальными дорогами, нарисовав недостающие дороги -- глядя на бинг и треки, разумеется. В данном случае можно верхний конец соединить со Снежной улицей, а снизу нарисовать проезд через стоянку (стоянки сами по себе не рутинговые), тегами highway=service+service=parking_aisle.
2. Сложный изолят
Чуть посложнее. Вей дороги соединен с другими дорогами, но эти дороги образуют группу, оставшуюся в изоляции.
Как починить: Нарисовать недостающие дороги.
3. Аrea, Area
Дороги соединяются с внешним миром через полигональную площадку highway=* + area=yes. В большинстве рутинговых программ, и OSRM не исключение, полигональные площадки (highway=* + area=yes) - нерутинговые.
Как починить:: нарисовать линейный проезд через площадку подходящим тегом highway (в данном случае highway=service), а теги area=yes + highway=<тип_дороги> на площадке заменить на тег area:highway=<тип_дороги>
4. Потлач!
Внешне все хорошо, но если приглядеться, то обнаружится, что дороги не соединены по общим точкам. В месте, показанном стрелкой, отсутствует общая вершина. Увидеть это на тайлах мапника невозможно, только в редакторе, в данном случае в JOSM.
Как починить: Соединить дороги, при помощи клавиши "M" (Меню-->Инструменты-->Объединить точки) в JOSM.
5. Бездороги?
highway=service или residential висит на highway=track. Поскольку highway=track - это грунтовка, не предназначенная обычного гражданского автомобиля (а не для сельскохозяйственной или вездеходной техники).
Как починить: Привести статусы дорог в соответствии с Соглашением о классификации дорог, отмечая грунтовые дороги, предназначенные для сквозного движения тегами highway=unclassified+surface=unpaved.
6. Односторонняя дорога в никуда
Односторонняя дорога в никуда. Заехать на такую дорогу можно, а выехать уже нет. Обычно так не бывает.
Как починить: Привести oneway=yes в соответствие с действительностью.
7. Въезд по пропускам
Проезд находится на закрытой территории (промзоне, офисном центре). При этом соседи данного вея справедливо помечены как частные (access=private). Частные проезды на мапнике хорошо различимы по серому пунктиру.
Как починить: Добавить access=private
8. Паром
Рутинговый паром route=ferry + ferry=trunk..unclassified соединен с остальными дорогами через причал (man_made=peir). Причалы сами по себе не рутинговые, поэтому паромный маршрут оказался в изоляции.
Как починить: Добавить соответствующий highway=trunk..unclassified на причал. И не забыть посмотреть что делается на второй стороне парома.
Ложный вызов?
Конечно, могут быть и ложные, или спорные срабатывания. Самый типовой случай - валидатор показывает место, которое уже починили. :)
Посмотрим какие еще бывают случаи.
8. Едем за покупками
Односторонняя дорога упирается в здание или выходит из него. Обычно это торговый центр, внутри которого, на одном из этажей находится парковка. В XXI веке на автомобилях ездят и внутри зданий.
Как починить: Большой проблемой для рутинга этот случай не является. Если очень хочется, можно нарисовать схему движения внутри здания. Но следует помнить, что вопрос, надо ли рисовать "проезды" внутри зданий именно тегом hw=service, остается открытым.
9. Подстава!
Односторонняя дорога заканчивается шлагбаумом или воротами, за которыми начинается частная территория или платная стоянка. В данном примере проезд по парковке имеет тег access=private.
Как починить: Никак, оставить как есть. Это вполне жизненная ситуация. Ходят анекдоты, что сторожа на таких парковках берут деньги за проезд с несчастных, кто завернул туда случайно.