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

подозреваю, что тут ничего не поделаешь.
на официальных картах такие перекрёстки ищутся?

Да в Калифорнии ищет - я посмотрел, там все просто - кольцо приписано к одной из улиц, поэтому и ищется.

Правда думаю если будет пересечение трех и более улиц через кольцо - такой номер уже не пройдет.

Да, гмаптул последней версии, а мапсорс закрыт.

Я запускал это под эмуляцией (Linux, wine).
Оказалось, что с gmaptool это не пройдет (с gpsmapper проходило).
Запустил в родной Винде - все получилось.
И еще gmaptool не любит UTF8 кодировку (карта была скомпилирована из UTF8 в польском формате в гарминовский img).

А так - gmaptool мне понравился.

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

Да, кстати, одно замечание по картам от пользователей не-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. т.е. выберет непонятно какую часть улицы? Можно описать как связаны адреса в гарминовском формате. Спеку смотрел - ничего не понял. Задача по адресу город улица номер дома найти дом можно ломанную (часть улицы) на которой этот дом находится, если нет такого дома сказать что на этой улице его нет.