[Статья] Пешеходная навигация - Делаем карту для пешеходов

Не совсем так. Навигатор - это не только рендерер, но и измерительный прибор со своими погрешностями. И я за то, что не нужно рисовать параллельные дорожки, которые чисто технически невозможно различить (достаточно посмотреть на ширину пучка треков вдоль хорошо “обкатанных” дорог).
Навигатору, который определил свое местоположение на тротуаре, в такой ситуации нужно либо лукавить, считая, что он все-таки на проезжей части, либо честно считать, что он на тротуаре (например, груз подвез к подъезду) и, следовательно, вести маршрут по тротуару.
Кстати, верно и обратное - пешеходный навигатор, определивший местоположение на проезжей части, вовсе не обязан привязывать себя к проходящему рядом тротуару.
Потому я и призываю рисовать только те тротуары, которые находятся за пределами основного пучка треков - хотя бы до тех пор, когда точность “бытового” навигатора не вырастет до метра в условиях города :slight_smile:

То, что навигатор привязывает себя к дороге или тротуару – совершенно не повод не рисовать тротуары. Навигатор в идеале должен понимать, где он находится (в зависимости от режима), либо спрашивать. Разнесённость дорог – тоже не показатель. Дороги могут быть разнесены на 10 метров, а навигатор ошибаться на 30. Рисовать надо всё, что есть. Если не лень, конечно :slight_smile:

Это уже будет карта для сферического коня в вакууме :slight_smile:

В идеале надо запретить пешеходам (foot=no) движение по дорогам, рядом с которыми нарисованы тротуары… Тогда может качество роутинга выйдет на ещё более высокий уровень.

Здравствуйте все уважаемые пользователи … Помагите пожалуйста сделать карту для пешехода все сделал по инструкции запускаю скрпит для конвертации и у меня вылазиет окно cmd на несколько секунд и все. на этом конвертация заканчиваеться объясните мне нормально как запустить osm2mp.pl со следующими параметрами:
osm2mp.pl –norestrictions --nooneway --navitel voronezh.osm > foot.mp я не могу врубиться как его вообще запустить можно инструкцию сделать более детально. буду всем очень благодарен.

Попробуйте запустить так: perl osm2mp.pl –norestrictions --nooneway --navitel voronezh.osm > foot.mp
Загляните сюда, и более подробная инструкция будет не нужна.

ничего не получаеться вылазиет окошко perl.exe потом что я делаю беру скрипт закидываю в окошко. получаеться путь и сам скрипт дальше в вожу команду –norestrictions --nooneway --navitel voronezh.osm > foot.mp и ничего не происходит пишет Backslash found where operator expected at- line 1 , near " MapNav" вот что происходит.

блин вчера до пяти утра сидел все перепробовал и статью на вики читал как пользоваться osm2mp.pl ну не фига не могу я догнать почему не конвертирует

Max234, попробуйте создать файл makemap.bat, впишите в него
perl osm2mp.pl –norestrictions --nooneway --navitel voronezh.osm > foot.mp
и попробуйте.

А ещё лучше:
впишите вторую строчку, чтобы получилось:

osm2mp.pl --norestrictions --nooneway --navitel voronezh.osm > foot.mp
cmd

Тогда командное окошко останется открытым и выувидите, что сообщает вам программа, по какой ошибке не проходит. И напишите результат сюда.
PS: у вас перед norestrictions какой-то длинный минус стоит, вместо двойного короткого. И последние ли версии osm2mp, perl+модули вы используете?

Спасибо dimuzz, Calibrator ,сделал как вы сказали все получилось все хорошо, блин парни благодарен вам… спасибо большое парни.

А я не уверен, в том, что пешеход может двигаться по односторонним дорогам во все стороны. Взять, например, московский зоопарк:
http://www.openstreetmap.org/?lat=55.76152&lon=37.578513&zoom=18&layers=B000FTF
У него вход и выход расположены в разных местах. И я бы рисовал их односторонними пешеходными дорожками. Аналогично есть туристические маршруты, по которым ходят в одном направлении. В принципе, там можно идти против движения (и то не всегда), но и вы будете всем мешать, и вам будет неудобно идти против потока. Есть переходы в метро (я видел отрисованные), где движение строго одностороннее.
И еще надо учитывать то, что улицу перейти можно не везде (хотя тут еще более сложный вопрос, откду программе знать, на какой вы стороне улицы?). На практике это относится к оживленным улицам, но я считаю, что навигатор принципиально должен вести человека к ближайшему переходу (перекрестку, отрезку дороги, на котором разрешен переход правилами дорожного движения). Если человек хочет нарушать ПДД и рисковать своей и чужими жизнями - пусть переходит где попало, но программа таких посказок делать не должна.

JОдностороннее движение пешеходов — oneway:foot=?
http://wiki.openstreetmap.org/wiki/Key:access
Для пешеходной маршрутизации просто необходимо иметь понятие стороны дороги (однако такого маршрутизатора я ещё не видел).

Я имел в виду, что точность gps не позволяет толком определять сторону дороги, если только она не по 5 полос в каждую сторону. И надо будет извращаться на тему того, откуда вышел человек, а возможно еще и вести его по двум маршрутам, когда не понятно, с какой стороны он находится.

нет уж, в московском зоопарке можно двигаться в обе стороны. Туристический маршрут != тропинка, по которой он проходит.

Я писал про вход и выход. На выход вертушки стоят, через них только в одну сторону ходить можно. На входе вас завернут на выход. И туристические маршруты бывают разные, есть и такие, что как сказали, так и идем.

А, я не понял про вход-выход. Согласен.

односторонность входа-выхода - это свойство ворот, а не дорог :slight_smile:

верно

и про туристические маршруты. разве нужен навигатор, чтобы идти в одну, заранее предопределенную сторону?

А как на счет переходов метро? Я видел примеры отрисовки платформ и переходов на станциях метро. Я думаю, что бывают и другие места, где приходится разделять пассажиропотоки.

И да и нет. Когда выйдешь на тропу, уже нет. А если проектируешь маршрут? У меня давно есть любопытная идея поиграться с различными метриками. Может я хочу, чтобы мне навигатор составил маршрут такой, чтобы:

  • Он проходил по красивым улицам (надо вводить теги или систему голосования, указывающую на красоту улиц)
  • Чтобы в 14 часов я оказался у музея (мне не надо раньше, мне надо к 14, пусть делает маршрут длинее, я гулять буду)
  • Чтобы обойти 5 конкретных памятников (ну и что, что это задача коммивояжера, за день я более 5ти значимых объектов не обойду, а при таком количестве узлов с этой задачей компьютер справится, проблоема будет при 10 и более)

И тогда почему бы навигатору не проложить маршрут через экскурсионный маршрут (учитывая различные точки входа и выхода), причем желательно привести меня к началу экскурсии, чтобы я там не стоял и не ждал ее. Утопия?