Mkgmap

2 Larry0ua
Мне здесь Сделали замечание: “Не по теме”.
Наверное, оно справедливое.
Не были бы Вы любезны продолжить “туториал” в предложенной теме
http://forum.openstreetmap.org/viewtopic.php?id=9249
?

продолжаем…
cобираем карту со стилем Stranger (by Max Vasilev: http://forum.openstreetmap.org/viewtopic.php?id=15613)), без тополиний
для этого нам понадобятся:

  1. Распаковать bounds_20120916.zip в папку mkgmap-а, переименовать полученную папку в bounds
  2. С помощью svn-клиента скачать https://velo100mapper.googlecode.com/svn/trunk (CheckOut) в папку mkgmap\stranger
  3. Скачать нужный кусок карты (я вот Украину собираю, качаю http://data.gis-lab.info/osm_dump/dump/latest/UA.osm.pbf )
  4. Разрезать скачанный pbf с помощью splitter-а, на выходе получить 632400xx.osm.pbf, template.args, areas.list
  5. Скопировать stranger.typ из папки mkgmap\stranger в mkgmap (возможно, эту проблему уже давно исправили, нет возможности проверить, соберется ли все без этого шага)
  6. В папке mkgmap создать файл stranger.cfg со следующим содержимым:

gmapsupp
remove-short-arcs
make-poi-index
index
route
generate-sea
code-page=1251
style-file=stranger/stranger
family-id=43
family-name=OSM map
output-dir=d:\img
country-name="UKRAINE"
country-abbr="UA"
read-config=d:\split\template.args

Очевидно, заменить d:\img и d:\split на нужные папки - первая - папка результата, вторая - папка с результатом split-а
7. Запустить mkgmap: java -Xmx1300M -jar mkgmap.jar --read-config=ukrstranger.cfg stranger.typ
8. Получить gmapsupp.img в папке результата.

шаги 1-2,5-6 очевидно, не надо повторять перед сборкой каждой карты.
family-id=43 привязан к такому же значению внутри TYP-файла, карта не подхватит стиль, если значения будут отличаться.

На счет вопросов распостранения карт, сгенерированных с этим стилем - обязательно консультируйтесь с автором.

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

  1. беру здесь http://data.gis-lab.info/osm_dump/dump/BY/ дамп Беларуси в формате .pbf.
  2. Затем: java -Xmx1300M -jar splitter.jar BY-130102.osm.pbf. Получаю в итоге 5 файлов: 64630001.osm.pbf, 64630002.osm.pbf и т.д.
  3. С каждым из 5-ти файлов проводим эту процедуру: java -Xmx1300M -jar mkgmap.jar -c configmap.conf 64630001.osm.pbf. Получаю в итоге 5 файлов 64630001-64630005.img.

configmap.conf:
family-name=OpenStreetMap
description=BELARUS
country-name=“BELARUS”
country-abbr=“BY”
charset=windows-1251
code-page=1251
transparent
lower-case
draw-priority=50
make-poi-index
index
route

  1. Загружаю эти файлы в прибор Garmin Nuvi 1410. Прибор карту видит в меню “ОБЗОР КАРТЫ”. При выборе “КУДА?” - “АДРЕС” пишет, что нет доступных карт. При поиске через меню “ГОРОДА” видит только в радиусе 10-15 км от точки нахождения и маршрут к ним прокладывает.

Собственно вопрос: почему не поиска по адресу и не видит карту.

P.s. есть сайт http://garmin.openstreetmap.nl/, там карта создается сразу (страну только выбрать), но язык карты буржуйский и пользоваться поиском очень плохо.

Скорее всего навигатор работает только с каким-то одним файлом из пяти.

Но splitter кроме pbf-файлов создаёт также template.args, который можно указать в качестве исходного для mkgmap. При этом можно сразу же объединить 5 полученных img-файлов. Для этого, соответственно, нужно добавить параметры --gmapsupp (для объединения кусков в один файл) и -c template.args (вместо -c configmap.conf 64630001.osm.pbf), в прибор нужно будет загрузить только gmapsupp.img

не получается. все тоже самое. В меню “СИСТЕМА”-“О ПРИБОРЕ”-“ПОДРОБНЫЕ КАРТЫ” карта присутствует.

В последних версиях mkgmap появился адресный поиск по номерам домов в выходном файле .img
Только не торопитесь обновляться. Также в последних версиях похерили индекс в кодировках, отличных от CP-1252, и он не работает во всех версиях которые сейчас на сайте разработчиков. Так что опробовать можно, только если собирать карту в транслите с этой кодировкой. Сообщение разработчикам уже послал.
Для включения поиска служит опция --housenumbers. Сам поиск по номерам домов работает несколько необычно: итоговая точка поиска указывет не на дом, а на пространство между домом и улицей, к которой относится дом.

После перехода на mkgmap-r3262 пропали наименования населённых пунктов (точки присутствуют) - не подскажите где копать?

Larry0ua, не могли бы вы актуализировать свой пост #308?
Получилось найти и скачать стиль с github.
Файлы границ - нет.
И .cfg сейчас, видимо, иначе выглядеть должен.
Заранее премного благодарен.

Так, я бы, честно говоря, не заметил, что меня тут упомянули :slight_smile:

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

Без границ картинка показываться будет, не будет работать поиск. Границы можно собрать самостоятельно, либо забрать тут: http://www.mkgmap.org.uk/download/mkgmap.html

Larry0ua, спасибо за ссылку, пригодилось. Картинку получил, но есть нюансы.
Работает поиск по адресам, по имени, по категориям. Маршруты строятся. Но возникла проблема с подписями объектов (точечных и площадных). Не все названия показываются даже при наведении курсора. Например, озёра, населённые пункты, разные категории магазинов, школы, детсады. При этом, те же банки и банкоматы подписываются, кафе и рестораны, улицы - тоже.
В проблемных объектах обычно показывается тип (магазин, школа и т. д.) или просто надпись «безымянный». Всплывает название также у объектов, только что выбранных из результатов поиска.
Сопоставлял, так сказать, с эталоном (оригинальной сборкой, скачанной на сайте чепецк.net) - там всё нормально.
cfg выглядит так:

gmapsupp
description="OSM Belarus 02.09.2015"
country-name="Belarus"
country-abbr="BY"
copyright-message="OpenStreetMap contributors, ODbL"
remove-short-arcs
name-tag-list=name,name:ru,name:be,int_name
make-poi-index
add-pois-to-areas
location-autofill=nearest
index
housenumbers
route
drive-on-right
check-roundabouts
code-page=1251
lower-case
style-file=stranger/stranger
family-id=43
output-dir=g:\Garmin maps
read-config=f:\Install\Navigation\Garmin\mkgmap\template.args

Замечу, что без name-tag-list=name,name:ru,name:be,int_name и lower-case ничего не менялось. Явно проблема со стилем, но что и как там править? Эх, автора бы сюда :expressionless:

Проблема может быть как в стиле, так и в сборке mkgmap. Даже не знаю, чем еще можно помочь.

А кто может подсказать строку запуска mkgmap для создания карты из файлов в польском формате MP?

Здравствуйте! Собрал mp-файл в Global Mapper’е, пытаюсь теперь его загнать в img этой прогой (mkgmap). Стоит xubuntu 16.04. На мои многочисленные попытки попытки прога выдаёт лишь кучу java-error’ов

SEVERE (PolishMapDataSource): /files/documents/ГИС/Garmin/osmexp.mp: error decoding label
java.nio.charset.MalformedInputException: Input length = 1
	at java.nio.charset.CoderResult.throwException(CoderResult.java:281)
	at java.nio.charset.CharsetDecoder.decode(CharsetDecoder.java:816)
	at uk.me.parabola.mkgmap.reader.polish.PolishMapDataSource.recode(PolishMapDataSource.java:586)
	at uk.me.parabola.mkgmap.reader.polish.PolishMapDataSource.isCommonValue(PolishMapDataSource.java:486)
	at uk.me.parabola.mkgmap.reader.polish.PolishMapDataSource.processLine(PolishMapDataSource.java:323)
	at uk.me.parabola.mkgmap.reader.polish.PolishMapDataSource.load(PolishMapDataSource.java:142)
	at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:154)
	at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:52)
	at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:255)
	at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:251)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)

В mp стоит Codepage=1252 по дефолту, пробовал: менять 1251 на 1252 и в команде и в файле, также пробовал методику с закомменчиванием Codepage’а и перекодировкой в utf-8. Не помогло. Что можно сделать, чтобы всё заработало? Так же пробовал загнать в img cgpsmapper’ом, там ошибок не вылетело, но в навигаторе (Garmin ETrex 30) русские названия отображались некорректно (типа Òèï êîìïüþòåðà).

Возьмите здесь образец mp-файла http://gis-lab.info/data/mp/ , откройте в текстовом редакторе и сравните отличие в шапке и в кодировке

Я не просто сравнил, а даже попробовал скомпилировать mp-файл с картой Калмыкии, выложенной на гис-лабе, в img этой прогой, причём пробовал делать это как с помощью mkgmap’а, установленного через репозитории, так и с помощью кроссплатформенной java-версии, в обоих случаях получил уже другую ошибку

Time started: Wed Dec 14 15:13:51 MSK 2016
java.lang.NullPointerException
	at uk.me.parabola.imgfmt.app.net.RoadNetwork.addRestriction(RoadNetwork.java:320)
	at uk.me.parabola.mkgmap.general.MapDetails.addRestriction(MapDetails.java:131)
	at uk.me.parabola.mkgmap.reader.polish.RestrictionHelper.processAndAddRestrictions(RestrictionHelper.java:54)
	at uk.me.parabola.mkgmap.reader.polish.PolishMapDataSource.load(PolishMapDataSource.java:149)
	at uk.me.parabola.mkgmap.main.MapMaker.loadFromFile(MapMaker.java:154)
	at uk.me.parabola.mkgmap.main.MapMaker.makeMap(MapMaker.java:52)
	at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:256)
	at uk.me.parabola.mkgmap.main.Main$1.call(Main.java:252)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Exiting - if you want to carry on regardless, use the --keep-going option
Number of ExitExceptions: 1
Time finished: Wed Dec 14 15:13:54 MSK 2016
Total time taken: 3188ms

Я, признаться, с mkgmap не много возился, но у меня осталось впечатление, что он работает с данными формата OSM , а не с MP

Если у вас есть готовый MP, используйте cgpsmapper (проблема с кодировкой должна решиться конвертацией mp-файла в cp1251, и установкой опции Codepage=1251 в заголовке MP, в секции <img src=" )
Если же вы хотите собрать карту “с нуля”, используйте mkgmap, но данные берите в формате osm/osm.bz2/osm.pbf . Например, тут http://gis-lab.info/projects/osm_dump/"/>

P.S. забудьте про репозитории, они устаревают очень быстро, mkgmap находится в активной разработке

Уважаемые форумчане, я пытаюсь сделать карту для своего прибора Garmin GPSMap 78S с помощью программы MkgMap (версии 3706), используя следующие три стиля:
1 - стиль (default MkgMap) в самой программе
2 - стиль Maptourist (https://github.com/pankdm/mkgmap-maptourist-style) https://forum.openstreetmap.org/viewtopic.php?id=13875
3 - стиль velo100.ru (https://github.com/MaksVasilev/stranger-garmin) https://forum.openstreetmap.org/viewtopic.php?id=15613&p=1

В файл address default стиля я поместил следующие строки:

# Russia
mkgmap:country=RUS & mkgmap:city!=* & (mkgmap:admin_level4='Санкт-Петербург' | mkgmap:admin_level4='Москва') { set mkgmap:city='${mkgmap:admin_level4}' }
mkgmap:country=RUS & mkgmap:city!=* & mkgmap:admin_level8=* { set mkgmap:city='${mkgmap:admin_level8}' }
mkgmap:country=RUS & mkgmap:city!=* & mkgmap:admin_level6=* { set mkgmap:city='${mkgmap:admin_level6}' }

Карты получаются, но вот поиск по адресу работает только на компьютере. На приборе им пользоваться не возможно.
Пробовал искать следующие два адреса:
город Сергиев Посад, улица Бероунская, дом 8
город Осташков, Октябрьская улица, дом 47
Так вот, в программах BaseCamp и MapSource, а также в приборе при использовании 1го и 2го стиля вообще невозможно набрать название города.
При использовании 3го стиля, при наборе города выскакивает выбор района (Осташковского или Сегиево Посадского)
А найти можно только если набирать “городское поселение Осташков” или “городское поселение Сергиев Посад”.
Но такую длинную строку набрать можно только на компьютере, в навигаторе ее набрать не возможно (умещается только “городское поселе”). И потом надо гадать городское или сельское поселение, или городской округ, или волость.

Поделитесь пожалуйста правильным файлом address, или какие строки в нем должны быть, а какие нет. А может еще какой секрет есть, что бы поиск работал.
Поиск нужен только по России.

Eugeny_B, удалось ли добиться успеха? У меня (когда делал попытку самосборки), вроде бы, проблем с поиском не было (собирал Беларусь), а были другие, выше описанные.
К великому сожалению, нигде нет (или мы об этом не знаем) достаточно подробного алгоритма, пользуясь которым любой желающий (в принципе) мог бы в любой момент произвести на свет необходимые карты интересного ему региона (такие же красивые и рабочие, как у сборщиков, выкладывающих для скачивания). В идеале — с несколькими вариантами стилей. Хотя инструменты и данные все имеются.
Поднимал тут отдельную тему по данному вопросу (о децентрализации процесса получения готовых карт, чтобы это мог «каждый дурак» при желании), но она, естественным образом «умерла в зачатке». Так что по-прежнему зависим буквально от нескольких энтузиастов (которые, в свою очередь, зависят ещё от кучи всяких проблем, своих).

LLlypuk82, я наткнулся на эту тему около полутора лет назад. А сейчас (когда Garmin 1,5 года не обновляет карт) она становится актуальной. Какие-то успехи есть и поиск работает иногда лучше чем у velo100 и MapTourist. Но я не программист и не владею английским (ну яндекс или гугл переводчики это мы могем). Мне бы перевод руководства по стилям…размечтался.
Ну про алгоритм, я могу рассказать. И поделиться именно для тех в ком чай заваривают :slight_smile:

  1. Это надо создать структуру папок - чтобы все по полочкам лежало и легко можно было работать. Создаем корневую (основную) папку OSM. В ней создаем шесть папок: _Maps, elevation, poly, styles, tools, work. Если Вы не хотите создавать ТОРО карты то папка содержащая данные высот elevation Вам не нужна. Папка tools содержит шесть папок с программами mkgmap, osmconvert, osmfilter, osmosis, splitter, wget. Все для создания карт больше программ кроме текстового редактора Notepad++ (или подобного) ничего не надо.
  2. Сам алгоритм:
    2.1. Загрузка данных OSM и сопутствующих файлов с помощью программы wget.
    2.2. Вырезание из данных высот необходимой области с помощью программы osmosis.
    2.3. Вырезание из данных OSM этой-же области с помощью программы osmosis.
    2.4. Соединение вырезанных данных высот и OSM с помощью программы osmosis.
    2.5. Создание файлов границ с помощью программ osmconvert, osmfilter, osmosis и mkgmap (я еще не понял, что лучше самому границы создавать или пользоваться готовыми)
    2.6. Разрезание данных OSM нашей области на части с помощью программы splitter.
    2.7. Непосредственно создание карты имя.gmap для MapSource и BaseCamp, а также gmapsupp.img для прибора с помощью программы mkgmap.
    2.8. Забрать готовые карты из папки _Maps.
    Это алгоритм в кратце.
    А вот его исполнение (займет здесь много места), первоначально у меня было так https://www.gpspower.net/creating-maps/295981-mkgmap-tutorials-mkgmap-wiki-links.html увидишь там мое сообщение, в нем файлик OSM.rar
    Сейчас по другому, но понять и изменить что нужно, можно. Я писал себе батники для выполнения программ.
    Не знаю как тут прицепить архив к сообщению, может каждый файл в отдельном сообщении расписать.

Папка styles содержит папки с разными стилями, я их по интернету собирал.

Это второй Вариант (папки с описанными не совпадают)

Создание карты Garmin из данных OSM с помощью Mkgmap
Создание карты Garmin из данных OSM с помощью Mkgmap происходит в 5 этапов:
1.	Загрузка данных OSM и сопутствующих файлов.
2.	Вырезание из данных OSM необходимой области.
3.	Создание файлов границ.
4.	Разрезание данных OSM необходимой области на части.
5.	Непосредственно создание карты.
Некоторые этапы (2, 3, 4) могут быть пропущены или заменены специальными файлами.
Я буду описывать как я создаю карты под системой Windows 7, 10 64-разрядной. Разница с 32-разрядной заключается в количестве выделяемой памяти и соответственно разрядности приложения JAVA.


Загрузка данных OSM и сопутствующих файлов.
Загрузку я осуществляю с помощью программы wget запуская 1_run_download.bat файл.
Ссылку на весь комплект программ я приведу ниже или можете самостоятельно поискать в интернете.
@echo off
set BASEDIR=%CD%
:: =============================================================
echo .
echo .   OSM data download files
echo .
cd %BASEDIR%\input
rem Скачиваем файл данных OSM с http://download.geofabrik.de/index.html
 "%BASEDIR%\wget\bin\wget.exe" "http://download.geofabrik.de/russia-latest.osm.pbf" –N

rem Скачиваем файл данных OSM с http://gis-lab.info/projects/osm_dump/
 "%BASEDIR%\wget\bin\wget.exe" "http://data.gis-lab.info/osm_dump/dump/latest/local.osm.pbf" –N

rem Скачиваем файлы данных границ и береговых линий
 "%BASEDIR%\wget\bin\wget.exe" "http://osm2.pleiades.uni-wuppertal.de/bounds/latest/bounds.zip" -N
 "%BASEDIR%\wget\bin\wget.exe" "http://osm2.pleiades.uni-wuppertal.de/sea/latest/sea.zip" –N
 
rem Скачиваем файлы данных географических имен (нужен какой-нибудь один, а можно и никакой)
 "%BASEDIR%\wget\bin\wget.exe" "http://download.geonames.org/export/dump/cities1000.zip" -N
 "%BASEDIR%\wget\bin\wget.exe" "http://download.geonames.org/export/dump/cities5000.zip" -N
 "%BASEDIR%\wget\bin\wget.exe" "http://download.geonames.org/export/dump/cities15000.zip" -N
 "%BASEDIR%\wget\bin\wget.exe" "http://download.geonames.org/export/dump/RU.zip" –N

Вы можете закоментировать строки с ненужными файлами или добавить по данному шаблону свои регионы. Я скачиваю всю Россию, а потом вырезаю из нее то что мне надо (два федеральных округа или набор областей). Вы вольны выбирать то что Вам надо зайдя на сайты gis-lab.info или download.geofabrik.de и затем изменив названия файлов в 1_run_download.bat скачивать только то что надо


Вырезание из данных OSM необходимой области.
С помощью программы osmosis запуская файл 2_run_cut_poly.bat вырезаем нужную нам область (территорию).
@echo off
set BASEDIR=%CD%
:: =============================================================
cls
echo .
echo .
echo Введите номер - соответствующей выбранной территории
echo 1 - Северо-Западный Федеральный округ и Тверская область
echo 2 - Северо-Западный и Центральный Федеральные округа
echo 3 - области: Ленинградская, Псковская, Новгородская, Тверская и Карелия
echo 4 - 8 областей - 5 областей + Вологодская, Ярославская и Московская
echo 5 - 11 областей - 8 областей + Костромская, Ивановская и Владимирская
echo 0 - Exit -
echo .
set /p pset="Enter № My-Poly - "
echo My-Poly is - %pset%
if %pset%==1 set MYPOLY=szfo_tve.poly
if %pset%==2 set MYPOLY=szfo_cfo.poly
if %pset%==3 set MYPOLY=5-obl-buf20.poly
if %pset%==4 set MYPOLY=8-obl-buf20.poly
if %pset%==5 set MYPOLY=11-obl-buf20.poly
if %pset%==0 goto EOS
:: =============================================================
rem Вырезаем из файла OSM данных нужную площадь
echo .
echo .   cut out the desired data file OSM area
echo .
 call %BASEDIR%\osmosis\bin\osmosis ^
   --read-pbf file=%BASEDIR%\input\local.osm.pbf ^
   --bounding-polygon file=%BASEDIR%\poly\%MYPOLY% completeWays=yes ^
   --write-pbf file=%BASEDIR%\input\MAP.osm.pbf

Обратите внимание на строку    --read-pbf file=%BASEDIR%\input\local.osm.pbf ^
Здесь вместо local.osm.pbf надо указать то имя файла которое Вам надо. 
Например russia-latest.osm.pbf
Poly файлы можно скачать с http://be.gis-lab.info/data/osm_dump/poly/ или сделать самостоятельно.
Чтобы создать самостоятельно, надо в навигаторе или программах BaseCamp или MapSource создать маршрут по границе территории которая Вам нужна и сохранить в формате GPX. Затем зайти на сайт по ссылке http://www.geocaching-dresden.de/tools/gpx-to-poly/index.php и преобразовать маршрут в poly файл. Маршрут должен быть кольцевым (замкнутым, первая точка, она-же и последняя)


Создание файлов границ.
Я создаю файлы границ с помощью программ osmosis и mkgmap запуская файл 3_run_boundary.bat,
@echo off
 set BASEDIR=%CD%
:: =============================================================
rem Очистка целевых каталогов
echo .
echo .   Cleaning the target directory
echo .
 del /q /s %BASEDIR%\boundary\*.*
:: =============================================================
rem Создаём файлы границ из данных OSM Osmosis.
echo .
echo .   Osmosis create boundary out of file OSM data
echo .

call %BASEDIR%\osmosis\bin\osmosis ^
   --read-pbf file=%BASEDIR%\input\MAP.osm.pbf outPipe.0=1 ^
   --buffer inPipe.0=1 outPipe.0=2 ^
   --tag-filter reject-relations inPipe.0=2 outPipe.0=3 ^
   --tag-filter accept-ways boundary=administrative,postal_code inPipe.0=3 outPipe.0=4 ^
   --used-node inPipe.0=4 outPipe.0=5 ^
   ^
   --read-pbf file=%BASEDIR%\input\MAP.osm.pbf outPipe.0=6 ^
   --buffer inPipe.0=6 outPipe.0=7 ^
   --tag-filter accept-relations boundary=administrative,postal_code inPipe.0=7 outPipe.0=8 ^
   --used-way inPipe.0=8 outPipe.0=9 ^
   --used-node inPipe.0=9 outPipe.0=10 ^
   ^
   --merge inPipe.0=5 inPipe.1=10 outPipe.0=11 ^
   --write-pbf file=%BASEDIR%\boundary\local-boundaries.osm.pbf omitmetadata=true compress=deflate inPipe.0=11 

 java -cp %BASEDIR%\mkgmap\mkgmap.jar ^
     uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor ^
     %BASEDIR%\boundary\local-boundaries.osm.pbf %BASEDIR%\boundary\local

 но можно и воспользоваться уже готовым файлом bounds.zip и переименовав в папке styles файл optionsfile3.args или optionsfile4.args в optionsfile.args


Разрезание данных OSM необходимой области на части.
Бывают довольно большие osm-файлы, mkgmap на них будет ругаться, с сообщением:
There is not enough room in a single garmin map for all the input data
   The .osm file should be split into smaller pieces first.
Такие файлы предварительно надо нарезать splitter-ом
Я это делаю запустив 4_run_splitting.bat.
@echo off
set BASEDIR=%CD%
:: =============================================================
rem Очистка целевых каталогов
echo .
echo .   Cleaning the target directory
echo .
 del /q /s %BASEDIR%\output\*.*
 del /q /s %BASEDIR%\tiles\*.*
:: =============================================================
rem Разбиваем файл данных OSM на плитки Splitter-ом.
echo .
echo .   Splitting a file OSM data
echo .
rem java -Xmx512m -jar %BASEDIR%\splitter\splitter.jar ^
 java -Xmx3G -jar %BASEDIR%\splitter\splitter.jar ^
  --max-nodes=1600000 ^
  --overlap=0 ^
  --output-dir=%BASEDIR%\output ^
  --write-kml=%BASEDIR%\tiles\tiles.kml ^
  --output=pbf ^
  --keep-complete=true ^
  --no-trim ^
  %BASEDIR%\input\MAP.osm.pbf > %BASEDIR%\splitter\logs\splitter.log

 "%PROGRAMFILES(x86)%\GPSBabel\gpsbabel" -i kml -o osm -f %BASEDIR%\tiles\tiles.kml -F %BASEDIR%\tiles\tiles.osm
 "%PROGRAMFILES(x86)%\GPSBabel\gpsbabel" -i kml -o gpx -f %BASEDIR%\tiles\tiles.kml -F %BASEDIR%\tiles\tiles.gpx
 "%PROGRAMFILES(x86)%\GPSBabel\gpsbabel" -i kml -o gdb -f %BASEDIR%\tiles\tiles.kml -F %BASEDIR%\tiles\tiles.gdb

Если Вам не нужны (для исследования) файлы tiles.* то надо удалить последние строки начинающиеся с  "%PROGRAMFILES(x86)%\GPSBabel\gpsbabel"….,
 а также строку   --write-kml=%BASEDIR%\tiles\tiles.kml ^ 
Для использования геоданных надо добавить в параметры следующую строку
--geonames-file=%BASEDIR%\input\cities15000.zip ^
Или cities1000.zip, или cities5000.zip, или RU.zip – кому что нравится

Создание карты.
Запускаем 5_run_create.bat.
@echo off
 set BASEDIR=%CD%
:: =============================================================
echo .
echo .
echo Введите номер - соответствующего выбранного стиля
echo создоваемой карты
echo 1 - maptourist - стиль карт с http://maptourist.org/file/category/3-garmin/
echo 2 - stranger - стиль карт с http://velo100.ru/gps/download
echo 3 - My-style - стиль карт Mkgmap default + J-Typ-v161.typ
echo .
set /p NAME="Enter NAME Style - "
echo NAME Style is - %NAME%
if %NAME%==1 goto style1
if %NAME%==2 goto style2
if %NAME%==3 goto style3

goto EOS

rem set MYSTYLE=      - Имя папки со стилем, имя стиля
rem set MYFID=        - FID карты
rem set MYTYP=        - Имя TYP файла без расширения

:style1
 set MYSTYLE=maptourist
 set MYFID=480
 set MYTYP=M00001e0
goto pusk

:style2
 set MYSTYLE=stranger
 set MYFID=43
 set MYTYP=M000002b
goto pusk

:style3
 set MYSTYLE=My-style
 set MYFID=1000
 set MYTYP=J-Typ-v161
goto pusk


:default
 set MYSTYLE=%MYSTYLE%
 set MYFID=%MYFID%
 set MYTYP=%MYTYP%

:pusk
:: =============================================================
rem Очистка целевых каталогов
echo .
echo .    Cleaning the target directory for Creating.
echo .
 del /q /s %BASEDIR%\_Garmin\%MYSTYLE%.img
 del /q /s %BASEDIR%\_MapSource\%MYSTYLE%\*.*
 rmdir /q %BASEDIR%\_MapSource\%MYSTYLE%\
 mkdir %BASEDIR%\_MapSource\%MYSTYLE%
:: =============================================================
rem Создаем карту с помощью MKGMAP
echo .
echo .    Create a map using MKGMAP...
echo .
 cd "%BASEDIR%\output\"
rem java -Xmx1024m -jar "%BASEDIR%\mkgmap\mkgmap.jar" ^
 java -Xmx3G -jar "%BASEDIR%\mkgmap\mkgmap.jar" ^
 --output-dir=%BASEDIR%\_MapSource\%MYSTYLE% ^
 --description="OSM %MYSTYLE% v. %DATE%" ^
 --family-name="OpenStreetMap + %MYSTYLE%" ^
 --series-name="Russia" ^
 --overview-mapname="OSM_%MYSTYLE%" ^
 --area-name="OSM %DATE%" ^
 --copyright-message="OpenStreetMap CC-BY-SA 2.0, ST-GIS CC-BY-SA 3.0, %MYSTYLE%" ^
 --family-id=%MYFID% ^
 --keep-going ^
 --read-config=%BASEDIR%\styles\optionsfile.args ^
 --style-file=%BASEDIR%\styles\%MYSTYLE% ^
 -c %BASEDIR%\output\template.args %BASEDIR%\styles\%MYSTYLE%\%MYTYP%.typ 
pause
:: =============================================================
rem Копирование карт в выходные каталоги
echo .
echo .    Copying gmapsupp.img into output...
echo .
 cd "%BASEDIR%"
 move /y %BASEDIR%\_MapSource\%MYSTYLE%\gmapsupp.img %BASEDIR%\_Garmin
 rename %BASEDIR%\_Garmin\gmapsupp.img %MYSTYLE%.img

Вы можете изменить опции в файле %BASEDIR%\styles\optionsfile.args


Не забывам забирать готовые карты в папках:
	_Garmin		Для прибора
	_MapSource	Для программ MapSource и BaseCamp

Теперь надо поблагодарить создателей программ, скриптов и всех создавших и поддерживающих проект OpenStreetMap.

Stranger (by Max Vasilev: http://forum.openstreetmap.org/viewtopic.php?id=15613 ) за предоставленный Стиль карт для Garmin сайта velo100.ru https://github.com/MaksVasilev/stranger-garmin 
На счет вопросов распостранения карт, сгенерированных с этим стилем - обязательно консультируйтесь с автором.

Maptourist (by ValentinAK: http://forum.openstreetmap.org/viewtopic.php?id=13875  ) за предоставленный Стиль карт для Garmin сайта http://maptourist.org/file/category/3-garmin 
На счет вопросов распостранения карт, сгенерированных с этим стилем - обязательно консультируйтесь с автором.

Коллектив ( http://forum.openstreetmap.org/viewtopic.php?id=13884 )  за предоставленный Стиль карт для Garmin сайта http://freizeitkarte-osm.de/

Программа mkgmap http://www.mkgmap.org.uk/download/mkgmap.html 
Программа splitter http://www.mkgmap.org.uk/download/splitter.html 
Программа osmosis http://bretth.dev.openstreetmap.org/osmosis-build/osmosis-latest.zip 
Программа wget http://www.gnu.org/software/wget/ 
Проект OSM https://ru.wikipedia.org/wiki/OpenStreetMap 
Русскоязычный форум http://forum.openstreetmap.org/viewforum.php?id=21 


Дальше продолжу позже.