You are not logged in.

Announcement

*** NOTICE: forum.openstreetmap.org is being retired. Please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators.
Please create new topics on the new site at community.openstreetmap.org. We expect the migration of data will take a few weeks, you can follow its progress here.***

#26 2009-11-09 09:41:53

Ilis
Member
From: Екатеринбург
Registered: 2009-05-24
Posts: 5,970

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

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

Offline

#27 2010-02-16 07:55:44

Max234
Member
Registered: 2010-02-16
Posts: 5

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

Ntkiller wrote:

Выложил готовые poi.cfg и poly.cfg на GoogleCode. Скоро сделаю статью в вики.

ТРЕТЬЯ ВЕРСИЯ

Многие сталкивались с проблемой выбора навигационной программы - идеального продукта нет. А для пешехода тем более... Поэтому я решил найти универсальный метод применимый почти для любой программы. И этот метод был найден. Метод применим для любых программ где мы можем создать свою карту(Navitel, Rusa...)

Проблема пешеходной навигации заключается в том, что навигационные программы строят маршрут по правилам. Включение режима пешехода (где он есть) ситуации не меняет(Исключение Garmin). Большинство программ разрешает пешеходу идти по дороге, но только в направлении движения данной дороги. Т.е. если дорога односторонняя, то и пешеход может идти только в одну сторону. Но если для машины это правильно, то для пешехода нет понятия "встречная".
Пример. Есть дорога, через нее проходит пешеходный переход, нам надо ее перейти. По логике нам надо подойти к пешеходному переходу и перейти дорогу. Но у большинства программ другая логика - если начать маршрут против движения, то навигационная программа проложит маршрут по движению, т.е. сделает крюк до ближайшего разворота...
Если бы включение режима пешехода разрешало движение по встречной, то проблемы пешеходной навигации не было бы.

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

Но тут появляется другая проблема - где взять карту? Если для автомобильной навигации все понятно - новые дороги появляются редко, да и проехать можно не везде, то для пешехода нужна карта с обозначением максимального количества тропинок/пешеходных дорожек/обходных путей, также эта карта должна быть всегда в актуальном состоянии – тропинки появляются и исчезают. В качестве такой карты я использую OpenStreetMap.

OpenStreetMap - карта, которую можно менять самому, можно сказать википедия в мире карт. Т.е. данные карты актуальны, а если вы найдете что-то новое или ошибку, то можете добавить/исправить карту. Отличный выбор для пешеходной навигации.

OSM-файлы с отдельными регионами можно брать здесь:
http://gis-lab.info/projects/osm-export.html (3-й столбец(osm xml))
Данные обновляются ежедневно. Т.е. если вы вечером внесли изменения в карту, то утром уже будет файл с вашими изменениями.

Для преобразования карты в польский формат(mp) есть скрипт на перле osm2mp.pl написанный liosha. Также есть его исполняемая версия(exe), но на момент написания статьи была только старая версия. При использовании exe пропустите раздел Установка ActivePerl

Про установку ActivePerl написано здесь http://wiki.openstreetmap.org/wiki/RU:Osm2mp
Установка ActivePerl:
Если вы собираетесь использовать Perl-версию программы, то необходимо установить ActivePerl
1. Скачиваем и устанавливаем ActivePerl - http://activestate.com/Products/activeperl/index.mhtml
2. Дальше требуется установить некоторые модули, для этого запускаете Perl Package Manager
3. Жмете Ctrl+1
4. Дальше нам нужны следующие пакеты: Template-toolkit, Getopt-Long, Text-Unidecode, List-MoreUtils, Math-Polygon, Math-Geometry-Planar-GPC-Polygon. Часть из них уже установлена. Выбираете пакеты из списка, кликаете правой кнопкой мыши по пакету и смотрите - если есть пункт начинающийся на "Install", то выбираете его.
5. После того как отметите все необходимые пакеты, нажмите Ctrl+Enter (или File->Run Marked Actions)
6. Нажмите yes если появится вопрос об установке пакетов.
7. Закройте Perl Package Manager
8. Зайдите в командную строку и введите perl -MCPAN -e "install Math::Polygon::Tree"
9. Дальше начнется долгий процесс установки модуля Math-Polygon-Tree, дождитесь окончания
10. Perl и все необходимые библиотеки установлены.

Рассмотрим изготовление карты Воронежской области для программы Навител(применимо и для других программ с некоторыми изменениями(частично описаны ниже)):

Если вы используете perl-версию, то сначала установите ActivePerl – описание выше.

I) Создание MP-карты (польский формат)

1) Создаем папку в корне диска, называем ее MapNav (Название может быть любое, но без русских букв. В нашем случае D:\MapNav)
2) Скачиваем Нужную область (voronezh.osm.bz2)
2) Распаковываем любым архиватором, получаем файл с областью (voronezh.osm)
3) Кладем файл в папку из п.1 (D:\MapNav)
4) загружаем osm2mp.pl (http://osm2mp.googlecode.com/svn/trunk/osm2mp/osm2mp.pl) и кладем в туже папку
5) загружаем header.tpl (http://osm2mp.googlecode.com/svn/trunk/ … header.tpl) и кладем в туже папку
6) Далее берем poi.cfg для навитела (http://osm2foot.googlecode.com/files/poi.cfg) и кладем в туже папку
8) Далее берем poly.cfg для навитела (http://osm2foot.googlecode.com/files/poly.cfg) и кладем в туже папку
9) Теперь запускаем osm2mp.pl со следующими параметрами:
osm2mp.pl –norestrictions --nooneway  --navitel voronezh.osm > foot.mp
В данном случае voronezh.osm - osm-файл области, а foot.mp - имя файла для генерируемой карты.
10) Теперь у нас есть карта в польском формате для Навитела.

ОТЛИЧИЯ ДЛЯ ДРУГИХ ПРОГРАММ:
1) В пункте 9 не нужен параметр --navitel
Запуск osm2mp.pl --norestrictions –nooneway voronezh.osm > foot.mp
2) Требуются другие Файлы poly.cfg и poi.cfg
Для Гармин можно взять тут:
http://osm2mp.googlecode.com/svn/trunk/osm2mp/poi.cfg
http://osm2mp.googlecode.com/svn/trunk/osm2mp/poly.cfg


II) Изготовление карты из MP

Далее берем конвертор для вашей навигационной программы, в случае Навитела это GPSMapEdit.

1) Скачиваем GPSMapEdit (http://geopainting.com/ru/)
2) Открываем в нем нашу карту foot.mp
3) Делаем экспорт карты в формат Navitel 3.2.6 (File->Export->Navitel 3.2.6)
4) Теперь у нас есть пешеходная карта для Навител 3.2.6


III) Загружаем карту в навигатор и можно использовать.


Это третья  версия статьи, в дальнейшем она будет поправлена и дополнена. Автором статьи являюсь я(Ntkiller). При копировании статьи ссылка на автора обязательна. Если есть какие-либо вопросы/предложения - пишите, постараюсь ответить.


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

Offline

#28 2010-02-16 08:08:37

chilin
Member
Registered: 2009-07-30
Posts: 180

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

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

Offline

#29 2010-02-16 08:23:16

Max234
Member
Registered: 2010-02-16
Posts: 5

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

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

Offline

#30 2010-02-16 08:28:45

Max234
Member
Registered: 2010-02-16
Posts: 5

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

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

Offline

#31 2010-02-16 10:05:19

dimuzz
Member
From: Екатеринбург
Registered: 2009-09-10
Posts: 1,843

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

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

Offline

#32 2010-02-16 10:18:44

Calibrator
Member
From: Интернет
Registered: 2009-08-19
Posts: 893

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

dimuzz wrote:

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+модули вы используете?

Last edited by Calibrator (2010-02-16 10:26:05)

Offline

#33 2010-02-16 12:25:49

Max234
Member
Registered: 2010-02-16
Posts: 5

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

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

Last edited by Max234 (2010-02-16 12:27:16)

Offline

#34 2010-02-16 14:10:49

Alexey Guseynov
Member
Registered: 2009-12-23
Posts: 205

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

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

Offline

#35 2010-02-16 14:49:09

Vovanium
Member
Registered: 2009-07-23
Posts: 1,094

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

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


Мне KekcuHa обещал подарить навигатор. Как жаль, у меня уже есть.

Offline

#36 2010-02-16 15:00:27

Alexey Guseynov
Member
Registered: 2009-12-23
Posts: 205

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

Для пешеходной маршрутизации просто необходимо иметь понятие стороны дороги (однако такого маршрутизатора я ещё не видел).

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

Offline

#37 2010-02-16 15:10:42

shadowjack
Member
Registered: 2008-05-05
Posts: 439

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

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

Offline

#38 2010-02-16 15:29:55

Alexey Guseynov
Member
Registered: 2009-12-23
Posts: 205

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

shadowjack wrote:

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

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

Offline

#39 2010-02-16 15:46:01

shadowjack
Member
Registered: 2008-05-05
Posts: 439

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

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

Offline

#40 2010-02-16 17:01:11

liosha
Member
From: Moscow
Registered: 2008-03-04
Posts: 8,447
Website

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

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

Offline

#41 2010-02-16 17:56:11

dedNikifor
Member
From: Белгород
Registered: 2009-09-11
Posts: 3,419

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

liosha wrote:

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

верно

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

Offline

#42 2010-02-16 18:19:23

Alexey Guseynov
Member
Registered: 2009-12-23
Posts: 205

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

liosha wrote:

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

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

dedNikifor wrote:

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

И да и нет. Когда выйдешь на тропу, уже нет. А если проектируешь маршрут? У меня давно есть любопытная идея поиграться с различными метриками. Может я хочу, чтобы мне навигатор составил маршрут такой, чтобы:
- Он проходил по красивым улицам (надо вводить теги или систему голосования, указывающую на красоту улиц)
- Чтобы в 14 часов я оказался у музея (мне не надо раньше, мне надо к 14, пусть делает маршрут длинее, я гулять буду)
- Чтобы обойти 5 конкретных памятников (ну и что, что это задача коммивояжера, за день я более 5ти значимых объектов не обойду, а при таком количестве узлов с этой задачей компьютер справится, проблоема будет при 10 и более)

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

Offline

#43 2010-02-16 19:13:12

Max234
Member
Registered: 2010-02-16
Posts: 5

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

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

Offline

#44 2010-02-16 20:23:12

coolkaas
Member
From: RU, Penza
Registered: 2009-05-28
Posts: 2,391

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

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

Offline

#45 2010-02-16 21:03:12

Alexey Guseynov
Member
Registered: 2009-12-23
Posts: 205

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

Max234 wrote:

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

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

coolkaas wrote:

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

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

Offline

#46 2010-02-16 21:08:48

Vovanium
Member
Registered: 2009-07-23
Posts: 1,094

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

coolkaas wrote:

утопия

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

Last edited by Vovanium (2010-02-16 21:10:20)


Мне KekcuHa обещал подарить навигатор. Как жаль, у меня уже есть.

Offline

#47 2010-02-16 21:23:39

Alexey Guseynov
Member
Registered: 2009-12-23
Posts: 205

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

Vovanium wrote:
coolkaas wrote:

утопия

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

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

Offline

#48 2010-02-16 22:48:44

Vovanium
Member
Registered: 2009-07-23
Posts: 1,094

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

Alexey Guseynov wrote:
Vovanium wrote:
coolkaas wrote:

утопия

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

Не совсем так. Задача доставки товаров - это задача коммивояджера в чистом виде. Это NPC задача, уже при 12-14 пунктах, которые надо объехать с ней перестанет справляться суперкомпьютер. Не доказано, что нельзя её решить быстро, но пирожок лакомый, а пока никто не смог его съесть.

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


Мне KekcuHa обещал подарить навигатор. Как жаль, у меня уже есть.

Offline

#49 2010-02-16 22:50:18

Alexey Guseynov
Member
Registered: 2009-12-23
Posts: 205

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

Vovanium wrote:

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

Полностью согласен.

Offline

#50 2010-06-05 08:28:06

alexiy2010
Member
Registered: 2010-06-05
Posts: 4

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

Добрый день! Помогите пожалуйста новичку, переконвертить ОSM в польский формат для навителела. Сделал все по инструкции. Выдает  ошибку и все. Где чего подправить?

C:\MapNav>osm2mp.pl --norestrictions --nooneway  --navitel chel.osm  1>foot.mp

  ---|   OSM -> MP converter  0.90.-1   (c) 2008-2010  liosha, xliosha@gmail.com


Loading configuration...  YAML Error: Couldn't open garmin.yml for input:\n
   Code: YAML_LOAD_ERR_FILE_INPUT
at C:\MapNav\osm2mp.pl line 267

C:\MapNav>cmd
Microsoft Windows [Version 6.1.7600]
(c) Корпорация Майкрософт (Microsoft Corp.), 2009. Все права защищены.

C:\MapNav>
C:\MapNav>
C:\MapNav>

Offline

Board footer

Powered by FluxBB