Mkgmap

Для этого нужна корректная таблица транлитерирования, т.к. сейчас не все кириллические буквы преобразуются в латинские.

Уточните, пожалуйста, чем плоха представленная выше? Я могу поискать что-то другое, если пойму, чем та не устраивает :slight_smile:

Видел какой то сайт, так там сборка делается через mkgmap прямо не сервере. Это как примерно в 2 словах сделать? Или это невозможно? (я веду на своем сайте небольшую картографическую страницу где пользователи могут опубликовать свой трек) то есть для себя лично и для пользы дела мне это проще делать на сервере через cron (повторюсь: если это возможно и я по привычке ничего не напутал)

Собственно, всё есть в википедии. Единственная проблема с 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 не относится, это ограничение гармина.