Mkgmap

Для поддержания разговора, так сказать.

Свежий билд mkgmap в текущем транке и в бранче mkgmap-typ-r2095 содержит новую интересную фичу: text-to-TYP конвертер.

Чудеса на виражах.
Некоторое время назад я заметил, что некоторые точки крупных городов выпадают из поискового индекса в моей сборке. При этом в точках таких городов адресная информация присутствует. Посмотрел ГПСМапЭдитом - не подкопаешься.
Начал экспериментировать с городом Тверь. Берем целиком Тверскую область, компилируем ее - Тверь поиском не ищется. Теперь берем для теста точку, отношения “ГО Тверь”, place города и до кучи всю областную границу - работает! Добавляем еще всяких подробностей из города - не работает. Меняем name у точки на что-то другое - опять работает. Такое ощущение, что где-то переполняется какой-то буфер словом “Тверь” и индексирование для точки города дает сбой. Для верности проделал все это и со штатным стилем - никакой разницы. Единственный выход, который я сейчас вижу это добавление cladr:suffix к таким точкам. Но в силу моей нелюбви ко всяческим костылям делать этого не хочется. Да и не всем, как оказалось, по душе добавление сокращенного статуса к названиям городов… :roll_eyes:
В общем, если вдруг кто-то сумеет постичь природу описанного явления и научится с ним бороться - я буду весьма признателен.

Можно я задам глупый вопрос? Спасибо!

Из какого-то старого обсуждения мне помнится что отображаемое на карте имя объекта может отличаться от имени в поиске и в расширенной информации об объекте. Это так? (И это поддерживается конвертером?)

Да, Имя точки и ее адресные данные формально не зависимы друг от друга. Но как такую независимость применить на практике - я не знаю.

Дак так и применить. На карте показывать «Березники», а во всех остальных текстовых данных «Березники, г».

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

Какая жаль :frowning:

Интересный и не понятный баг с уровнями масштабирования в mkgmap обнаружил, причём очень давно, но думал что это косяк где то в моих стилях, а оказалось что не совсем, похоже я недопонимаю спецификацию Garmin.

В options есть параметр определяющий какой уровень масштаба в какому разрешению соответствует и по дефолту он определяет только пять уровней:

levels = 0:24, 1:22, 2:20, 3:18, 4:16

либо расширенный вариант (закоменчен по дефолту)

levels = 0:24, 1:22, 2:21, 3:20, 4:19, 5:18, 6:16

Оба этих варианта работают нормально. Насколько читал спецификацию, вроде выяснил, что на масштаб отводится один байт, т.е. 8 бит и максимальное число уровней масштаба 8. Пытаюсь определить масштабы как:

levels = 0:24, 1:23, 2:22, 3:21, 4:20, 5:18, 6:17, 7:16

но получаю странную картину: от 17 уровня разрешения и ниже не то что бы всё пропадает, но исчезают почти все объекты, которые должны там быть, остаются только транки и море и при этом точность дорог падает настолько, что даже видно, что ноды чуть ли не через 5 километров стоят.

Пытался расширить стандартный до:

levels = 0:24, 1:22, 2:21, 3:20, 4:19, 5:18, 6:16, 7:15

но тоже получил тот же самый эффект. Получается, что уровней масштаба в гармине только 7 или я чего упустил.

Заметил, что свежий mkgmap не отрабатывает ключи, если они указываются перечислением, т.е.

key=val1;val2;val3

как

key=val1
key=val2
key=val3

Раньше вроде такое проходило спокойно. Кто подписан на рассылку mkgmap-dev, задайте пожалуйста там вопрос, сам не могу, т.к. сейчас временно очень сильно ограничен в доступе в интернет и не имею доступа к почте.

Приветствую!

Я, конечно, не буду врываться в вашу беседу
Но скажите, почему не на одном из предложенных сайтов, на которые ссылки вы даете
http://forum.openstreetmap.org/viewtopic.php?id=15613
http://maptourist.org/file/category/3-garmin
нет ничего нового, вся конвертация так и осталась на уровне 30.03.2012-1.04.2012, хотя многие пишут постоянно обновляющиеся с OSM

polar-kasper
Идёт перелицензирование. Нет нарезок на гислабе, нет свежих карт.

пробую разобраться с mkgmap…
возникло несколько вопросов.

  1. Что означают условия в стиле?
!=*

и

=*

2.Сделал файл .typ в онлайн-редакторе http://ati.land.cz/gps/typdecomp/editor.cgi
При подключении его в mkgmap пишет:

и не подключается. При создании выбирал кодировку 1251. Что я делаю не так?

!=* не равно ни чему (без тега)
=* равно любому значению
WARNING - это предупреждение. Не критично. Хотя и не понятно, в какой момент это у вас происходит.

Да, warning ни при чем… Почему-то qLandkarte не хочет видеть в файле .img данные из .typ файла, а вот в навигаторе все ок. Хрень какая-то.
ValentinAK, а вот в вашей сборке qLandkarte данные видит… Вы в линуксе собираете? И именно с помощью mkgmap?

QlandkarteGT не читает файлы TYP из упакованного img файла. Не делает он этого принципиально, такова позиция разработчиков. Для просмотра в QlandkarteGT кладите TYP файл (можно несколько, тогда появляется выбор стиля на лету) в одну директорию с картой.

“О, сколько нам открытий чудных…”
Спасибо! А то уже за…ся подключать/отключать навигатор.

Подскажите, как сделать так, чтобы точка была (участвовала в поиске), но не отображалась на карте.

Принудительно присвоить ей в TYP иконку размером 0х0 px или 1х1 прозрачный пиксель.

Вопрос к тем, кто собирал или пытался собирать карты нескольких стран…
Есть Болгария и Румыния, которые хочется иметь в навигаторе. Проблема, что при использовании charset 1251, болгарские названия отображаются верно, а в румынских часто встречаются ? на месте необычных символов. Как можно собрать карту? Как-то делить на две части, собирать их с разной кодировкой и сложить в одну? А чтоб рутинг между ними работал?

Вообще, чтоб не играться с несоответствиями PID, FID, сложил осмозисом два дампа стран в один файл, и сплиттером и mkgmap-ом делал img. Есть ли другие способы, без участия осмозиса?

Разные кодировки внутри одного FID всё равно толком не уживутся (mkgmap же юникод ещё не умеет?).
Лучше сделать полностью отдельные карты.

Ещё как вариант, можно транслитерировать болгарские названия.