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

А может тогда для улицы писать просто город? А потом уже из тэга place=* обозначающего соответствующий город распускать цепочку дальше. ?

тоже вариант. так даже лучше

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

Можно сохранить границы городов и использовать их при поиске.
Например надо найти улицу Советскую.
Обычной поиск выдает сотни улиц Советских.
Затем по коодинатам центра улицы определяем, к какому городу относится данная Советская улица.

Пользователю выдется набор Советских улиц с привязкой к соответствующему городу

taxiway=residential ?
У меня препроцессор ругается на отсутствие нодов :frowning:

aeroway         taxiway                 l       0x06

на надо же его какой-то линией прорисовать…

Тогда я бы добавил и ноды для единообразия.

а ноды-то там зачем??
можно, в принципе, какой-нть другой линией прорисовывать, только какой?

Да, пожалуй, только граф будут засорять.

Если брать нероутинговые, то они только на большом зуме будут видны :frowning:

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

Отсюда вопрос: по каким правилам эти самые куски соединять? Идеи будут? :slight_smile:

Опции командной строки типа 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 :smiley:

ещё один вариант запретов поворотов
http://wiki.openstreetmap.org/index.php/Relation:xrestriction

Я согласен с
http://lists.openstreetmap.org/pipermail/talk/2008-June/027669.html

Дороги-то, хек бы с ними. А вот береговые линии очень надо! А то морей на картах нет, тока на отрендеренных.
Не сложно будет такое сделать?

пока над береговыми линиями сильно не задумывался
но с ходу красивого решения не вижу

Ну можно концевые узлы каждого из вхождений с нужным тегом проверять на равенство концевым узлам уже просмотренных нужных, хранящимся во временном буфере (?). При совпадении - дописываем к найденной.
Как-то так… А может и низя… Я особо-то не силен… :frowning:

да нет, соединить-то линии в одну не проблема
а вот как из линии полигон сделать?
скорее всего, вопрос можно будет решить только вместе с обрезкой карты по границе

Тестирую свежую версию…

Украина: 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