You are not logged in.

#301 2012-10-17 08:37:14

Larry0ua
Member
Registered: 2010-09-19
Posts: 1,061

Re: Mkgmap

Давайте начнем с простого.
1. нам нужна консоль (<Win+R> -> cmd -> <enter>).
2. Переходим в папку со скачанным mkgmap (cd <имя-папки>).
3. Скачиваем с http://gis-lab.info/projects/osm_dump/ Амурскую область в формате pbf (на нем тренируемся) в папку mkgmap-а
4. В консоли набираем: java -Xmx1G -jar mkgmap.jar <скачанный-кусок>
5. После успешного запуска берем в папке mkgmap-а файл 63240001.img, заливаем в навигатор и "наслаждаемся" дефолтным стилем.

если п.4 выдает что-то вроде "Команда не найдена - java", значит, надо установить JRE c сайта Оракла.

Offline

#302 2012-10-17 14:06:12

Сергей-Питер
Member
From: Санкт-Петербург
Registered: 2012-09-24
Posts: 222

Re: Mkgmap

Larry0ua wrote:

Давайте начнем с простого.
...
5. После успешного запуска берем в папке mkgmap-а файл 63240001.img, заливаем в навигатор и "наслаждаемся" дефолтным стилем....

Файл 63240001.img получился. Хоть какие то подвижки. "О Великий Larry0ua":)

Остается разобраться, что делали и что получилось.
Делали: запустили mkgmap (параметры по умолчанию), увеличили размер памяти виртуальной машины до 1GB, получили на выходе файл. Тут ПОКА все понятно
Что получили? Файл-карту Амурской области (Файл открывается в GPSMapEdit, на его базе можно создать контейнер - но в нем отсутствует routing).
Это ведь не контейнер для установки в навигатор? Почему Вы пишете "...заливаем в навигатор и "наслаждаемся" дефолтным стилем..."?
Спасибо.

Offline

#303 2012-10-17 15:12:14

Larry0ua
Member
Registered: 2010-09-19
Posts: 1,061

Re: Mkgmap

Сергей-Питер wrote:

Файл 63240001.img получился. Хоть какие то подвижки.

Хорошо, раз получилось.

Мой Garmin Dakota 20, если ему этот файл положить в папку Garmin самого навигатора, воспримет как еще одну добавленную карту (поэтому не использую MapSource)

Продолжаем туториал.

Бывают довольно большие 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-ом (http://www.mkgmap.org.uk/page/tile-splitter)

для этого:
1. Скачаем Краснодарский край с уже известного источника, положим в папку с распакованным splitter.
2. Запускаем: java -Xmx1G -jar splitter.jar RU-KDA.osm.pbf
3. Получаем на выходе 63240001 - 63240004.osm.pbf, areas.list, template.args - их надо переместить в папку mkgmap-а
4. Запускаем mkgmap: java -Xmx1G -jar mkgmap.jar --gmapsupp --route --generate-sea --code-page=1251 -c template.args
Тут мы просим mkgmap собрать за нас все полученные файлы в один контейнер (остальные файлы все равно останутся, но нам будет нужен только gmapsupp.img), собрать карту с рутингом и морем, исправляем проблемы с кодировкой (если были, конечно), и используем файлы, нарезанные splitter-ом.

Offline

#304 2012-10-17 15:54:36

Сергей-Питер
Member
From: Санкт-Петербург
Registered: 2012-09-24
Posts: 222

Re: Mkgmap

2Larry0ua
Сплиттер, я так понимаю, нужно класть туда же где и mkgmap?
Или можно класть в свою папку, а после переносить полученные файлы в mkgmap

Какая то куча-мала получается.

Offline

#305 2012-10-17 16:09:25

Larry0ua
Member
Registered: 2010-09-19
Posts: 1,061

Re: Mkgmap

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

Offline

#306 2012-10-17 19:41:01

Сергей-Питер
Member
From: Санкт-Петербург
Registered: 2012-09-24
Posts: 222

Re: Mkgmap

2 Larry0ua
Все получилось. Собрался контейнер. Маршруты прокладываются, разбирается GmapTool-сом.
Внешний вид "по умолчанию", конечно, - ужасный (отчетливо видны квадраты нарезанные splitter-ом).
У полигонов - один формат: горизонтальная штриховка.

А у опций mkgmap должна быть именно такая последовательность

Larry0ua wrote:

...
4. Запускаем mkgmap: java -Xmx1G -jar mkgmap.jar --gmapsupp --route --generate-sea --code-page=1251 -c template.args
Тут мы просим mkgmap собрать за нас все полученные файлы в один контейнер (остальные файлы все равно останутся, но нам будет нужен только gmapsupp.img), собрать карту с рутингом и морем, исправляем проблемы с кодировкой (если были, конечно), и используем файлы, нарезанные splitter-ом
...

--gmapsupp --route --generate-sea --code-page=1251

или может быть произвольная?

Last edited by Сергей-Питер (2012-10-17 21:01:28)

Offline

#307 2012-10-19 12:02:02

Сергей-Питер
Member
From: Санкт-Петербург
Registered: 2012-09-24
Posts: 222

Re: Mkgmap

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

Offline

#308 2012-10-22 12:18:19

Larry0ua
Member
Registered: 2010-09-19
Posts: 1,061

Re: Mkgmap

продолжаем...
cобираем карту со стилем Stranger (by Max Vasilev: http://forum.openstreetmap.org/viewtopic.php?id=15613), без тополиний
для этого нам понадобятся:
- SVN-клиент для скачивания стиля - http://tortoisesvn.net, например
- архив с файлами границ - http://www.navmaps.eu/index.php/developers/bound

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/ … 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-файла, карта не подхватит стиль, если значения будут отличаться.

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

Offline

#309 2013-01-02 16:46:05

kolya621
Member
Registered: 2013-01-02
Posts: 3

Re: Mkgmap

здравствуйте.
помогите разобраться с проблемой.
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

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

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

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

Offline

#310 2013-01-03 16:13:55

ad47
Member
Registered: 2012-10-14
Posts: 225

Re: Mkgmap

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

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

Offline

#311 2013-01-04 19:58:54

kolya621
Member
Registered: 2013-01-02
Posts: 3

Re: Mkgmap

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

Offline

#312 2013-07-27 09:12:08

RusFox
Member
From: С-Пб
Registered: 2012-06-05
Posts: 469
Website

Re: Mkgmap

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

Last edited by RusFox (2013-07-27 09:12:57)


Информация для всех... Даром... И пусть никто не уйдет обиженным!
WEB-анализатор треков | Interactive map for Zabbix

Offline

#313 2014-05-11 20:02:10

Paravoz
Member
From: Ярославль
Registered: 2009-12-01
Posts: 705

Re: Mkgmap

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

Offline

#314 2015-09-08 02:37:47

LLlypuk82
Member
From: Витебск (Беларусь)
Registered: 2012-12-23
Posts: 2,476
Website

Re: Mkgmap

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

Offline

#315 2015-09-08 10:57:25

Larry0ua
Member
Registered: 2010-09-19
Posts: 1,061

Re: Mkgmap

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

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

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

Offline

#316 2015-09-09 04:47:12

LLlypuk82
Member
From: Витебск (Беларусь)
Registered: 2012-12-23
Posts: 2,476
Website

Re: Mkgmap

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 ничего не менялось. Явно проблема со стилем, но что и как там править? Эх, автора бы сюда neutral

Last edited by LLlypuk82 (2015-09-09 04:56:07)

Offline

#317 2015-09-09 09:46:31

Larry0ua
Member
Registered: 2010-09-19
Posts: 1,061

Re: Mkgmap

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

Offline

#318 2016-07-15 21:22:49

Eugeny_B
Member
Registered: 2014-11-30
Posts: 297

Re: Mkgmap

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

Offline

#319 2016-12-13 19:56:32

igudav
New Member
Registered: 2016-12-13
Posts: 2

Re: Mkgmap

Здравствуйте! Собрал 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) русские названия отображались некорректно (типа Òèï êîìïüþòåðà).

Offline

#320 2016-12-13 20:16:32

gryphon
Member
From: Pskov
Registered: 2010-09-16
Posts: 1,687

Re: Mkgmap

igudav wrote:

Так же пробовал загнать в img cgpsmapper'ом, там ошибок не вылетело, но в навигаторе (Garmin ETrex 30) русские названия отображались некорректно (типа Òèï êîìïüþòåðà).

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

Offline

#321 2016-12-14 13:17:37

igudav
New Member
Registered: 2016-12-13
Posts: 2

Re: Mkgmap

gryphon wrote:
igudav wrote:

Так же пробовал загнать в 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

Offline

#322 2016-12-14 14:11:03

gryphon
Member
From: Pskov
Registered: 2010-09-16
Posts: 1,687

Re: Mkgmap

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

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

Offline

#323 2016-12-14 14:13:12

gryphon
Member
From: Pskov
Registered: 2010-09-16
Posts: 1,687

Re: Mkgmap

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

Last edited by gryphon (2016-12-14 14:13:28)

Offline

#324 2016-12-15 21:34:05

Eugeny_B
Member
Registered: 2014-11-30
Posts: 297

Re: 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/viewtop … =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, или какие строки в нем должны быть, а какие нет. А может еще какой секрет есть, что бы поиск работал.
Поиск нужен только по России.

Offline

#325 2017-07-27 23:45:18

LLlypuk82
Member
From: Витебск (Беларусь)
Registered: 2012-12-23
Posts: 2,476
Website

Re: Mkgmap

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

Last edited by LLlypuk82 (2017-07-27 23:47:02)

Offline

Board footer

Powered by FluxBB