Mkgmap

Победил, блин. Бессмысленно и беспощадно “с умом” потрачена куча времени. Кто бы мог подумать, что сие находится в настройках самого TYPViewer. :laughing:

А у меня давно оказывается так, только вместо французского - русский

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

--style-option=code-page=1250
или
--style-option=code-page=1251

И вот тогда уже можно сделать переключение разных настроек в зависимости от языка:

if (mkgmap:option:code-page=1251) then
include "inc/name-ru";
end
if (mkgmap:option:code-page=1250) then
include "inc/name-en";
end

Я вынес в отдельные файлы все, что касается переводов и имен по умолчанию.
Единственный момент - при внедрении такого переключения в файл настроек линий, при компиляции все они просто пропадали. Природа этого явления мне пока не понятна. Так что пришлось сделать два логических блока if-then внутри файла lines отвечающих за языковое разделение, без ссылки на внешние файлы.

Прорыв года, практически, блин. Я нашел способ, как отображать в моем ущербном Nuvi-1490 некоторые важные точки! Например светофоры и броды. До этого я безуспешно пытался подобрать какой-то из пригодных для этого типов poi но без особых результатов. И вот я-таки нащупал логику. Смысл в том, что у точки должно быть имя. И только с ним навигатор считает нужным такую точку показать на экране. Пускай в typ-файле отображение названия отключено, но в данных оно быть должно. В своем файле настроек русскоязычных названий я это сделал вот так:

(highway=traffic_signals | crossing=traffic_signals) & name!=* {set name='светофор'}
(highway=ford | ford=yes) & name!=* {set name='брод'}

Но еще есть Nuvi-2797LMT, который точки показывает вообще от балды, по-моему. Как к его логике найти подход, вот вопрос.

Такая же логика и у моего Garmin-Asus M10e. Также при конвертации пришлось давать имена многим объектам и отключать отображение в typ-файле :).

Граждане. А как обрабатывать значение у ключа, которое содержит в себе точку с запятой?
Пример:

whitewater=put_in;egress

; - перечисление
т.е whitewater=put_in;egress равноцено одновременному присутствию на объекте и whitewater=put_in и whitewater=egress

Нет. И Overpass это недвусмысленно подтверждает.

; - перечисление
Но оно не приветствуется и не всеми и не везде поддерживается.

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

не мапьте под рендер. автор оверпаса мог вполне решить что не будет поддерживать “;” :slight_smile:
но применения в данном случае такое, что на объекте два тега, как я и написал.

Как раз все строго наоборот: whitewater=put_in;egress находится. А вот whitewater=put_in & whitewater=egress - нет. Что вовсе не удивительно по причине отсутствия такой связки тегов в базе, ибо нет технической возможности иметь на одном объекте два ключа с одинаковым названием.

значит я вас не правильно понял.
потому и ввели перечисление. к примеру в shop очень часто попадаются.

Получилось через применение регулярного выражения.

whitewater ~ 'put_in\p{Punct}egress' [0x6516 resolution 24]

Умные люди подсказали еще боле простое и изящное решение - просто забрать значение ключа в одинарные кавычки. :smiley:

whitewater='put_in;egress' [0x6516 resolution 24] 

Доброго всем дня.
Пытаюсь создать этот файл по описанию, но выдает ошибку что не может скачать bounds.zip и sea.zip.
Подскажите так же если мне нужна объединенная карта Могилёвской области и Смоленской области то мне нужно скачивать карту России и Беларусь или карту всего мира.

Этот инструмент сейчас не работает, есть ли альтернатива?

http://www.mkgmap.org.uk/download/mkgmap.html
Вот здесь смотрите и найдете.
нужно скачивать карту России и Беларусь вырезать свои области, объеденить и обработать.
И вот это прочитай https://rutracker.org/forum/viewtopic.php?p=74969416#74969416
http://www.gps-forum.ru/forum/viewtopic.php?f=3&t=39189

Вот копирнул с рутрекера свой пост.

Описание создания карты.

  1. Для того чтобы сделать горизонтали с нужным шагом и для создания 3D карты надо скачать файлы покрывающие нужную территорию вот от сюда (возможно есть и другие места) http://viewfinderpanoramas.org/Coverage%20map%20viewfinderpanoramas_org3.htm
    Для обработки этих файлов можно использовать https://wiki.openstreetmap.org/wiki/Srtm2Osm или https://wiki.openstreetmap.org/wiki/OSM_Map_On_Garmin/Topographic_maps я использовал https://github.com/FSofTlpz/Hgt2Osm2 и получил файл данных горизонталей в формате osm.pbf (понадобится программа https://wiki.openstreetmap.org/wiki/Osmosis или https://wiki.openstreetmap.org/wiki/Osmconvert)) я пользовался Osmosis
  2. Данные OSM в формате osm.pbf для создания карты можно скачать http://download.geofabrik.de/ или http://gis-lab.info/projects/osm_dump/ сами выбирайте что вам подходит. Я качал http://data.gis-lab.info/osm_dump/dump/latest/local.osm.pbf это территория бывшего СССР. Обратите внимание на Poly-файлы: http://data.gis-lab.info/osm_dump/poly/ и на http://download.geofabrik.de/ они нужны для вырезания из данных OSM необходимых территорий (на пример: я создав Poly-файл http://www.gps-forum.ru/forum/viewtopic.php?f=3&t=39189 вырезаю из СССР только перечисленные в первом сообщении области и республики).
  3. Соединяем в один файл данных данные OSM и данные горизонталей. Для этого (для соединения и вырезания) используем программы Osmosis или Osmconvert.
  4. Далее приступаем к созданию карты с помощью https://wiki.openstreetmap.org/wiki/Mkgmap я уже описывал процесс создания https://forum.openstreetmap.org/viewtopic.php?id=9249&p=14 здесь немного добавлю.
    Программа Mkgmap сама может создать карту 3D для Garmin.
    Если знаете английский можно писать разработчикам о проблемах http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html
    Примеры стилей для Mkgmap https://wiki.openstreetmap.org/wiki/User:Petrovsk/My_Garmin_map_styles
    Для правильного адресного поиска данные OSM необходимо обрабатывать, понадобится программа https://wiki.openstreetmap.org/wiki/Osmfilter
    Вот и все.
    P.S. Всем удачи в Ваших начинаниях.

Нашел вписал новые ссылки на файлы заработал 1_run_download.bat

заработал 2_run_cut_poly.bat (пока остановился на Смоленской обл.)

установил osmosi заработал 3_run_boundary.bat

установил GPSBabe для 4_run_splitting.bat заработало.

Возникла ошибка при выполнении 5_run_create.bat
Пишет
1 - maptourist - стиль карт с http://maptourist.org/file/category/3-garmin/
2 - stranger - стиль карт с http://velo100.ru/gps/download
3 - My-style - стиль карт Mkgmap default + J-Typ-v161.typ
.
Enter NAME Style - 1
NAME Style is - 1
.
. Cleaning the target directory for Creating.
.
Не удается найти указанный файл.
.
. Create a map using MKGMAP…
.
Error occurred during initialization of VM
Could not reserve enough space for 3145728KB object heap

Подскажите как исправить?
выполняется команда при выборе 1 пункта
:style1
set MYSTYLE=p-map
set MYFID=480
set MYTYP=p-map
goto pusk

Стили скачал в папку styles\p-map
брал из https://wiki.openstreetmap.org/wiki/User:Petrovsk/My_Garmin_map_styles#P-Map

1 - maptourist - стиль карт с https://maptourist.org/osm-garmin/CurrentConfigs/
Остальные не помню так как не пользуюсь

Смотри https://forum.openstreetmap.org/viewtopic.php?id=9249&p=14 разбирайся в батфайлах, редактируй команды, пути
Jawa установлена? jawa.com

Там выделяется 3 гига памяти
java -Xmx3G -jar “%BASEDIR%\mkgmap\mkgmap.jar” ^
Если у тебя столько нет, то пробуй 1 гиг
java -Xmx1024m -jar “%BASEDIR%\mkgmap\mkgmap.jar” ^
Только тут надо не раскоментировать/закоментировать, а поменять местами