You are not logged in.

Announcement

*** NOTICE: By 30th of September 2022 the forum.openstreetmap.org will be retired, please request a category for your community in the new ones as soon as possible using this process, which will allow you to propose your community moderators. We expect the migration of data will be finished by that date, you can follow its progress here.***

#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: 238

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: 238

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: 238

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: 238

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: 726

Re: Mkgmap

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

Offline

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

LLlypuk82
Member
Registered: 2012-12-23
Posts: 2,512
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
Registered: 2012-12-23
Posts: 2,512
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: 339

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,690

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,690

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,690

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: 339

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
Registered: 2012-12-23
Posts: 2,512
Website

Re: Mkgmap

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

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

Offline

Board footer

Powered by FluxBB