You are not logged in.
- Topics: Active | Unanswered
#376 2018-03-05 02:16:57
- Eugeny_B
- Member
- Registered: 2014-11-30
- Posts: 328
Re: Mkgmap
Валентин, я тебе присылал файл status, обрати внимание, что для рабочего поиска сокращение "ул." вместо "улица" нужно делать в ТРЕХ местах: 1. highway=* & name 2. addr:street 3. mkgmap:street
То есть "Имя улицы" должно до буквенно совпадать с addr:street указанной на доме и совпадать в момент производства карты с внутренней переменной mkgmap:street при создании индекса.
А иначе поиск работать не будет. Пример твоя уже вчерашняя карта: город Нарва, улица Александра Пушкина, дом 17 на твоей карте не ищется, потому что, в тегах имени улицы есть name:ru=улица Александра Пушкина, а в тегах дома 17 прописано addr:street=Aleksander Puškini, возможно пример не корректный так как в тегах дома 17 прописано еще addr:city=Narva, но поверь, что даже без тега addr:city=Narva поиск все равно работать не будет, так как name:ru и addr:street не совпадают.
Теперь разложим твою строку: Если страна Россия и внутренняя переменная mkgmap:street ничему не равна и highway любой, то установить addr:street='без названия'. И сразу вопрос, а куда или кому/чему установить addr:street='без названия'.
Ведь нам надо чтобы этот тег был установлен на здании, а highway в данном населенном пункте получил имя 'без названия' иначе совпадения не будет и поиск не сработает.
https://www.openstreetmap.org/query?lat … n=38.14211 вот тут хоть и стоит тег на здании addr:place=Скоропусковский и вроде можно его скопировать в addr:street=Скоропусковский, но как проездам, улицам и дорогам прописать name=Скоропусковский я не знаю, мой стиль подставляет не всем этим проездам и т.д. только в этом нас. пункте имя улицы А-108 и поиск работает по ней. Скоропусковский, А-108, дом 2, 3, 6 только три дома. Но это в этом, а в других? Позже проверю как на туристическом приборе, а на Nuvi из этой ситуации выхожу просто: Искать адрес -> Город -> Прибор просит ввести улицу, а ничего не ввожу и нажимаю "Готово" -> получаю список улиц в этом населенном пункте (даже притянутые) Выбираю -> Просит ввести №дома, опять готово и выбираю из того что есть (Но не все дома получают притянутый адрес), да и хочется решить эту проблему тоже.
Last edited by Eugeny_B (2018-03-05 02:42:31)
Offline
#377 2018-09-03 14:04:10
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
Сокращения нужны только для повышения читабельности надписей на экранах с невысоким разрешением. Для целей организации поиска нужно просто наладить разделение слов в названиях (компиляция с ключем --split-name-index) и отделение их от префиксов и суффиксов (улица, бульвар, шоссе и др.). Для этого в конфигах есть специальный файл, где оно настраивается - roadNameConfig.txt
# russian
prefix1:ru = "улица", "переулок", "проспект", "проезд", "разъезд", "тракт", "площадь", "бульвар", "шоссе", "дорога", "тупик", "микрорайон", "аллея", "линия", "набережная"
prefix2:ru = "им.", "имени"
suffix:ru = "улица", "переулок", "проспект", "проезд", "разъезд", "тракт", "площадь", "бульвар", "шоссе", "дорога", "тупик", "микрорайон", "аллея", "линия", "набережная"
lang:RUS = ru
Еще одна ежедневная сборка OSM для Garmin.
Offline
#378 2018-09-03 14:17:22
- Eugeny_B
- Member
- Registered: 2014-11-30
- Posts: 328
Re: Mkgmap
Ну хоть через 4 месяца ответил, спасибо.
Сокращения я использую на туристических приборах как ты и говоришь для повышения читабельности. Пользователи автомобильных приборов попросили без сокращений, так как злая тетка плохо понимает сокращения и получается забавное произношение улиц. А перенос префиксов в конец имени (то есть делая из них суффиксы) я делал что бы получить однообразие отображения улиц при поиске. Все это я делал до введения в mkgmap функции roadNameConfig.
Offline
#379 2018-09-12 17:55:13
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
Два дня бился с проблемой. Оказывается TYPViewer работая под Windows 10 портит тхт-файл исходника, сволочь! Причем как изощренно это происходит - он перемешивает картинки POI с кодом какой-нибудь другой. В итоге смотришь на карту и офигеваешь, не понимая, что происходит. И никак это побороть не получилось.
В итоге вернул обратно старый SSD с Windows 7 и все опять нормально заработало. Ахренеть.
Еще одна ежедневная сборка OSM для Garmin.
Offline
#380 2018-09-13 20:33:28
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
Так. Вроде начинает все немного проясняться.
Сегодня вернулся к разбору описанной выше проблемы более подробно. TYPViewer под Windows 7 сохраняет коды точек в таком виде:
[_point]
Type=0x11711
А вот в Windows 10 ровно тот же TYPViewer уже пишет вот так:
Type=0x117
SubType=0x11
И это Mkgmap уже отказывается корректно транслировать. Если открыть готовый TYP-файл, то мы увидим следующее:
Type=0x001
SubType=0x11
При этом коды линий и полигонов остаются в прежнем виде, когда одной строчкой описывается и тип, и подтип. Корежит только блок с точками. Завтра попробую связаться с разработчиком TYPViewer.
Такие дела...
Еще одна ежедневная сборка OSM для Garmin.
Offline
#381 2018-09-13 23:20:38
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
Победил, блин. Бессмысленно и беспощадно "с умом" потрачена куча времени. Кто бы мог подумать, что сие находится в настройках самого TYPViewer.
Еще одна ежедневная сборка OSM для Garmin.
Offline
#382 2018-09-14 07:00:11
- Eugeny_B
- Member
- Registered: 2014-11-30
- Posts: 328
Re: Mkgmap
А у меня давно оказывается так, только вместо французского - русский
Offline
#383 2018-09-27 17:55:25
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
В файле style-manual.pdf нашел такие строки, может с помощью их что-то получится?
if (mkgmap:option:routing=car) then
include "inc/car-rules"
end
Если поменять routing=car и car-rules на нужные нам code-page=1251 и status
как думаешь, получится?
Немного иначе, но получилось!
Для того, что бы заработала эта логика нужно ввести свою собственную переменную при компиляции карты. В моем случае она выглядит так:
--style-option=code-page=1250
или
--style-option=code-page=1251
И вот тогда уже можно сделать переключение разных настроек в зависимости от языка:
if (mkgmap:option:code-page=1251) then
include "inc/name-ru";
end
if (mkgmap:option:code-page=1250) then
include "inc/name-en";
end
Я вынес в отдельные файлы все, что касается переводов и имен по умолчанию.
Единственный момент - при внедрении такого переключения в файл настроек линий, при компиляции все они просто пропадали. Природа этого явления мне пока не понятна. Так что пришлось сделать два логических блока if-then внутри файла lines отвечающих за языковое разделение, без ссылки на внешние файлы.
Last edited by ValentinAK (2018-09-27 17:55:58)
Еще одна ежедневная сборка OSM для Garmin.
Offline
#384 2018-10-08 15:35:50
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
Прорыв года, практически, блин. Я нашел способ, как отображать в моем ущербном Nuvi-1490 некоторые важные точки! Например светофоры и броды. До этого я безуспешно пытался подобрать какой-то из пригодных для этого типов poi но без особых результатов. И вот я-таки нащупал логику. Смысл в том, что у точки должно быть имя. И только с ним навигатор считает нужным такую точку показать на экране. Пускай в typ-файле отображение названия отключено, но в данных оно быть должно. В своем файле настроек русскоязычных названий я это сделал вот так:
(highway=traffic_signals | crossing=traffic_signals) & name!=* {set name='светофор'}
(highway=ford | ford=yes) & name!=* {set name='брод'}
Но еще есть Nuvi-2797LMT, который точки показывает вообще от балды, по-моему. Как к его логике найти подход, вот вопрос.
Еще одна ежедневная сборка OSM для Garmin.
Offline
#385 2018-10-09 06:08:24
- borism346
- Member
- From: Minsk
- Registered: 2008-11-12
- Posts: 910
Re: Mkgmap
Смысл в том, что у точки должно быть имя. И только с ним навигатор считает нужным такую точку показать на экране. Пускай в typ-файле отображение названия отключено, но в данных оно быть должно.
Такая же логика и у моего Garmin-Asus M10e. Также при конвертации пришлось давать имена многим объектам и отключать отображение в typ-файле .
Offline
#386 2018-11-25 00:42:38
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
Граждане. А как обрабатывать значение у ключа, которое содержит в себе точку с запятой?
Пример:
whitewater=put_in;egress
Еще одна ежедневная сборка OSM для Garmin.
Offline
#387 2018-11-25 16:46:05
- pfg21
- Member
- From: Чебоксары
- Registered: 2012-10-18
- Posts: 4,167
Re: Mkgmap
; - перечисление
т.е whitewater=put_in;egress равноцено одновременному присутствию на объекте и whitewater=put_in и whitewater=egress
Offline
#388 2018-11-25 21:26:17
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
; - перечисление
т.е whitewater=put_in;egress равноцено одновременному присутствию на объекте и whitewater=put_in и whitewater=egress
Нет. И Overpass это недвусмысленно подтверждает.
Еще одна ежедневная сборка OSM для Garmin.
Offline
#389 2018-11-25 21:57:02
- wowik
- Member
- From: Zelenograd
- Registered: 2009-09-29
- Posts: 9,302
Re: Mkgmap
; - перечисление
Но оно не приветствуется и не всеми и не везде поддерживается.
Offline
#390 2018-11-25 22:02:55
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
Это я знаю, но хотелось бы придумать способ прикладного применения в случае обсуждаемого конвертера.
Еще одна ежедневная сборка OSM для Garmin.
Offline
#391 2018-11-26 07:29:51
- pfg21
- Member
- From: Чебоксары
- Registered: 2012-10-18
- Posts: 4,167
Re: Mkgmap
не мапьте под рендер. автор оверпаса мог вполне решить что не будет поддерживать ";"
но применения в данном случае такое, что на объекте два тега, как я и написал.
Offline
#392 2018-11-26 11:00:11
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
Как раз все строго наоборот: whitewater=put_in;egress находится. А вот whitewater=put_in & whitewater=egress - нет. Что вовсе не удивительно по причине отсутствия такой связки тегов в базе, ибо нет технической возможности иметь на одном объекте два ключа с одинаковым названием.
Еще одна ежедневная сборка OSM для Garmin.
Offline
#393 2018-11-26 12:10:56
- pfg21
- Member
- From: Чебоксары
- Registered: 2012-10-18
- Posts: 4,167
Re: Mkgmap
значит я вас не правильно понял.
потому и ввели перечисление. к примеру в shop очень часто попадаются.
Offline
#394 2018-11-28 19:31:57
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
Граждане. А как обрабатывать значение у ключа, которое содержит в себе точку с запятой?
Получилось через применение регулярного выражения.
whitewater ~ 'put_in\p{Punct}egress' [0x6516 resolution 24]
Еще одна ежедневная сборка OSM для Garmin.
Offline
#395 2018-11-29 13:43:21
- ValentinAK
- Member
- From: notMoscow, Russia
- Registered: 2010-07-06
- Posts: 721
- Website
Re: Mkgmap
Умные люди подсказали еще боле простое и изящное решение - просто забрать значение ключа в одинарные кавычки.
whitewater='put_in;egress' [0x6516 resolution 24]
Еще одна ежедневная сборка OSM для Garmin.
Offline
#396 2019-01-10 06:48:35
- Lazarev
- Member
- From: Смоленск
- Registered: 2019-01-10
- Posts: 17
Re: Mkgmap
Загрузка данных 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" –Nrem Скачиваем файл данных OSM с http://gis-lab.info/projects/osm_dump/
rem "%BASEDIR%\wget\bin\wget.exe" "http://data.gis-lab.info/osm_dump/dump/ … al.osm.pbf" –Nrem Скачиваем файлы данных границ и береговых линий
"%BASEDIR%\wget\bin\wget.exe" "http://osm2.pleiades.uni-wuppertal.de/b … bounds.zip" -N
"%BASEDIR%\wget\bin\wget.exe" "http://osm2.pleiades.uni-wuppertal.de/s … st/sea.zip" –Nrem Скачиваем файлы данных географических имен (нужен какой-нибудь один, а можно и никакой)
"%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/dum … s15000.zip" -N
"%BASEDIR%\wget\bin\wget.exe" "http://download.geonames.org/export/dump/RU.zip" –N
Доброго всем дня.
Пытаюсь создать этот файл по описанию, но выдает ошибку что не может скачать bounds.zip и sea.zip.
Подскажите так же если мне нужна объединенная карта Могилёвской области и Смоленской области то мне нужно скачивать карту России и Беларусь или карту всего мира.
Чтобы создать самостоятельно, надо в навигаторе или программах BaseCamp или MapSource создать маршрут по границе территории которая Вам нужна и сохранить в формате GPX. Затем зайти на сайт по ссылке http://www.geocaching-dresden.de/tools/ … /index.php и преобразовать маршрут в poly файл. Маршрут должен быть кольцевым (замкнутым, первая точка, она-же и последняя)
Этот инструмент сейчас не работает, есть ли альтернатива?
Last edited by Lazarev (2019-01-10 07:07:24)
Offline
#397 2019-01-10 17:49:51
- Eugeny_B
- Member
- Registered: 2014-11-30
- Posts: 328
Re: Mkgmap
http://www.mkgmap.org.uk/download/mkgmap.html
Вот здесь смотрите и найдете.
нужно скачивать карту России и Беларусь вырезать свои области, объеденить и обработать.
И вот это прочитай https://rutracker.org/forum/viewtopic.p … 6#74969416
http://www.gps-forum.ru/forum/viewtopic.php?f=3&t=39189
Last edited by Eugeny_B (2019-01-10 17:52:50)
Offline
#398 2019-01-10 17:54:40
- Eugeny_B
- Member
- Registered: 2014-11-30
- Posts: 328
Re: Mkgmap
Вот копирнул с рутрекера свой пост.
Описание создания карты.
1. Для того чтобы сделать горизонтали с нужным шагом и для создания 3D карты надо скачать файлы покрывающие нужную территорию вот от сюда (возможно есть и другие места) http://viewfinderpanoramas.org/Coverage … s_org3.htm
Для обработки этих файлов можно использовать https://wiki.openstreetmap.org/wiki/Srtm2Osm или https://wiki.openstreetmap.org/wiki/OSM … aphic_maps я использовал https://github.com/FSofTlpz/Hgt2Osm2 и получил файл данных горизонталей в формате osm.pbf (понадобится программа https://wiki.openstreetmap.org/wiki/Osmosis или https://wiki.openstreetmap.org/wiki/Osmconvert) я пользовался Osmosis
2. Данные OSM в формате osm.pbf для создания карты можно скачать http://download.geofabrik.de/ или http://gis-lab.info/projects/osm_dump/ сами выбирайте что вам подходит. Я качал http://data.gis-lab.info/osm_dump/dump/ … al.osm.pbf это территория бывшего СССР. Обратите внимание на Poly-файлы: http://data.gis-lab.info/osm_dump/poly/ и на http://download.geofabrik.de/ они нужны для вырезания из данных OSM необходимых территорий (на пример: я создав Poly-файл http://www.gps-forum.ru/forum/viewtopic.php?f=3&t=39189 вырезаю из СССР только перечисленные в первом сообщении области и республики).
3. Соединяем в один файл данных данные OSM и данные горизонталей. Для этого (для соединения и вырезания) используем программы Osmosis или Osmconvert.
4. Далее приступаем к созданию карты с помощью https://wiki.openstreetmap.org/wiki/Mkgmap я уже описывал процесс создания https://forum.openstreetmap.org/viewtop … =9249&p=14 здесь немного добавлю.
Программа Mkgmap сама может создать карту 3D для Garmin.
Если знаете английский можно писать разработчикам о проблемах http://gis.19327.n8.nabble.com/Mkgmap-D … 24443.html
Примеры стилей для Mkgmap https://wiki.openstreetmap.org/wiki/Use … map_styles
Для правильного адресного поиска данные OSM необходимо обрабатывать, понадобится программа https://wiki.openstreetmap.org/wiki/Osmfilter
Вот и все.
P.S. Всем удачи в Ваших начинаниях.
Last edited by Eugeny_B (2019-01-10 17:56:55)
Offline
#399 2019-01-10 20:54:31
- Lazarev
- Member
- From: Смоленск
- Registered: 2019-01-10
- Posts: 17
Re: Mkgmap
Пытаюсь создать этот файл по описанию, но выдает ошибку что не может скачать bounds.zip и sea.zip.
Нашел вписал новые ссылки на файлы заработал 1_run_download.bat
заработал 2_run_cut_poly.bat (пока остановился на Смоленской обл.)
установил osmosi заработал 3_run_boundary.bat
установил GPSBabe для 4_run_splitting.bat заработало.
Возникла ошибка при выполнении 5_run_create.bat
Пишет
1 - maptourist - стиль карт с http://maptourist.org/file/category/3-garmin/
2 - stranger - стиль карт с http://velo100.ru/gps/download
3 - My-style - стиль карт Mkgmap default + J-Typ-v161.typ
.
Enter NAME Style - 1
NAME Style is - 1
.
. Cleaning the target directory for Creating.
.
Не удается найти указанный файл.
.
. Create a map using MKGMAP...
.
Error occurred during initialization of VM
Could not reserve enough space for 3145728KB object heap
Подскажите как исправить?
выполняется команда при выборе 1 пункта
:style1
set MYSTYLE=p-map
set MYFID=480
set MYTYP=p-map
goto pusk
Стили скачал в папку styles\p-map
брал из https://wiki.openstreetmap.org/wiki/Use … yles#P-Map
Last edited by Lazarev (2019-01-10 21:14:49)
Offline
#400 2019-01-10 21:14:40
- Eugeny_B
- Member
- Registered: 2014-11-30
- Posts: 328
Re: Mkgmap
1 - maptourist - стиль карт с https://maptourist.org/osm-garmin/CurrentConfigs/
Остальные не помню так как не пользуюсь
Смотри https://forum.openstreetmap.org/viewtop … =9249&p=14 разбирайся в батфайлах, редактируй команды, пути
Jawa установлена? jawa.com
Там выделяется 3 гига памяти
java -Xmx3G -jar "%BASEDIR%\mkgmap\mkgmap.jar" ^
Если у тебя столько нет, то пробуй 1 гиг
java -Xmx1024m -jar "%BASEDIR%\mkgmap\mkgmap.jar" ^
Только тут надо не раскоментировать/закоментировать, а поменять местами
Last edited by Eugeny_B (2019-01-10 21:25:32)
Offline