Так. Вроде начинает все немного проясняться.
Сегодня вернулся к разбору описанной выше проблемы более подробно. TYPViewer под Windows 7 сохраняет коды точек в таком виде:
[_point]
Type=0x11711
А вот в Windows 10 ровно тот же TYPViewer уже пишет вот так:
Type=0x117
SubType=0x11
И это Mkgmap уже отказывается корректно транслировать. Если открыть готовый TYP-файл, то мы увидим следующее:
Type=0x001
SubType=0x11
При этом коды линий и полигонов остаются в прежнем виде, когда одной строчкой описывается и тип, и подтип. Корежит только блок с точками. Завтра попробую связаться с разработчиком TYPViewer.
Такие дела…
Немного иначе, но получилось!
Для того, что бы заработала эта логика нужно ввести свою собственную переменную при компиляции карты. В моем случае она выглядит так:
--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-файле отображение названия отключено, но в данных оно быть должно. В своем файле настроек русскоязычных названий я это сделал вот так:
не мапьте под рендер. автор оверпаса мог вполне решить что не будет поддерживать “;”
но применения в данном случае такое, что на объекте два тега, как я и написал.
Как раз все строго наоборот: whitewater=put_in;egress находится. А вот whitewater=put_in & whitewater=egress - нет. Что вовсе не удивительно по причине отсутствия такой связки тегов в базе, ибо нет технической возможности иметь на одном объекте два ключа с одинаковым названием.
Доброго всем дня.
Пытаюсь создать этот файл по описанию, но выдает ошибку что не может скачать bounds.zip и sea.zip.
Подскажите так же если мне нужна объединенная карта Могилёвской области и Смоленской области то мне нужно скачивать карту России и Беларусь или карту всего мира.
Этот инструмент сейчас не работает, есть ли альтернатива?
Нашел вписал новые ссылки на файлы заработал 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