да нет, соединить-то линии в одну не проблема
а вот как из линии полигон сделать?
скорее всего, вопрос можно будет решить только вместе с обрезкой карты по границе
Тестирую свежую версию…
Украина: http://4pda.ru/forum/attach/1785612/ukraine_osm_080706.rar
Белоруссия: http://4pda.ru/forum/attach/1785575/belarus_osm_080706.mp.rar
Кстати, кто-то залил всю Белоруссию. Возможно, из какого-то около-руссовского источника…
Loading nodes... 1230213 loaded, 23438 POIs dumped
Loading relations... 1 multipolygons
Loading holes... 10 loaded
Loading roads... 49960 loaded, 30973 lines and 16961 polygons dumped
Joining roads... 15597 joined
Detecting road nodes... 73669 found
Splitting roads... 234 self-intersections, 7 long roads
Fixing close nodes... 46 pairs fixed
Writing roads... 34604 written
All done!!
По-моему это не очень хорошая идея - заливать данные автоматически без тщательного тестирования.
Кто залил - легко установить:
http://www.openstreetmap.org/user/wildMan/diary
Теперь в Белоруссии дороги имеют какую-то странную нумерацию, например
~[0x02]Р107
~[0x02] - это гарминовский/навителовский спецсимвол, чтобы номер дороги в квадратике рисовался
Я делаю либо вручную мапедитом, а вообще имею запасной вариант в виде конфига для мп2мп, который использую в первую очередь для нормального прописывания адресов и возможности присваивания типа объекту исходя из наличия нескольких атрибутов (например, разделения объектов религии на мусульманские и православные ).
Так вот там сделать из полилинии полигон - одна строчка.
alexfrol,
когда имеется замкнутая полилиния - берег озера - нивапрос, действительно одна строчка
когда это берег острова - уже сложнее, но тоже можно.
а что делать, когда это просто линия, утыкающаяся в края карты?
Новая версия конвертера
- код почти целиком переписан
- добавлено объединение дорог
- изменён алгоритм порезки дорог
http://garminmapsearch.com/osm/osm2mp_v050.zip
Дороги объединяются, если: а) конец одной дороги является началом другой, б) у них одинаковое имя, тип и параметры роутинга
Видимо, придётся ещё добавить условие, чтобы угол между ними тупой был, а то сейчас dual carriageway в точке схождения объединяется
Нельзя сделать так, чтобы всё автоматом
В таком случае, имея полностью соединенную линию, вручную делаем из нее так, чтобы было красиво.
Однозначно, так лучше, чем так как есть, а другого решения нет.
В принципе, имея линию, ее уже можно сделать полигоном, и если некрасиво получится - подправить руками.
дык можно и автоматом сделать, чтобы по береговой линии полигоны морей формировались…
но это можно сделать только вместе с обработкой границ карты
а я всё-таки хочу сначала эти [censored] запреты поворотов сделать, чтобы уж хотя бы роутинг полноценный был
Оу, йееее… ))))
Абсолютно правильно.
и всё-таки не нравится мне этот вариант…
слишком он “уязвимый” для случайного редактирования
имхо, правильнее было бы просто указывать для дорог направление движения, к которому относится запрет. что-то типа dir_from=1 (направление движения совпадает с порядком нод), dir_to=-1
Добил-таки в общих чертах запреты поворотов
Осталось только через разделение дорог их протащить, но пока проверять не на чем.
Но в любом случае, рисовать их уже можно
Описание схемы: http://wiki.openstreetmap.org/index.php/Relations/Turn_Restrictions
Кому интересно, вот тестовая карта: http://rapidshare.com/files/129625553/restr-test.rar
Надо будет попробовать
Поменял ежедневный скрипт. Теперь отключена компиляция фришным маппером, а гарминовская карта сразу собирается в 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
дороги соединяются, если косинус угла поворота > $mergecos
то есть если $mergecos==-1, то клеятся все дороги, 0 - только те, у которых на стыке поворот <90 градусов, итд
надеюсь, понятно объяснил
а про запреты я уже писал. пока не работают для дорог, которые надо разрезать
À ìîæíî åùå âåðñèþ äëÿ MapSource âûêëàäûâàòü? Òàê óäîáíåå ïðîâåðÿòü íàðèñîâàíîå
а смысл? её быстрее самому сваять
берём gmaptool http://www.anpo.republika.pl/download.html
gmt -S gmapsupp.img
install.bat
Я тут совсем запарился на работе перед отпуском
Надо бы сгенерировать “обратный” индекс: для
каждого роутингового нода - лист из ways, которым он принадлежит.
Кстати, если NodeID и RoadID брать прямо из ОСМ, роутинговый cgpsmapper ругается ?
фик знает, я не пробовал. зависит от внутренних структур маппера.
обновилась карта всей России: http://garminmapsearch.com/osm/mp/2008-07-18_175749_russia.rar
в логе обнаружено ровно 15 запретов поворотов
из них 14 - мои, и один неправильный (в Тюмени)
напоминаю, что если дорога не односторонняя, то в точке запрета её нужно разрезать,
иначе невозможно определить направление движения