Mkgmap

Я примерно понял где ошибка.
Запускаю 3_run_boundary.bat
Вот в этой и похожей строке --read-pbf file=%BASEDIR%\input\MAP.osm.pbf outPipe.0=1 ^
Надо указывать другой файл, содержащий или всю Россию или бывший СССР, а так как сейчас границы не создаются.

источник выгрузок ОСМ
local локальное покрытие http://osm.sbin.ru/osm_dump/local.osm.pbf
RU Российская Федерация http://osm.sbin.ru/osm_dump/RU.osm.pbf
RU Российская Федерация http://download.geofabrik.de/russia-latest.osm.pbf
RU Российская Федерация http://osmosis.svimik.com/latest/RU.osm.pbf
RU Российская Федерация http://needgeo.com/data/current/country/RU.pbf

ИЛИ пользоваться готовыми границами bounds-latest.zip
Но тогда содержимое optionsfile.args
bounds=…..\boundary\local
поменять на
bounds=…....\work\input\bounds-latest.zip

Теперь разберемся с путями.
Предположим что все это мы собираем на диске С в папке OSM, тогда у нас получается %BASEDIR%=C:\OSM
И все папки и файлы должны находиться в этой (C:\OSM) папке и все пути в файлах должны идти от нее.
Соответственно
bounds=…....\work\input\bounds-latest.zip должно принять вид
bounds=%BASEDIR%\work\input\bounds-latest.zip
Замени везде по этому принципу.

Если пользоваться готовым файлом границ bounds-latest.zip
То Запускаю 3_run_boundary.bat это делать не надо, этот файл тогда не нужен. Сразу переходи к запускаю 4_run_splitting.bat

Дальше проверь на задвоение (у тебя есть) запускаю 5_run_create.bat и содержимое optionsfile.args
Если в первом –family-id=%MYFID% ^ то во втором family-id=6324 не должно быть
ну и остальное

Во втором пути могут быть только полными C:\OSM\work\input\bounds-latest.zip или относительными …....\work\input\bounds-latest.zip
Пути с переменными %BASEDIR%\work\input\bounds-latest.zip надо перенести в первый , вот так
bounds=%BASEDIR%\work\input\bounds-latest.zip ^
и удалить или закоментировать во втором? вот так.

bounds=…....\work\input\bounds-latest.zip

Проверил все пути, проверил задвоения, все получилось.
Как сделать чтоб на выходе получался один *.img файл?
При запуске java максимально получилось выделить java -Xmx1600m а в наличии 16Gb из за чего это может быть?

java должна быть 64бита, а не 32.
Добавь параметр (а документацию на MKGMAP прочитать слабо?) gmapsupp

Спасибо.
Нашел документацию. https://wiki.openstreetmap.org/wiki/RU:Mkgmap

Когда же Вы (молодое поколение) научитесь читать? Давно все дано.
https://forum.openstreetmap.org/viewtopic.php?id=9249&p=14
Сообщение 326 черное листай в самый низ там ссылки найдешь стили от freizeitkarte
Вдруг не сможешь найти https://github.com/freizeitkarte/fzk-mde-garmin
Еще интересный стиль https://github.com/Jorisbo/Mkgmap-Mapnik-Style-Garmin
Еще интересный стиль https://speichenkarte.de/

Документация сообщение 332 вторая черная (файл optionsfile2.args я уже перевел для вас)
Еще документация в архиве MKGMAP в папке mkgmap\doc
Пример стиля по умолчанию в архиве MKGMAP в папке mkgmap\examples\styles\default
Еще документация http://www.mkgmap.org.uk/doc/index.html http://www.mkgmap.org.uk/doc/options http://www.mkgmap.org.uk/doc/typ-compiler http://www.mkgmap.org.uk/doc/pdf/style-manual.pdf http://www.mkgmap.org.uk/doc/splitter.html
А еще попробовать версию содержащую TYP http://www.mkgmap.org.uk/download/mkgmap-default-typ-r4258.zip

Ну и в каждой программе есть параметр help

Изучай, сравнивай, делай выводы. И все получится.

Спасибо за терпение.
Отличный стиль, очень понравился(название папки стиля нужно поменять для корректной работы) https://github.com/Jorisbo/Mkgmap-Mapnik-Style-Garmin
Пока писал данный текст вышла обнова на этот стиль

Со стилем https://speichenkarte.de/ тоже разобрался typ файлы брал из собранных там же карт

Нашел еще стили https://github.com/solitone/mtbmap
https://github.com/V0174/garminstyly
https://github.com/F462/OpenHikingMap

Установил стили с https://github.com/freizeitkarte/fzk-mde-garmin их там 2 fzk и swisspopo + 5 .typ файлов к каждому стилю
На выходе компиляция идет 10 сек и карта весит 50 кб. и она не работает, была ли у вас такая же проблема.

Внимательнее!!! Молодой человек. 6 TYPфайлов да на 2 стиля итого 12.
А у speichenkarte.de 3 TYPфайла в архиве присутствуют в текстовом формате.

Joris как раз делает TYPфайл который находится в сборке http://www.mkgmap.org.uk/download/mkgmap-default-typ-r4258.zip

Последнее предложение не понял, я уже говорил что я не экстрасенс. Про что это? Если про fzk-mde-garmin то там перл надо устанавливать. Вот https://www.freizeitkarte-osm.de/garmin/en/development.html здесь смотрим. А для своих карт еще и правильно редактировать mt.pl файл, ну и еще свои файлы добавлять, скопируй файл mt.pl поменяй ему расширение на txt и открой текстовым редактором и изучай.

Как поменять название карты которое отображается в Basecamp?
Я так понимаю что название карты дает splitter в файле template.args в разделе “description: RU-Kursk”
В 5_run_create.bat
–description=“%DESCRIPTION%-%MYSTYLE% v. %DATE%” ^
–family-name=“OpenStreetMap + %MYSTYLE%” ^
–series-name=“Russia” ^
–overview-mapname=“OSM_%MYSTYLE%” ^
–area-name=“OSM %DATE%” ^
неработают

Пробовал для splitter параметр --description=“OSM Map” но не помогло - подскажите как решить?

Для splitter не надо, надо для mkgmap

splitter формирует файл \output\template.args в котором прописан “description: RU-Kursk” на основе этой строки mkgmap формирует название карты в Basecamp “RU-Kursk”
как сделать чтоб splitter не прописывал description: “RU-Kursk” ?

За это отвечает ключ --geonames-file=
Документация по Splitter находится вот здесь:
http://www.mkgmap.org.uk/doc/splitter.html

С момента моего перевода кое что поменялось, посмотри оригинальную документацию.
Сплиттер прописывает каждому img файлу, а mkgmap прописывает всему набору. Только там надо правильно указывать description=text после -c template.args, а иначе прописывается от последней карты (квадрата) в наборе.

Спасибо все получилось.

Подскажите можно ли как нибудь ускорить процесс osmosis? (очень долго делает)
Есть ли возможность скачивать прямоугольную зону из OSM, а то скачивание “http://download.geofabrik.de/russia/central-fed-district-latest.osm.pbf” тоже по времени много занимает и трафик.

Подскажите, пожалуйста!

Есть ли возможность запретить **mkGmap **разбивать мультиполигоны на части ?
Может параметр какой недокументированный есть ?
Известно ли количество точек, при превышении которого **mkGmap **начинает заниматься разбиением полигонов ?

Дело в том, что конвертирую карту в польском формате (.MP) при помощи **cGPSmapper **-- всё нормально:

Конвертирую тот же файл при помощи последней версии mkGmap и получаю кривизну, которая запечатлена на скриншоте:

В GPSmapEdit’е видно, что мультиполигоны разбиваются на части, но похоже разбиваются некорректно!!!

Конвертировал при помощи батника:

java -jar d:\mkgmap.jar --reduce-point-density=1 --mapname=12345678 --family-id=1281 --product-id=1 "AmericanLake.mp"

причём в параметр --reduce-point-density= подставлял и 0, и 1 – без разницы
Других параметров, которые могли бы повлиять на результат, пока не нашёл…

Исходный .MP файл выложил здесь: https://yadi.sk/d/c5-7lv8v-Ubvzw

Может есть какие-нибудь идеи по поводу решения данной проблемы ?
Ну не самому же разбивать мультиполигон на более мелкие части… :open_mouth:

Заранее СПАСИБО за советы!

ЗЫ: Попробовал --order-by-decreasing-area и --reduce-point-density-polygon=1 – не помогло.
PPS: Генерализация исходного .MP файла (“похудел” в 2 раза) в GpsMapEdit не помогла.

PPPS: В .MP убрал из мультиполигонов внутренние (inner ring) полигоны. Т.е. сделал мультиполигоны просто полигонами – косяк как ни странно ИСЧЕЗ !!! :smiley:

Это, конечно, не выход из положения, т.к. при таком варианте перестают отрисовываться пупки и острова.
Возможно, причина косяков не столько в самом mkGmap, сколько в не очень качественном исходном .MP: если загрузить его в GPSmapEdit и выбрать в меню: Инструменты > Проверка карты , то высветится довольно много ошибок пересечения и перекрытия. + Большинство полигонов этой карты состоят из нескольких сотен точек.

Но всё равно остаётся вопрос: почему Mkgmap косячит с картами, которые спокойно переваривает cGPSmapper ? :frowning:

С компиляцией карт из данных ОСМ такой проблемы еще ни разу не встречал. Видимо тут какое-то рассогласование в понимании конвертером вашего исходника в польском формате. Попробуйте задать этот же вопрос создателям Mkgmap вот тут:
http://gis.19327.n8.nabble.com/Mkgmap-Development-f5324443.html

Спасибо за совет, попробую задать вопрос там.
Надеюсь, они поймут мой английский… :slight_smile:

Задал вопрос здесь: http://gis.19327.n8.nabble.com/Artifacts-in-final-map-MP-IMG-conversion-tp5932812.html
Выяснилось, что текущая версия Mkgmap не поддерживает мультиполигоны (полигоны с вырезами) в .MP файлах – она просто склеивает строки с координатами внешнего и внутренних полигонов в один большой полигон. :frowning:
Хотелось бы надеяться, что в ближайшем будущем этот “баг” поправят.

Да, уже прочитал. Один из авторов сказал, что сие вполне не сложно реализовать. Но теперь его на это как-то нужно сподвигнуть. :slight_smile: