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

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

Да, кстати, одно замечание по картам от пользователей не-windows: было бы удобно, если бы файлы карт в архивах именовались в нижнем регистре, особенно расширения. Иначе приходится каждый раз переименовывать *.IMG в *.img, а это несколько нетривиальная операция в общем случае.

как-то так:

ls -l *.IMG |awk ‘{ print $9 }’ |awk -F. ‘{ if ($1 != “” ) print "mv " $1 ".IMG " $1 “.img”; }’

а с линуксовой версией gmaptool-а такие же проблемы?

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

А вроде нет linux версии gmaptool’а.

http://anpo.republika.pl/download.html вторая ссылка

Да еще вопрос по поводу воды - все что отрисовано тегом coastline отображается просто синей линией без заполнения, выглядит это странно,
а в некоторых случаях (Кронштадт ) и вовсе невесело. Можно ли с этим что-то сделать?

вода пока в процессе.
сейчас обрабатываются только полностью замкнутые водоёмы

С Финским заливом более менее понятно. Но странно, что Ладога тоже без заполнения.

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

Сейчас попробовал - да, с линуксовой версией таже проблема.
И, похоже, что это не зависит от кодировки - одинаковая ошибка что с CP1251, что с UTF8.

Подскажите поддерживает ли OSM конвертированный в garmin поиск по адресу не для POI, а для строения: Например на карте отрисован дом (полигон) с лейблом 65/б без улицы. Хочу указал улицу, дом, город оно нашло его на карте. Возможно такое в OSM и как это сохранить при конвертации в Garmin.

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

т.е. в гарминах каждый дом/строение не хранится в виде Poi. И если я например хочу указать что мне надо приехать в город T на улицу S к дому D он не сможет найти это строение на карте и нарисовать к нему путь? Так получается?

Что в гармине нет поиска по адресу, только по адресу Poi?

в гарминах на картах есть поиск:

  • адресов: страна - регион - город - улица - дом. домом тут считается не полигон, а отрезок улицы, ближайший к дому. поиск только по номеру, без корпусов
  • городов - по названию населённого пункта
  • пересечений улиц по названиям
  • Poi по категориям, ищет ближайшие к текущему положению

т.е. гармин хранит инфу о связи страна - регион - город - улица - дом. Выбрав страну он отображает регионы этой страны или все которые есть на карте, затем выбрав регион он отображает города - только выбранного региона или все города которые есть на карте. Меня интересует больше вопрос по гарминовскому формату, можно ли из него вытянуть адрес. Не могу понять, как ищется адрес. Есть улица и дом. Улица состоит из нескольких ломанных, но эта же улица может быть и в другом городе. В принципе из всего набора ломанных зная указанный город можно найти толко те ломааные которые относятся к заданному городу (предпологаю это делается по полигону который отрисовывает границу населенного пункта). Но как затем из нескольких ломанных определить ту которая относится к дому (отрисованному полигоном с лейблом 5-ть - например) не могу понять. Указали например Ленина 5. Выбрали все ломанные для Ленина, но дома 5-ть (полигона) может и не быть на Ленина, А на рядом стоящей улице есть дом 5. т.е. выберет непонятно какую часть улицы? Можно описать как связаны адреса в гарминовском формате. Спеку смотрел - ничего не понял. Задача по адресу город улица номер дома найти дом можно ломанную (часть улицы) на которой этот дом находится, если нет такого дома сказать что на этой улице его нет.

про запреты поворотов - сейчас в Wiki встречается два варианта через relation:turn_restriction (from-at-to) и через Relation:restriction (from-via-to)

вопрос - какой из этих вариантов обрабатывается конвертором ?

ни разу с таким не сталкивался.
обрабатывается from-via-to

http://wiki.openstreetmap.org/wiki/Talk:%D0%92%D0%B8%D0%BA%D0%B8%D0%9F%D1%80%D0%BE%D0%B5%D0%BA%D1%82_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D1%8F#.D0.97.D0.B0.D0.BF.D1.80.D0.B5.D1.82.D1.8B_.D0.BF.D0.BE.D0.B2.D0.BE.D1.80.D0.BE.D1.82.D0.BE.D0.B2

тогда надо будет в wiki поправить

запись в “трёпе” полуторагодичной давности - не авторитет :slight_smile:
формат запретов описан тут:
http://wiki.openstreetmap.org/wiki/Relation:restriction