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

Многоугольник можно самим создать. В крайнем случае взять прямоугольник.

Да делов то. Подгрузил нужную область, Edit-Search-highway, лишние улицы исключил, добавил тэг is_in.
По крайней мере для самары я расставлю. Только может сначала договоримся, что туда писать?

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

Неужели для Москвы не найти какой-нибудь границы (пусть даже примерной) ?

вопрос-то как раз не о Москве :slight_smile:
я пытаюсь поуниверсальнее сделать, чтобы по произвольному Osm-файлу получить вменяемый Mp

Да, надо бы. Я могу добавить в СПб (и кое-где в области) полную административную цепочку - все границы
известны - мун. образование, район, город, субъект федерации, страна.

для навигаторов обычно используется цепочка Город → Регион → Страна
так что хотелось бы иметь возможность вычленять её для любого случая

а сам тег is_in - это обычно несколько слов, разделённых запятыми
так что можно предположить:
одно слово - город (регион и страна берутся по умолчанию)
два слова - (город, регион) или (город, страна)?
три слова - всё понятно
больше трёх - берём только три последних

Давай. Потому как я еще столько информации не сразу наберу, а у тебя под рукой. А пример (читай стандарт) нужен…

А может тогда для улицы писать просто город? А потом уже из тэга 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