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

собрались, проверяйте

Здравствуйте. Подскажите пожалуйста, почему карты ОСМ не работают на грамин альфа 50, до этого ставил на этрекс 20 все было норм, на альфу ставит но они не отображаются при включении на устройстве

Как устанавливаете? BaseCamp, формат gmapi?

Нет через MapInstall

Разархивировал архив, запустил файл инстал от администратора, программа карту видит, ставит ее на навигатор, а на нем либо вообще не отображается либо в списке есть но не работает. При повторной установке пишет что base пишет что карта установлена частично

Скажите, а вы описание читаете?
Вот такую строчку там от куда карты скачивали http://garmin.gis-lab.info/
**Важно: если вы используете одну из последних версий BaseCamp, то вам необходимо загружать карты в формате gmapi. **
видели?

Попробуйте BaseCamp с сайта гармина. Удалите с ПК ту карту, которую вы уже установили. Скачайте карту в формате gmapi, распакуйте, копируйте папку FAMILY_XXX.gmapi\FAMILY_XXX.gmap (или ярлык на нее) в
папку %AppData%\Garmin\Maps (для 7ки это будет что-то вроде C:\Users\user\AppData\Roaming\Garmin\Maps)

Дело в том что создав вот такую FAMILY_XXX.gmapi\FAMILY_XXX.gmap фигню Вы вводите пользователей в заблуждение.
Оставьте в архивах только FAMILY_XXX.gmap и им будет проще устанавливать карты на компьютер

  • просто скопировать папку FAMILY_XXX.gmap (или ярлык на нее) по указанному ниже пути (в зависимости от ОС компьютера она же %AppData%\Garmin\Maps ):
    для WinXP путь C:\Documents and Settings\All Users\Application Data\GARMIN\Maps
    для Win7/8/10 путь C:\ProgramData\Garmin\Maps

У меня сделано так же. Как мне объяснили умные люди, верхняя директория “gmapi” нужна для пользователей iOS.

Под виндой GarminExpress при установке официальной карты на компьютер создает только похожее
%AppData%\Garmin\Maps\FAMILY_XXX.gmap
без FAMILY_XXX.gmapi\ неужели под iOS создается FAMILY_XXX.gmapi\FAMILY_XXX.gmap
Странно,… но если так то извиняйте за фигню.
Тогда наверно надо подробней об установке не только в реадми, но и прямо на сайте написать.

Вот установка автоматом для твоих


@Echo off
:: =============================================================
 Set BASEDIR=%CD%
 Set WORK=%BASEDIR%\Work
   Mkdir "%WORK%\input" 
   Cd "%WORK%\input"

:: =============================================================
:: Секция - Обработка карт для BaseCamp или MapSource в формате *.gmapi

:: =============================================================
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 .   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 Заменяем файл TYP на свой 
   Copy /y "%WORK%\OSM-2018.typ" "%ALLUSERSPROFILE%\Garmin\Maps\OSM_MapTourist-RU.gmap"
:: -----------------------------------
Rem Удаляем временную папку 
   Rmdir /q /s "%WORK%\output" 

:: =============================================================
Rem Удаляем TileCache файлы
Echo .   Clear TileCache files
   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\*.*


А вот пример автоустановки центрального фед.округа для GisLab


@Echo off
:: =============================================================
 Set BASEDIR=%CD%
 Set WORK=%BASEDIR%\Work
   Mkdir "%WORK%\input" 
   Cd "%WORK%\input"

:: =============================================================
:: Секция - Обработка карт для BaseCamp или MapSource в формате *.gmapi

:: =============================================================
Rem Скачиваем архив с картой OSM для BaseCamp или MapSource в формате *.gmapi
Echo .   Download ru.cfo.gmapi.7z file
    wget "http://garmin.gis-lab.info/files/ru.cfo.gmapi.7z" -N
:: -----------------------------------
Rem Извлекаем файлы карт OSM из архива
Echo .   Extract OSM data files from ru.cfo.gmapi.7z
   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"
:: -----------------------------------
Rem Заменяем файл TYP на свой 
  Rem Copy /y "%WORK%\osm_501.typ" "%ALLUSERSPROFILE%\Garmin\Maps\FAMILY_501.gmap"
:: -----------------------------------
Rem Удаляем временную папку 
   Rmdir /q /s "%WORK%\output" 

:: =============================================================
Rem Удаляем TileCache файлы
Echo .   Clear TileCache files
   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 =============================================================
Rem Pause


Всем спасибо. Получилось

Подскажите есть ли смысл собирать карты по областям, возможно есть смысл собирать карты только по федеральным округам и “Вся Россия”, тогда актуальность карты возрастет.
Или хотя бы обьединить Москву с МО и обьединить Санкт-Петербург с Ленинградской областью.

Принцип сборки немного другой: федеральный округ не собирается с нуля из сырых данных, а берутся уже готовые карты областей, и для них строится общий индекс. Т.е. по времени выигрыша большого не будет. А отдельные области вполне востребованы.

Чем плох вариант взять федеральный округ целиком и при заливке в прибор выбрать нужные регионы?

Неплохой вариант.

Также обнаружил проблему разрывов отбражения крупных дорог.
Скрин пример.

Это связано с тем, что на уровень отображения дороги влияет не только её статус, но и проходит ли она по населенному пункту.
Скорее всего, это было сделано специально. Но я уже не помню зачем (полагаю, если повысить уровень отображения в городе, в центре многих городов мы получим кашу вместо дорожной сетки).

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

тот же участок на том же масштабе и детализации с “правильным отображение крупных дорог”

Если рисовать городские дороги на том же уровне, что и загородные, получим кашу и тормоза. Не лучший вариант.

Попробуем по-другому. Я добавил еще одно условие, и теперь дороги внутри города будут отрисовываться как и загородные, если у них есть идентификационный номер (тег ref)

P.S. Вот пробничек https://yadi.sk/d/AXa-PKSAuZvp-A
P.P.S igitov, а у тебя есть идеи, как лучше решить эту проблему? ref выглядит слегка спорным вариантом.

Отличный пробник.