Да, пожалуй, только граф будут засорять.
Если брать нероутинговые, то они только на большом зуме будут видны
Да, пожалуй, только граф будут засорять.
Если брать нероутинговые, то они только на большом зуме будут видны
Переписал скрипт заново, почти с нуля: то, что было раньше, уже невозможно было развивать.
По функционалу пока такой же, что и был.
Сейчас пытаюсь сделать соединение порезанных кусков дороги в одну.
Отсюда вопрос: по каким правилам эти самые куски соединять? Идеи будут?
Опции командной строки типа id, name, charset, output_format (.osm, .mp, .mif/.mid) бы не помешали.
Число примыкающих сегментов для удаляемого нода =2 и полное совпадение отсортированного листа tag=value
(created_by нужно наверное игнорировать)
не совсем так, имхо
совпадение нужно только по “значимым” для результата тегам
например, дорога по мосту в гармине не выделяется, а в осм она при этом разбивается на три участка
вот их бы тоже надо объединять
для москвы:
...
Loading roads... 9747 loaded
Joining roads... 1770 joined
Согласен. Тогда надо только добавить функцию трансформирующую тэги из “оригинального ОСМ” набора
в набор “результата”, который может быть и “оригинальным ОСМ”. И потом смотреть совпадение тэгов “результата” (hash/category).
That output looks really promising
Дороги-то, хек бы с ними. А вот береговые линии очень надо! А то морей на картах нет, тока на отрендеренных.
Не сложно будет такое сделать?
пока над береговыми линиями сильно не задумывался
но с ходу красивого решения не вижу
Ну можно концевые узлы каждого из вхождений с нужным тегом проверять на равенство концевым узлам уже просмотренных нужных, хранящимся во временном буфере (?). При совпадении - дописываем к найденной.
Как-то так… А может и низя… Я особо-то не силен…
да нет, соединить-то линии в одну не проблема
а вот как из линии полигон сделать?
скорее всего, вопрос можно будет решить только вместе с обрезкой карты по границе
Тестирую свежую версию…
Украина: 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] запреты поворотов сделать, чтобы уж хотя бы роутинг полноценный был
Оу, йееее… ))))