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

ничего не получаеться вылазиет окошко 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 и более)

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

Alexey Guseynov не в обиду сказано, это просто уже глобольные выводы. нужно тогда от навигаторов требовать чтоб они умели и кофе варить и в доме убираться… имхо мое мнение.

Алексей Гусейнов, очень красивая фантазия :slight_smile:
Не знаю, на сколько утопия, но подал красиво.

В качестве навигатора у меня n900, на борту вполне себе полноценный линукс. Вот инструкция:
http://www.faqs.org/docs/Linux-mini/Coffee.html
Так что да, мой навигатор, потенциально, умеет варить кофе.

Ну фишка в том, что чисто технически все это более чем реально. Я вполне представляю себе, как это написать. Очень большой объем кода можно понадергать из существующих проектов. Со сбором информации есть проблемы, но и они в принципе решабельны. Но вот времени на воплощение этой идеи надо много, у меня столько нет.
Кстати, если иметь такой маршрутизатор, ничто не мешает ему подгружать геотегированные статьи из википедии и изображать экскурсовода.
А если еще описания маршрутов (а для походов, у нас, между прочим, составление отчета является обязательным условием официальной регистрации похода) привязать к отрезкам пути, можно из таких кусков составлять описание предполагаемого маршрута. Как идти, где остановиться, где какие достопримечательности, их история.
Да три четверти этой информации уже есть в сети, и к большей части есть даже удобный программные интерфейсы для доступа.
Однако, это пока только фантазия, которая, наверное, когда-нибудь появится, но, я думаю, в удобном собранном виде еще не скоро.

Не, ну почему? Это вполне решаемые алгоритмические задачи маршрутизации, причём имеющие практический смысл. К примеру, очень похожие задачи — доставка товаров: чтобы оптимально проложить маршрут, нужно учитывать и расположение всех точек, и необходимое время прибытия, и места дозаправки, дозагрузки.
Вопрос исключительно в том, каким образом будет достигнут результат (сделает это какой-нибудь гармин, или радиолюбитель на коленке, или…)

Не совсем так. Задача доставки товаров - это задача коммивояджера в чистом виде. Это NPC задача, уже при 12-14 пунктах, которые надо объехать с ней перестанет справляться суперкомпьютер. Не доказано, что нельзя её решить быстро, но пирожок лакомый, а пока никто не смог его съесть.
В туристическом варианте можно уйти от таких емких задач и она, по моим оценкам, становится решаемой. Возможно это не уровень производительность КПК или карманного навигатора (хотя сейчас начали появлятся очень мощные ARM камни). Но на персоналке это просчитать можно. Вот только с коммерческой точки зрения эта штука не очень привлекательная ибо надо либо собирать огромные объемы информации (что сложно), либо использовать нормальные открытые источники (OSM, wikipedia и т.п.), но тогда основной сервис должен быть свободно доступным. Да еще турфирмы на такие сервисы могут обидиться, мол люди не в них идут.
Это я к тому, что отдельно взятая компания скорее всего не окупит разработку такой системы. Вот страна, значительная часть бюджета которой составляет туризм, могла бы.
Поэтому я и говорю, что технологическая база существует уже сейчас. Но когда появится подобный сервис, который бы мог использовать нормальный непросвященный пользователь, я не знаю.

Если искать не абсолютно оптимальный способ, а какой-либо из квазиоптимальных, то можно и быстрее, чем NP решить. К тому же не в чистом виде, например, если надо проехать и точки забора товара и точки доставки, то далеко не любой порядок проезда будет правильным.