Карты OSM для Garmin (osm2mp+cgpsmapper)

Дуракоустойчивость низкая у всех схем адресации. Тут только автоматическая обработка спасёт…

меня ранее испугало в схеме с релейшенами не это.
сейчас по судя по Id всего на карте около 70 тыр релейшенов
если добавть например РБ+области+районы+наспункты+улицы минска получится ещё тысяч 40
не говоря уже о том что по этой схеме надо создать отдельный релейшен для каждого здания

Кто-нибудь задумывался “как это будет по-русски”?
Я вижу примерно так:

a1 Регион: Москва (7700000000000)
a2 Район: Москва (7700000000000)
a3 Город: Зеленоград город (7700000200000)
a4 Населенный пункт: Алабушево поселок (7700000200700)
a5 Район: Не используется (нет доступного источника информации по России)
a6 Улица: Колхозная (77000002007151200)
sts Статусная часть улицы: улица
hno Номер дома, числовая часть: 5
hns Номер дома, буквенная часть: к2

А что в этом страшного?

Один из недостаткой данной схемы - это то, что потребуется многопроходность (скорее всего хватит двух проходов). Но это же вылезет для почти всех других схем адресации. BTW, тут можно “сжульничать” примерно так, как это делает TeX: писать в конце прохода уточненную информацию в файл, а при очередном прогоне предзагружать ее оттуда - тогда программе не понадобится разного поведения при разных проходах, можно будет использовать несколько устаревшую информацию от предыдущего конвертирования… плюс (что может оказаться иногда очень полезно - можно разделять эту информацию между фрагментами карты, если она делается из нескольких кусков).
Кстати можно и модифицировать эту идею - вместо (а скорее в дополнение к) релейшина использовать физический объект (area, way, node) более высокого уровня.
Так не понадобится плодить миллионов отношений (да еще и взаимозависимых) и появится привязка к физическому объекту (и к координатам).

Добрался таки твой робот до Самары :slight_smile:

Дуракоустройчивость тем выше, чем проще метод или инструмент. Не зря же АК (Автомат Калашникова) по миру разбежался…
Автоматизировать то можно, но только как автоматизируешь определение номеров домов на карте? :slight_smile: Перед этим придется использовать какую то промежуточную схему нумерации, которую потом после робота куда-нибудь девать…

После последней оптимизации он по всей России с учетом полной перепроверки всех улиц за полтора часа пробегает :smiley:
Кста, Самару еще рисовать и рисовать - смотри на osm.tesoro-shop.ru список ненайденых (несопоставленых) улиц.

Вот эта очень нравится Associated_street: http://wiki.openstreetmap.org/wiki/Key:addr:street#Case:Relations.28easy_for_computers.2C_difficult_for_humans.29
Можно для уровня домов ее и оставить как рабочую.
Только вместо ссылки на way я бы довал ссылку на collection, т.к. улица состоит из многих кусочков.

Вот только какое отношение это имеет к Гармину?
Где адресация - это атрибуты улицы (дорожного графа)? :frowning:

Сверять с КЛАДР наверное самый быстрый и правильный путь. KekcuHa публиковал diff на днях.

ИМХО вложенные рилейшны создают собственную реляционную БД поверх уже
существующей, при том что у нее самой и при более простой структуре много проблем.
Так скоро без валидатора и многопроходного анализа вообще будет ничего не
поправить…

Рисовать то конечно надо, но с уличной сетью у меня все в должно быть норме. Я как раз спросить хотел - почемуто робот не схватил большинство улиц… По какому критерию они сличаются?

По соответствию названия и статусной части записям в КЛАДРе

Вот, к примеру, было:

name = Чекистов
created_by = Potlatch 0.5d
highway = secondary

стало:

name = Чекистов
cladr:name = Чекистов
created_by = Potlatch 0.5d
cladr:code = 63000001000055400
highway = secondary
cladr:suffix = Улица

А, к примеру,

name = Цеховая
created_by = JOSM
highway = residential

не прошла…
?

господа может тему адресации в отдельную ветку? а то нафлудили тут…

Вроде бы добил поиск по улицам до вменяемого состояния.
Заодно исправил баг, из-за которого мапсорс выдавал ошибку при загрузке карт в прибор.

Теперь для определения принадлежности улицы городу нужен замкнутый полигон с тегами place=city/town и name (или place_name). Дороги внутри полигонов считаются улицами этого города, дороги вне - не индексируются.

Пока так :slight_smile:

liosha, о поддержке релейшенов не думал? объединять границу даже обл.центров в один полигон… не говоря уж о более крупных городах. бррр. мы потиху переводим на релейшены такого вида - http://www.openstreetmap.org/browse/relation/59195

поддержку релейшенов добавить несложно.

но с ними проблема в том, что их целостность не поддерживается.
соответственно, запросто может получиться, что часть веев будут отсутствовать.
так что я в этом случае за полигоны :slight_smile:

Обновил скрипты сборки карт. Основные изменения:

  • включил ежедневную сборку карт стран (днём). дамп России с http://osm.tesoro-shop.ru/
  • карты стран теперь выкладываются отдельными архивами в MP и в IMG
  • изменены территории для сборок городов (сообщите, если где-то отрезал лишнее)
  • добавил в список все города-миллионники

Увидел у вас Армению в транслите. А можно Беларусь выкладывать и в транслите?

liosha, отличные новости! Спасибо!