Попробуйте вот эту сборку пешеходной конфигурации: http://code.google.com/p/osm2navitel/downloads/detail?name=osm2navitel.pedestrian.7z&can=2&q=
Приоритеты и скорости дорог в ней полностью убраны, так что НН должен вести по действительно кратчайшему пути.
Ключи --nooneway и --transport=pedestrian добавлены непосредственно в navitel.yml, в командной строке указывать их не нужно.
Запускать как-то так:
Прикольный баг, вернее, наложение двух багов НН.
Во-первых, если у здания явно не отмечены точки подъезда, НН пытается привести не к геометрическому центру здания, а к его первой по порядку точке, т.е. к http://www.openstreetmap.org/browse/node/459461748
Во-вторых, НН пытается привести маршрут не к ближайшей точке дороги, входящей в роутинговый граф, а к ближайшей точке вообще любой ближайшей дороги. В данном случае это http://www.openstreetmap.org/browse/way/97537649
Т.е., если существует footway, расположенный ближе к первой по порядку точке здания, чем любой другой highway, маршрут не проложится.
Лечение - либо вообще убирать footway при конвертации (как сейчас убраны sidewalk’и), либо делать их роутинговыми. Какой из вариантов хуже - черт его знает, оба плохи…
/// Лечение - либо вообще убирать footway при конвертации (как сейчас убраны sidewalk’и), либо делать их роутинговыми. Какой из вариантов хуже - черт его знает, оба плохи…
убирать footway’и из конвертации и задумываться над тем, чтобы делать отдельные карты для пешеходов, как уже обсуждалось
имхо, только так
бага проявляется уже не в первый раз, хотя я редко кладу маршруты (в основном, езжу по памяти)
и очень неприятно останавливать машину и искать такой вариант, чтобы маршрут прокладывался корректно
Вы были правы, ошибок много. Ошибки связанные с " несовмещенными и дублирующимися" узлами удалось устранить, а вот с подобными ошибками “Сегмент дороги содержащий только одну различимую вершину (55.791985, 37.587662).
(тип дороги 0x16, надпись '', вершины сегмента №8 - №9)” не знаю как бороться. Подскажете?
Похоже, это дорога из двух точек слилась в одну. Частично решается удалением дубликатов объектов.
Можно попробовать решить проблему другим путем - увеличить битность уровней.
В файле output-polish.yml есть строка
levels = [ 24, 22, 20, 18, 16, 15 ]; -%]
Попробуйте поменять числа на что-нибудь типа “26, 24, 22, 20, 18, 16”. Точность координат увеличится до 0.6 метра, поэтому многие ошибки уйдут. Правда, минимальный зум карты уменьшится вдвое, но на пешеходной карте это, наверное, не так страшно.
Имхо, это хуже. Ошибка останется в базе. И со временем их количество, возможно, перерастет в качество. Либо это вовсе не ошибка (типа парковки в Реутове) и коллапсировать их нельзя. Лучше уж “руками”. Имхо)