Первое: интересно, зачем и откуда такая извращённая кодировка?
Второе: не понимаю смысла замены имени, а не добавления уточнения к нему. Конструкция типа { name ‘${name} (грунтовка)’} вполне работает и встречается где-то в дефолтах.
Пока что в mkgmap выявились следующие отличия, по сравнению с osm2mp:
Нет возможности сформировать точку из полигона
Похоже, нет поддержки адресации точек
Нет некоторых дополнительных условий типа inside_city
Чуть менее тонкие настройки роутинга
Объекты можно привязать как к уровню карты (level=[0…8]), так и к уровню прибора (resolution=[~10…24]).
А так, по большому счёту, всё то же самое, только занимаемая при работе память раза в три меньше и время выполнения раз в двадцать быстрее.
Про роутинг пока можно сказать, что он, по крайней мере, работает.
Отдельно нужно сказать про очень сильную генерализацию линий mkgmap’ом на средних уровнях. В крайних масштабах всё нормально, а в средних заметны большие ступеньки. Причём, это не зависит от входных данных и не регулируется параметрами.
Долго не знал, чего написать, очень уж ты вопрос хороший поднял. Я уже более полугода экспериментирую с настройками уровней, пытаясь найти баланс, однако проблема в том, что он будет разным для разных ситуаций.
В идеале, хотелось бы иметь отключаемые слои, чтобы быстро убрать ненужное и сосредоточиться на нужном типе объектов. Однако, в гармине такого даже близко нет, увы. На данный момент наиболее интересная мысль - это точки убирать в отдельные дополнительные карты, которые можно включать/выключать в навигаторе. Кстати, файлы gpi для этого хуже - их нельзя отключать, в отличие от прозрачных карт с точками.
Level - категория карты, а resolution - категория железки. Если в заголовке карты поменять настройки levels, то придётся везде по конфигам править/подгонять значения. Если же привязать объекты к resolution, то число и разрешение уровней карты можно менять без последствий. Очень удобно для экспериментов, да и вообще полезно.
Ну я как бы к тому, что можно добиться читаемых надписей, а не просто работающих. Я в виндовой консоли тоже долго мучился с русскими именами файлов, пока не узнал, что можно выставить кодировку и писать их по-человечески, не меняя на иероглифы.
Ууу, мощно… Полтора года назад я вроде и про сам осм-то не слышал.
Судя по кускам обсуждений, за последний год там точно дофига изменений. А чего не обновлялся-то? Не знаю, как раньше, но сейчас всё выложено в SVN-репозиторий. Или ещё проще: можно скачивать актуальный готовый jar и скриптом запихивать туда свои стили, всё очень просто, это ж zip.
Это ж мне надо не лениться и синхронизировать свой стиль с дефолтным вручную. А сам mkgmap я конечно обновляю до SVN trunk перед каждой генерацией карты.
Научите загружать карту после mkgmap в MapSource.
Пробовал исталлировать в реестр вручную, но не вышло.
Пробовал MapSetToolKit, но он требует cgpsmapper, которую надо покупать.
А если залить в гармин gmapsupp.img, то потом при попытке взять с флешки карту MapSource’ом он говорит, что карт на флешке нет.
Еще раз: cgpsmapper бывает версии Free, а бывает Personal. Первая - полностью бесплатная, но серьёзно урезанная, вторая - условно бесплатная (shareware), но с полным функционалом, включая упоминавшийся роутинг.
Не понял, нафига вручную-то? Ставишь себе любой SVN-клиент и рассматриваешь себе изменения. У меня вот Лёшин osm2mp так работает, локально все файлы с настройками изменены, а SVN всё это самостоятельно нормально обновляет и разруливает, всегда актуальная версия получается, с учетом всех изменений дефолтных стилей.
С mkgmap я, правда, еще не заморачивался, там изменения более редкие. Тупо качаю свежий jar и скрипт добавляет туда внутрь мои стили, ручной работы минимум.
гуру по правилам mkgmap-а вопрос
как сделать так, чтоб у домов с номерами этот самый номер рисовался сверху дома на карте?
пробовал: styles/default/polygons:
building=* | man_made=* | amenity=* | tourism=* {name ‘${addr:housenumber}’} [0x13 resolution 24]
в MapSource показывается, но показывалось и без этих изменений, на навигаторе не вижу номеров, только когда кликаю на дом
тестирую на garmin dakota 20.
Есть какие-то предложения? Может, в правиле ошибся?
У меня в тестовом наборе на дома вот такое простенькое правило:
building=* & building != no {name ‘${addr:housenumber}’ |‘${name}’} [0x13 resolution 24]
Случай bulding=no не забывайте учитывать. В osm2mp он тоже учитывается.
В навигаторе (Vista HCx) номера видны. Странно, по сути, та же фигня, что и у вас. А на любых других картах номера отображаются? Например, можно тупо нарисовать в мапедите прямоугольник с типом 0x13, выставить ему метку, скомпилить эту тестовую карту и залить в навигатор.