Конвертер OSM -> MP

Новая версия конвертера

  • код почти целиком переписан
  • добавлено объединение дорог
  • изменён алгоритм порезки дорог

http://garminmapsearch.com/osm/osm2mp_v050.zip

Дороги объединяются, если: а) конец одной дороги является началом другой, б) у них одинаковое имя, тип и параметры роутинга
Видимо, придётся ещё добавить условие, чтобы угол между ними тупой был, а то сейчас dual carriageway в точке схождения объединяется

Нельзя сделать так, чтобы всё автоматом :slight_smile:
В таком случае, имея полностью соединенную линию, вручную делаем из нее так, чтобы было красиво.
Однозначно, так лучше, чем так как есть, а другого решения нет.

В принципе, имея линию, ее уже можно сделать полигоном, и если некрасиво получится - подправить руками.

дык можно и автоматом сделать, чтобы по береговой линии полигоны морей формировались…
но это можно сделать только вместе с обработкой границ карты
а я всё-таки хочу сначала эти [censored] запреты поворотов сделать, чтобы уж хотя бы роутинг полноценный был

Оу, йееее… ))))

Абсолютно правильно. :slight_smile:

и всё-таки не нравится мне этот вариант…
слишком он “уязвимый” для случайного редактирования
имхо, правильнее было бы просто указывать для дорог направление движения, к которому относится запрет. что-то типа dir_from=1 (направление движения совпадает с порядком нод), dir_to=-1

Добил-таки в общих чертах запреты поворотов :sunglasses:
Осталось только через разделение дорог их протащить, но пока проверять не на чем.
Но в любом случае, рисовать их уже можно :wink:
Описание схемы: http://wiki.openstreetmap.org/index.php/Relations/Turn_Restrictions

Кому интересно, вот тестовая карта: http://rapidshare.com/files/129625553/restr-test.rar

Надо будет попробовать :slight_smile:

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

Ещё попробовал скомпилить всю Россию одним куском.
Исходник: http://downloads.cloudmade.com/asia/russia
Результат: http://garminmapsearch.com/osm/mp/2008-07-16_000508_russia.rar

Новая версия конвертера: http://garminmapsearch.com/osm/osm2mp_v052.zip

  • настраиваемая склейка дорог
  • поддержка запретов поворотов (alpha!)
  • ну и по мелочи ещё…

собственно, склейка настраивается всего одним параметром: $mergecos :slight_smile:
дороги соединяются, если косинус угла поворота > $mergecos
то есть если $mergecos==-1, то клеятся все дороги, 0 - только те, у которых на стыке поворот <90 градусов, итд
надеюсь, понятно объяснил :slight_smile:

а про запреты я уже писал. пока не работают для дорог, которые надо разрезать

À ìîæíî åùå âåðñèþ äëÿ MapSource âûêëàäûâàòü? Òàê óäîáíåå ïðîâåðÿòü íàðèñîâàíîå :roll_eyes:

а смысл? её быстрее самому сваять :slight_smile:

берём gmaptool http://www.anpo.republika.pl/download.html
gmt -S gmapsupp.img
install.bat

Я тут совсем запарился на работе перед отпуском :wink:
Надо бы сгенерировать “обратный” индекс: для
каждого роутингового нода - лист из ways, которым он принадлежит.
Кстати, если NodeID и RoadID брать прямо из ОСМ, роутинговый cgpsmapper ругается ?

фик знает, я не пробовал. зависит от внутренних структур маппера.

обновилась карта всей России: http://garminmapsearch.com/osm/mp/2008-07-18_175749_russia.rar
в логе обнаружено ровно 15 запретов поворотов
из них 14 - мои, и один неправильный (в Тюмени) :wink:
напоминаю, что если дорога не односторонняя, то в точке запрета её нужно разрезать,
иначе невозможно определить направление движения

Вообще-то был бы идеальный вариант, .img все равно эти цифры внутри не хранит.

Поможет только автоматическая нарезка в редакторе, и “простой” редактор запретов/скоростей типа того, что у http://probki.net

Åùå ïðèøëîñü ïåðåèìåíîâàòü ïîëó÷èâøèéñÿ img-ôàéë â mapset00.
Ñïàñèáî, liosha :slight_smile:

а вот этого как раз делать было не надо
надо было в ту же папку бросить cgpsmapper.exe, чтобы install.bat скомпилировал обзорку
а так у тебя вместо обзорки используется основная карта, а основной как бы и нет :confused:

Àãà… Ïåðåäåëàë êàê íàäî :slight_smile:

Ýõ, óñïåëè îíè äåðíóòü íåìíîãî ðàíüøå, ÷åì ÿ èñïðàâèë…
 Òþìåíè òåïåðü 2 ïðàâèëüíûõ çàïðåòà, à âîò íåïðàâèëüíûé äî ñèõ ïîð êîíâåðòèòñÿ íåïðàâèëüíî. ß èñïîëüçóþ çàïðåò only_right_turn, êîíâåðòåð æå ïðè ýòîì çàïðåùàåò òîëüêî ïðàâûé ïîâîðîò.

Êàê-òî ó ìåíÿ ñòðàííî ðîóòèíã ðàáîòàåò. Íà íåêîòîðûõ ó÷àñòêàõ äîðîã îí âûòâîðÿåò î÷åíü ñòðàííûå âåùè:
Ïî ðàçâÿçêàì ïðåäëàãàåò åçäèòü íå ïî ïðÿìîé, à îáúåçæàòü ïî link’àì. Èíîãäà íå ëþáèò äëèííûå äîðîãè - ïðîñ÷èòûâàåò ìàðøðóò â îáúåçä. Ïðè ýòîì ñ ïðîìåæóòî÷íûìè òî÷êàìè ìàðøðóò ïðîëîæèòñÿ ãäå íàäî.
×òî åùå èíòåðåñíåå, ìàðøðóò Åêàòåðèíáóðã - Ïåðìü ñîçäàåòñÿ íîðìàëüíûé. À âîò åñëè ñ ñåðåäèíû ýòîãî ïóòè äî Ïåðìè ïîïðîáîâàòü ñäåëàòü ìàðøðóò, òî ïðåäëîæèò åõàòü â îáúåçä.