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

Хорошо бы посмотреть конкретный маршрут, на котором возникает проблема

Теперь в свежесобранном СЗФО пропала Карелия. Похоже, что исправную карту России мы больше не увидим :frowning:

Подскажите про букву S при выделении карт всех

https://youtu.be/KQYeHutp8ds

Карты с буквой “S” - это невидимый слой для адресного поиска. И да, чтобы правильно выбрать карты, надо обводить, а не щелкать по ним

А как насчет новой сборки Эстонии?

на выходных должно собраться

Спасибо, ждём!

Загрузил последнюю сборку от 29 апреля, ввожу санкт-петербург, отображается 4 варианта и не ищет улицы

Очень давнее пожелание :slight_smile:
Почему бы не добавить в сборки uninstall.bat, как это сделано в OSM-MapTourist?
А то каждый раз, когда нужно удалить ставшую ненужной карту, приходится лезть в реестр. Это всё-таки не очень удобно.

Поставьте MapSetToolKit и удаляйте, и добавляйте все что хотите. Заодно и проверяйте, что в реестре с картами творится.

А в какой сборке OSM-MapTourist есть uninstall.bat, разве он нужен для формата gmap?
И потом, если Вы обновляете карты, то просто заменяете файлы карты новыми, а ФИД карты остается таким-же и снова прописывать в реестре не надо. Или Вы до сих пор пользуетесь форматом MapSource?

OSM-MapTourist-mapsource-RU.zip

Не нужен. Но оказалось, что формат gmap менее удобен для использования (больше возни при каждом обновлении).

Это тоже дополнительная операция.
Вот смотрите: поставил я, условно, карту Турции. Съездили мы туда, карта больше не нужна. Нашел папку с картой, зашел в неё, выполнил uninstall.bat, и после этого удалил папку. А так, кроме удаления папки с картой, мне нужны дополнительные операции: либо вызывать regedit и удалять из реестра, либо запускать MapSetToolKit и через него удалять. Это лишние операции. Не то, чтобы это было долго, но лишние операции всегда раздражают, особенно в том случае, когда без этого очень легко обойтись. Собственно, там ключевой является всего одна строка (в отличие от install.bat, где их семь):

@Echo off
:: =============================================================
 Set BASEDIR=%CD%
 Set WORK=%BASEDIR%\Work
   Mkdir "%WORK%\input" 
   Cd "%WORK%\input"
:: =============================================================
:: Секция - Обработка карт для BaseCamp или MapSource в формате *.gmapi
:: Территория всего бывшего СССР
:: -----------------------------------
:: Наборы файлов установки для Garmin BaseCamp:
:: OSM-MapTourist-gmapi-RU.zip        FID: 490
Echo =============================================================
Echo .
Rem Скачиваем архив с картой OSM для BaseCamp или MapSource в формате *.gmapi
Echo .   Download OSM_MapTourist-gmapi-RU.zip file
   wget "https://maptourist.org/osm-garmin/OSM-MapTourist-gmapi-RU.zip" -N
:: -----------------------------------
Rem Извлекаем файлы карт OSM из архива
Echo .
Echo .   Extract OSM data files from OSM_MapTourist-gmapi-RU.zip
   Mkdir "%WORK%\output" 
   "%WORK%\7-Zip\7z.exe" x OSM-MapTourist-gmapi-RU.zip -o"%WORK%\output" -y -r
:: -----------------------------------
Rem Устанавливаем карты OSM 
   Rmdir /q /s "%ALLUSERSPROFILE%\Garmin\Maps\OSM_MapTourist-RU.gmap"
   Mkdir "%ALLUSERSPROFILE%\Garmin\Maps\OSM_MapTourist-RU.gmap"
   set "name_f=OSM-2018.typ"
   for /f "delims=" %%a in ('dir /a-d/b/s "%WORK%\output\%name_f%"') do xCopy /e /y "%%~dpa"*.* "%ALLUSERSPROFILE%\Garmin\Maps\OSM_MapTourist-RU.gmap"
:: -----------------------------------
Rem Удаляем временную папку 
   Rmdir /q /s "%WORK%\output" 
Echo =============================================================
Echo .
Rem Удаляем TileCache файлы
Echo .   Clear TileCache files
Echo .
   Del /q /s %LOCALAPPDATA%\Garmin\BaseCamp\TileCache\*.*
   Del /q /s %LOCALAPPDATA%\Garmin\MapInstall\TileCache\*.*
   Del /q /s %LOCALAPPDATA%\Garmin\HomePort\TileCache\*.*
   Del /q /s %APPDATA%\Garmin\MapSource\TileCache\*.*
:: =============================================================
Rem Удаляем временную папку 
   Cd "%WORK%"
   Rmdir /q /s "%WORK%\input" 
Echo =============================================================
Echo End
Echo =============================================================

С путями разберешься? Две программы wget и 7-Zip и замена карты произведена.

А это для Gis-Lab овских карт. Пример для двух карт ru.szfo.gmap и ru.cfo.gmap
Подредактируй те под свои нужды.


@Echo off
:: =============================================================
 Set BASEDIR=%CD%
 Set WORK=%BASEDIR%\Work
:: =============================================================
Mkdir "%WORK%\input" 
Cd "%WORK%\input"
:: =============================================================
Rem Скачиваем архивы с файлами карт OSM
Echo =============================================================
Echo .   OSM Maps download files ru.szfo.gmapi.7z
Echo =============================================================
 wget "http://garmin.gis-lab.info/files/ru.szfo.gmapi.7z" -N
:: =============================================================
Rem Извлекаем файлы карт OSM из архива
Echo =============================================================
Echo .   Extract OSM data files
Echo =============================================================
Rmdir /q /s "%WORK%\output" 
Mkdir "%WORK%\output" 
"%WORK%\7-Zip\7z.exe" x ru.szfo.gmapi.7z -o"%WORK%\output" -y -r
:: =============================================================
Rem Устанавливаем карты OSM 
Rmdir /q /s "%ALLUSERSPROFILE%\Garmin\Maps\FAMILY_502.gmap"
Mkdir "%ALLUSERSPROFILE%\Garmin\Maps\FAMILY_502.gmap"
set "name_f=osm_502.typ"
for /f "delims=" %%a in ('dir /a-d/b/s "%WORK%\output\%name_f%"') do xCopy /e /y "%%~dpa"*.* "%ALLUSERSPROFILE%\Garmin\Maps\FAMILY_502.gmap"
:: =============================================================
Rem Скачиваем архивы с файлами карт OSM
Echo =============================================================
Echo .   OSM Maps download files ru.cfo.gmapi.7z
Echo =============================================================
 wget "http://garmin.gis-lab.info/files/ru.cfo.gmapi.7z" -N
:: =============================================================
Rem Извлекаем файлы карт OSM из архива
Echo =============================================================
Echo .   Extract OSM data files
Echo =============================================================
Rmdir /q /s "%WORK%\output" 
Mkdir "%WORK%\output" 
"%WORK%\7-Zip\7z.exe" x ru.cfo.gmapi.7z -o"%WORK%\output" -y -r
:: =============================================================
Rem Устанавливаем карты OSM 
Rmdir /q /s "%ALLUSERSPROFILE%\Garmin\Maps\FAMILY_501.gmap"
Mkdir "%ALLUSERSPROFILE%\Garmin\Maps\FAMILY_501.gmap"
set "name_f=osm_501.typ"
for /f "delims=" %%a in ('dir /a-d/b/s "%WORK%\output\%name_f%"') do xCopy /e /y "%%~dpa"*.* "%ALLUSERSPROFILE%\Garmin\Maps\FAMILY_501.gmap"
:: =============================================================
Rmdir /q /s "%WORK%\output" 
Rem Удаляем TileCache файлы
Echo =============================================================
Echo .   Clear TileCache files
Echo =============================================================
Del /q /s %LOCALAPPDATA%\Garmin\BaseCamp\TileCache\*.*
Del /q /s %LOCALAPPDATA%\Garmin\MapInstall\TileCache\*.*
Del /q /s %LOCALAPPDATA%\Garmin\HomePort\TileCache\*.*
Del /q /s %APPDATA%\Garmin\MapSource\TileCache\*.*
:: =============================================================
Cd "%WORK%"
Rmdir /q /s "%WORK%\input" 
Echo =============================================================
Echo End
Echo =============================================================
Pause

А всетаки как лучше заливать карты в прибор, используя Mapsource, когда заливаются одним файлом gmapsupp.img в папку Garmin, или использовать Base camp который создает папку Map на флешке и туда скидывает несколько карт

Я так понимаю, что http://garmin.gis-lab.info/files/ru.moscow.7z и http://garmin.gis-lab.info/files/ru.moscow.gmapi.7z не обновляются?

Круто! Не ожидал автоматизации в такой степени! Очень интересно!

Можно пересобрать Грецию (оба языка) и Кипр?
Кстати, у Кипра нет греческого варианта?

Скачал оба варианта Кипра - похоже, что греческий вариант - это копия английского варианта. Все надписи в нём не греческие, а английские (во всяком случае - греческие надписи мне не попались). И FID’ы у них совпадают, так что одновременно не получится использовать.

c FIDами поправлю
а с надписями тут все просто: что на входе, то и на выходе (там большая часть данных занесена только на английском)