Mkgmap

Сегодня утром карты соберутся с новыми настройками. Последнюю неделю экспериментировал и вот чего получилось:

  1. мосты с area=yes конвертируются в полигоны зданий.
  2. точки населенных пунктов теперь видны на меньших масштабах.
  3. существенно поменялся TYP-файл. Изменено много старых иконок и добавлены новые. Суть этих изменений в минимизации занимаемой ими экранной площади с улучшением читаемости. Заменено много стандартных иконок на значки меньшего размера. Работа еще не завершена, буду доделывать понемногу. Но уже сейчас размер TYP-файла увеличился в два раза.

Еще у меня возник вопрос о точках ограничения движения. Сейчас на роутинг никак не влияет наличие на дороге преград в виде столбиков, блоков, ворот или шлагбаума. И что-то пока не придумалось ничего по встраиванию этого дела в параметры маршрутизации у таких дорог. По сути это близко к отношениям ограничений, запрещающих или разрешающих повороты. Столбики и прочие шлагбаумы так же обычно ставятся на точку в составе дороги, но как это теперь объяснить Mkgmap-у, что и это нужно учитывать при построении логики маршрутизации?

Add:
Тайлы теперь будет нарезать новый Сплиттер версии 174.

А лежачие полицейские будут? Очень нужно! :slight_smile:

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

Попробуйте изменить настройку детальности карты в навигаторе. В городе не имеет смысла пользоваться максимальной.

У меня стоит Норма (eTrex Vista HCx), правда я карту обновлял дней 10 назад.

В гарминах обычно 5 вариантов режима детальности, и выбор зависит не только от даты изготовления карты. Еще от размера и разрешения экрана. :slight_smile:

Гарминовская опция детальности тупо сдвигает видимость всех объектов карты на ступень. То есть,
Most (+2)
More (+1)
Normal (как есть)
Less (-1)
Least (-2)

Например, домики, рисующиеся по умолчанию до 120 м (Level 24 - 120 м), при настройке More будут рисоваться до 300 м (Level 23 - 200-300 м), а при настройке Most до 500 м (Level 22 - 500 м). Никакого шаманства, просто временный сдвиг детализации на уровень.

Вот надоумили меня старшие товарищи взяться за самостоятельную конвертацию посредством mkgmap.

У кого-нибудь есть мануал для чайников?

Для чайников не встречал, но почти все есть в ви-ки http://wiki.openstreetmap.org/wiki/RU:Mkgmap и этой теме

Я по вики учился, там всё очень подробно описано.

Попробовал сделать по вики, получил кучу ошибок при попытке конвертации свежего дампа Краснодарского края. :frowning:

К сборке добавились три прибалтийских государства - Литва, Латвия и Эстония. Теперь покрытие карты полностью соответствует территории всего бывшего Союза. :slight_smile:

Еще новость - я перешел на исходник в PBF-формате. Скорость всего процесса существенно возросла. Ну, и сам исходник появляется раньше. Так что и готовая карта теперь генерится раньше. К 12-и дня обычно уже готовы все варианты.

  1. может кто-то встречался с ошибкой - при использовании --charset=windows-1251 в последней версии mkgmap на выходе в файле русские буквы левыми символами выводятся, в 1725-версии все нормально. смотрю в garmin dakota 20.

  2. выложите картинку-результат карты с TYP-файлом :slight_smile: и строку запуска плз :wink:

Kotelnikov, для дефолтной конвертации достаточно запустить:
java -Xmx1024M -Xms1024M -jar mkgmap.jar --charset=windows-1251 --net --route --family-id=1011 --ignore-osm-bounds MY_FILE.osm
если надо кастомизировать цвета, будет сложнее :wink:

Время от времени провожу эксперименты со свежими версиями, но с таким не сталкивался. Первое, что приходит на ум - попробовать убрать или добавить ключ --lower-case.
Для ежедневных сборок я все еще пользуюсь версией mkgmap-locator-r1912. Работает стабильно. Никто пока не жаловался.

А из каких соображений вы включаете --ignore-osm-bounds? Разработчик предупреждает о возможных проблемах с роутингом при добавлении этого ключа. А их и без этого хватает.

Немного картинок:

add:
Моя строка запуска. Точнее куски make-скрипта:

${SPLITTER} \
	--geonames-file=cities1000.zip \
	--overlap=20000 \
	--max-nodes=1000000 \
	--no-trim \
	--split-file=areas.kml \
	local.osm.pbf

${MKGMAP} \
	--output-dir=/home/valentin/OSM_MapTourist \
	--description="OSM MapTourist" \
	--family-name="OSM MapTourist `date "+%Y-%m-%d"`" \
	--series-name="OSM MapTourist `date "+%Y-%m-%d"`" \
	--overview-mapname="OSM_MapTourist" \
	--area-name="OSM `date "+%Y-%m-%d"`" \
	--family-id=490 \
	--keep-going \
	--read-config=optionsfile.args \
	--style-file=./myConfigs \
	--style=${STYLE} \
	--gmapsupp \
	-c template.args ${STYLE}/M00001ea.TYP

areas.kml - правленные руками и зафиксированные границы тайлов.

Содержимое файла optionsfile.args:
max-jobs:2
code-page:1251
tdbfile
index
lower-case
route
net
drive-on-right
remove-short-arcs
location-autofill=2
generate-sea=extend-sea-sectors,close-gaps=300000,floodblocker

А, вот еще что. Случайно обнаружил возможность локализации объектов на выбранных слоях! Т.е. не с самого подробного, а с того слоя, с какого нужно. Очень просто, кстати. Нужно указать не один конечный левел, а диапазон. Например 22-18. И объект будет только на этих крайних и промежуточных слоях.

ignore-osm-bounds помешало мне как-то создать карту из нескольких участков, кажется, тогда оно отрезало все по минимальному общему прямоугольнику. сейчас в хелпе не нашел именно этого описания, действительно, стоит выключить.

Об этом писалось где-то на первых страницах этой темы :slight_smile:

Только при этом есть нюанс - если объекта не будет на нулевом левеле (то есть 24-м), то в поиск он не попадает. К mkgmap не относится, это ограничение гармина.

Сорри за поздний ответ. А чего пишет? На конфиги тоже желательно бы глянуть.

Ну, значит забылось уже, т.к. давно читал. Но радости от этого ничуть не меньше. :slight_smile:

Да, это известная фишка Гармина - роутинг и поиск живут на слое с максимальной битностью.

У меня пока по такой технологии отработана одна точка (заправки) и один полигон (заповедники). Надоело просто, что АЗС видно только на сильном приближении. И я в своем время добавил дополнительную точку, видимую и выше. И если раньше на 24-м слое они двоились, то сейчас получилось их разнести. В итоге и АЗС видны теперь свысока, и поиск по ним работает, и не двоятся на самом подробном слое.

Я одно время с метро так возился - пытался сделать так, чтобы в поиске был один пункт станции, а выходы на карте показывались все. Так и не получилось толком - или дубликаты в поиске, или виртуальная точка вылезает.

Вытащил на пробу в отдельный тип линий пороги на реках (waterway=rapids). Отображается как обычная река, но с поперечными штрихами разной длины. В подпись транслируется название порога (whitewater:rapid_name или whitewater:section_name) и его категория (whitewater:rapid_grade или whitewater:section_grade).

Еще добавлены точки маяков (man_made=lighthouse).