Mkgmap

Иногда строку --read-config=“%BASEDIR%\styles\optionsfile.args” ^
Я меняю на --read-config=“%BASEDIR%\styles\optionsfile2.args” ^
Я продолжаю экспериментировать но не так часто, как хотелось. Надо работать со стилем, с TYPфайлом с опциями запуска программ дабы получить приличную карту. Про хорошую не говорю - так как адресный поиск в OSM России сделан… (Даже Париж в России пишется через Ж…)
Ну и секрет (хотя его уже озвучил - подмена админ-левелов.
Файл transform_places.xml


  <?xml version="1.0" ?> 
- <translations>
- <translation>
  <name>Fake admin_level=7</name> 
  <description>Adds fake admin_level tag for all place polygons. This is needed for better search generation after creating borders with mkgmap</description> 
- <match>
  <tag k="place" match_id="place" v="city|town" /> 
  </match>
- <output>
  <copy-all /> 
  <tag from_match="place" k="admin_level" v="7" /> 
  <tag from_match="place" k="boundary" v="administrative" /> 
  <tag from_match="place" k="type" v="boundary" /> 
  </output>
  </translation>
- <translation>
  <name>Fake admin_level=11</name> 
  <description>Adds fake admin_level tag for all place polygons. This is needed for better search generation after creating borders with mkgmap</description> 
- <match>
  <tag k="place" match_id="place" v="village|hamlet" /> 
  </match>
- <output>
  <copy-all /> 
  <tag from_match="place" k="admin_level" v="11" /> 
  <tag from_match="place" k="boundary" v="administrative" /> 
  <tag from_match="place" k="type" v="boundary" /> 
  </output>
  </translation>
  </translations>

Файл optionsfile2.args


# ------------------------------------------------------------------------------
# Purpose   : mkgmap-configuration file
# Version   : 1.3.13 - 2016/11/11
# Generated : Mon Nov 21 19:45:35 2016
# ------------------------------------------------------------------------------

# General options:
# ---------------

# File options:
# ------------

# --description=text
#   Устанавливает описательный текст для карты. Это может быть отображено в QLandkarte,
#   MapSource или на GPS, где она обычно показанной ниже family-name. 
#   Пример: --description="Германия, Дания" 
#   Обратите внимание: если вы используете splitter.jar для построения файла template.args
#   и использовать -c template.args, то этот файл может содержать «description»,
#   которые переопределяют этот параметр.
#   Используйте "--description" в splitter.jar чтобы изменить описание в файле template.args.
# description="RUS (Release 17.01)"

# --country-name=name
#   Sets the map's country name. The default is "COUNTRY".
#   Задает название страны на карте. По умолчанию "COUNTRY".
 country-name=Российская Федерация
# country-name=Россия
# country-name=Русь

# --country-abbr=abbreviation
#   Sets the map's abbreviated country name. The default is "ABC".
#   Задает Сокращенное наименование страны на карте. По умолчанию "ABC".
 country-abbr=RUS

# -- mapname=name
#   Установить имя карте. Garmin карты названы 8 значным numbersList.
#   По умолчанию 63240001. Если вы собираетесь делать карту для других пользователей,
#   лучше использовать другое имя, так что-бы оно было уникальным и не конфликтовало с другими.
# mapname=63240001

# Label options:
# -------------

# --latin1
#   Это эквивалентно --code-page=1252.
# --unicode
#   Это эквивалентно --code-page=65001. Отметим, что только новые устройства поддерживают Unicode.
# --code-page=number
#   Эта опция позволяет использовать международные символы.
#   Только 8 битовых кодировок поддерживается, и поэтому вы должны указать кодовую страницу,
#   которую вы хотите использовать. --code-page=1251
#   Это полностью зависит от прошивки устройства, которые поддерживаются кодовые страницы.
# code-page=1251

# --lower-case
#   Разрешить меткам содержать строчные буквы. Заметим, что большинство или все устройства Garmin
#   не способны отображать строчные буквы под углом так-что, эта опция как правило, бесполезна.
 lower-case

# Address search options:
# ----------------------

# --index
#   Generate a global index that can be used with MapSource.
#   Makes the find places functions in MapSource available.
#   The index consists of two files named osmmap.mdx and osmmap_mdr.img
#   by default.  The overview-mapname can be used to change the name.
#   If the mapset is sent to the device from MapSource, it will enable
#   find by name and address search on the GPS.
# --index
#   Создание индекса глобального адресного поиска. Если опция --gmapsupp также дается,
#   то индекс создается в результатирующем файле gmapsupp.img, так что поиск адреса
#   будет работать на устройстве GPS.
#   Если вместо --index задана опция --tdbfile, то индекс состоит из двух файлов,
#   названных osmmap.mdx и osmmap_mdr.img которые могут быть использованы с MapSource.
#   (Для совместимости, вам не нужно задавать опцию --tdbfile если опция --gmapsupp не задана).
#   Если наряду с --index опцией заданы обе опции --gmapsupp и --tdbfile,
#   то будет создано оба индекса. Заметим, что это потребует примерно вдвое больше памяти.
#   Опция --overview-mapname может быть использована для изменения имен файлов osmmap.mdx и osmmap_mdr.img.
#   Если MAPSET посылается на устройство с MapSource, это позволит найти по названию и поиск адреса по GPS.
#   Поля адреса присваиваются специальными mkgmap тегами адресов с использованием файла стиля:
#    mkgmap:country      - страна
#    mkgmap:region       - регион
#    mkgmap:city         - город
#    mkgmap:postal_code  - почтовый индекс
#    mkgmap:street       - улица
#    mkgmap:housenumber  - номер дома
#    mkgmap:phone        - телефон
#    (Mkgmap:is_in - используется по местоположению-автозаполнение location-autofill=is_in)
#   Если индекс создается из ранее собранных .img файлов, то та же самая кодовая страница и опции сортировки
#   (например --code-page, --latin1) должны использоваться какие были использованы для компиляции
#   отдельных фрагментов карты.
index

# --split-name-index
#   Временная опция для того, чтобы индексировать каждую часть названия улицы отдельно.
#   Так, например, если на улице "Александра Gryglewskiego", то вы сможете найти его
#   и как "Aleksandra" и как "Gryglewskiego". Это также приведет к увеличению размера индекса.
#   Полезно в странах, где поиск первого слова в имени идет неправильно.
split-name-index

# --bounds=directory
#   The directory that contains the preprocessed bounds files.
#   Default: bounds
# --bounds=directory|zipfile
#   Каталог или архивный файл, содержащий файлы предварительно обработанный границы.
#   Bounds файлы в виде архива должны быть расположены в корневом каталоге ZIP-файла.
#   Предпроцессированные границы используются для добавления специальных тегов для всех элементов
#   (точек, линий и полигонов), содержащих информацию о местоположении.
#   Файл стиля может быть использован для назначения адреса метки mkgmap: страна, mkgmap: регион и т.д.,
#   используя эти значения.
#   Следующие специальные метки добавляются:
#     mkgmap:admin_level2:   Название admin_level=2 границы 
#     mkgmap:admin_level3:   Название admin_level=3 границы
#     ..
#     mkgmap:admin_level11
#     mkgmap: postcode        Почтовый индекс: значение postal_code
#   Предпроцессированные границы могут быть созданы с помощью следующей команды:
#      Java -cp mkgmap.jar 
#         uk.me.parabola.mkgmap.reader.osm.boundary.BoundaryPreprocessor
#         <Входной_файл> <boundsdir>
#   Входной файл должен содержать границы, которые должны быть предварительно обработаны.
#   Он может иметь OSM, PBF или формат O5M файла. Рекомендуется, что он содержит только
#   граничные данные чтобы избежать очень высокой загрузки памяти.
#   Boundsdir - это каталог, в котором обработанные файлы хранятся.
#   Этот каталог может быть использован в качестве --bounds параметр с mkgmap.
# bounds=..\..\..\work\input\bounds.zip
 bounds=..\..\..\work\boundary
# bounds=..\..\boundary\local


# --location-autofill=[option1,[option2]]
#   Controls how country, region, city and zip info is gathered for
#   cities, streets and pois.
#   Default: bounds
#
#   bounds  The preprocessed boundaries are used to mark all points,
#           lines and polygons within a boundary with the special tag:
#           mkgmap:admin_level2 : Name of the admin_level=2 boundary
#           mkgmap:admin_level3 : Name of the admin_level=3 boundary
#           ..
#           mkgmap:admin_level11
#           mkgmap:postcode : the postal_code value
#
#           The style file can be used to assign the address tags mkgmap:country,
#           mkgmap:region etc. with these values.
#
#   is_in   The is_in tag is analyzed for country and region information.
#           This is done only for address tags that are not defined by the
#           style rules.
#
#   nearest If all methods before fail the city/hamlet points that are
#           closest to the element are used to assign the missing address tags.
#           Warning: elements may end up in the wrong country/region/city.
# --location-autofill=[option1,[option2]]
#   Управляет адресные поля для страны, региона, города и почтовый индекс данные собраны автоматически,
#   если поля не установлены, используя теги специальный mkgmap адресов
#   (например mkgmap: город - см индекса опция).
#   Внимание: автоматическое назначение адресов полей как-то догадка.
#   is_in
#   Is_in тег анализируется для получения информации страны и региона.
#   nearest 
#   Город/Деревня city/hamlet точки, которые ближе всего к элементу используются для назначения
#   недостающие поля адреса. Учтите, что города, расположенные в том же плитки используются только.
#   Таким образом, результаты, близкие к границе плитки имеют меньше качества.
 location-autofill=bounds 
# location-autofill=is_in,nearest

#--housenumbers
#  Enables house number search for OSM input files.
#  All nodes and polygons having addr:housenumber and addr:street set are matched
#  to streets. A match between house number element and street is created if
#  the street is located within a radius of 150m and the addr:street tag of the
#  house number element
#    - equals the mgkmap:street tag of the street. mkgmap:streets should be set
#      in the style file.
#    - or it equals the name of the street stripped by garmin shields and all text
#      within round brackets.
#  Example:
#     Node -  addr:street=Main Street addr:housenumber=2
#     Way 1 - mkgmap:street=Main Street
#     Way 2 - name=Main Street (A504)
#     Way 3 - mkgmap:street=Mainstreet
#     Way 4 - name=Main Street [A504]
#    The node matches to way 1 and way 2 but not to way 3 (does not equal exactly)
#    and not to way 4 (only text in round brackets is ignored)
# --housenumbers
#   Позволяет поиск номера дома входных файлов OSM. Все точки и полигоны, имеющие addr:housenumber набор,
#   сопоставляются с улицами. Соответствие между элементом номер дома и улица создается,
#   если улица находится в радиусе 150 метров и значение tag addr:street номер дома элемента равен
#   значению тега mgkmap:street улицы. Признак mkgmap:street должен быть добавлен к улице в файле стиля.
#   Для оптимальных результатов признаки mkgmap:city и mkgmap:postal_code должны быть установлены
#   для housenumber элемента. Если улица соединяет два или более городов, это позволяет
#   найти все адреса вдоль дороги, даже если они имеют тот же номер.
#   Пример данного названия улицы:
#       Node - addr:street=Main Street addr:housenumber=2
#       Way 1 - name=Main Street
#       Way 2 - name=Main Street, mkgmap:street=Main Street
#       Way 3 - mkgmap:street=Mainstreet
#       Way 4 - name=Main Street [A504] 
#   Узел соответствует к Пути 2. Она имеет mkgmap:street набор с значением,
#   равное значению тега addr:street узла номера дома.
#   Если улица не дана с addr:housenumber, mkgmap использует эвристику, чтобы найти лучшее соответствие.
 housenumbers

# Overview map options:
# ---------------------

# --overview-mapname=name
#   If --tdbfile is enabled, this gives the name of the overview
#   .img and .tdb files. The default map name is osmmap.
# --overview-mapname=name
#   Если --tdbfile включена, это дает имя обзорной .img и .tdb файлов.
#   Название карты по умолчанию osmmap.
# overview-mapname=RUS-Test
# overview-mapname=Overview-Test

# --overview-mapnumber=8 digit number
#   If --tdbfile is enabled, this gives the internal 8 digit
#   number used in the overview map and tdb file. The default
#   number is 63240000.
# --overview-mapnumber=8 digit number
#   Если --tdbfile включена, это дает внутренний номер из 8 цифр,
#   используемый в обзорной карте и .tdb файла. Значение по умолчанию 63240000.
# overview-mapnumber=63240000

#--overview-levels
#  like levels, specifies additional levels that are to be written to the
#  overview map. Counting of the levels should continue. Up to 8 additional
#  levels may be specified, but the lowest usable resolution with MapSource
#  seems to be 11. The hard coded default is empty.
# --overview-levels
#   Как и levels, определяет дополнительные уровни, которые должны быть записаны
#   на обзорной карте. Подсчет уровней должен быть продолжен. До 8 дополнительных
#   уровней могут быть определены, но минимальным используемым разрешение с MapSource,
#   кажется, 11. жестко по умолчанию является пустым.

#--remove-ovm-work-files
#  If overview-levels is used, mkgmap creates one additional file
#  with the prefix ovm_ for each map (*.img) file.
#  These files are used to create the overview map.
#  With option --remove-ovm-work-files=true the files are removed
#  after the overview map was created. The default is to keep the files.
# --remove-ovm-work-files
#   Если используется overview-levels, mkgmap создает один дополнительный файл
#   с префиксом ovm_ для каждой карты (* .img). Эти файлы используются для создания обзорной карты.
#   С опцией --remove-ovm-work-files=true файлы удаляются после того как обзорная карта была создана.
#   По умолчанию файлы сохраняются.
 remove-ovm-work-files

# Style options:
# -------------

# --style-file=file
#   Specify an external file to obtain the style from.  'file' can
#   be a directory containing files such as info, lines, options
#   (see resources/styles/default for an example).  The directory
#   path must be absolute or relative to the current working
#   directory when mkgmap is invoked.
# --style-file=file
#   Укажите внешний файл для получения стиль. «file» может быть каталог, содержащий файлы,
#   такие как info, lines, options (см. resources/styles/default для примера).
#   Путь к каталогу должен быть абсолютным или относительным к текущей рабочей директории при вызове mkgmap.
#   Файл может быть архивный файл, содержащий файлы вместо каталога.
#   Файлы могут быть на самом высоком уровне или содержится в папке внутри архива.
#   Если файл ZIP содержит более одной папки верхнего уровня, то каждая папка - это имя стиля,
#   который может быть выбран с --style option.
#   Аргументом может также быть URL, который определяет местоположение файла стиля.
# style-file=..\..\..\styles\default

# --name-tag-list=list
#   Changes the tag that will be used to supply the name, normally it is just 'name'.
#   Useful for language variations. You can supply a list and the first one will be used.
#   Example: --name-tag-list=name:en,int_name,name
# --name-tag-list
#   Получить тег, который будет использоваться для предоставления имени.
#   Полезно для языковых вариаций. Вы можете предоставить список и первый из них будет использоваться.
#   Например: --name-tag-list=name:en,int_name,name
 name-tag-list=name:ru,name,name:en,int_name

# Product description options:
# ---------------------------

# --family-id
#   This is an integer that identifies a family of products.
# --family-id
#   Это целое число, которое идентифицирует семейство продуктов.
#   Диапазон: [1..9999] Mkgmap по умолчанию: 6324
# family-id=6324

# --family-name
#   If you build several maps, this option describes the
#   family name of all of your maps. Garmin will display this
#   in the map selection screen.
# --family-name
#   Если вы построите несколько карт, эта опция описывается family-name всех ваших карт.
#   Гармин будет отображать в экране выбора карты.
#   Пример: --family-name = "OpenStreetMap mkgmap XL 2019"
# family-name=RUS-Test
# family-name=Family-Test

# --product-id
#   This is an integer that identifies a product within a family.
#   It is often just 1, which is the default.
# --product-id
#   Это представляет собой целое число, которое идентифицирует продукт в семье.
#   Это часто просто 1, который является по умолчанию.
# product-id=1

# --product-version
#   The version of the product. Default value is 1.
# --product-version
#   Версия продукта. Значение по умолчанию равно 1.
# product-version=1701

# --series-name
#   This name will be displayed in MapSource in the map selection
#   drop-down. The default is "OSM map".
# --series-name
#   Это имя будет отображаться в mapsource раскрывающийся список выбора карты.
#   Значение по умолчанию - "OSM map".
# series-name=RUS-Test
# series-name=Series-Test

# --copyright-message=note
#   Specify a copyright message for files that do not contain one.
# --copyright-message=note
#   Укажите информацию об авторских правах для файлов, которые не содержат его.
 copyright-message = "Map: ESB project ; Map Data: OSM contributors; Contour Data: U.S. Geological Survey or J. de Ferranti"

# --copyright-file=file
#   Укажите авторского права сообщения из файла.
#   Обратите внимание, что первое сообщение об авторских правах не отображается на устройстве,
#   но это показано в basecamp. Авторское право-файл должен включать по крайней мере две строки.

# --license-file=file
#   Specify a file which content will be added as license. Every
#   line is one entry. All entrys of all maps will be merged, unified
#   and shown in random order.
# --license-file=file
#   Укажите файл, в котором контент будет добавлен в качестве лицензионного.
#   Все записи всех карты будут объединены в обзорной карте.
# license-file=NW_RUSSIA.license

# Optimization options:
# --------------------

# Miscellaneous options:
# ---------------------

# --route
#   Experimental: Create maps that support routing. This implies --net
#   (so that --net need not be given if --route is given).
#   Экспериментальный: создание карт, которые поддерживают маршрутизацию.
#   Это означает --net
#   (так что --net, не требуется, если ... --route дается).
#   Создание карт, которые поддерживают маршрутизацию.
 route

# --drive-on-left
# --drive-on-right
#   Explicitly specify which side of the road vehicles are
#   expected to drive on. If neither of these options are
#   specified, it is assumed that vehicles drive on the right
#   unless --check-roundabouts is specified and the first
#   roundabout processed is clockwise.
#   Явно указать какую сторону дорожных транспортных средств, 
#   как ожидается, ехать дальше. Если первый вариант обнаружения, 
#   программа пытается выяснить правильный флаг. 
#   Если это обнаружение терпит неудачу, используется второе значение 
#   (или вправо, если иное не указано). С OSM данных в качестве входных данных, 
#   обнаружение пытается выяснить страну Каждая дорога в и сравнивает 
#   число привода на левых дорогах с остальными. 
#   Используйте --bounds опцию, чтобы убедиться, что обнаружение находит правильную страну.
 drive-on=right

# --preserve-element-order
#   Process the map elements (nodes, ways, relations) in the order
#   in which they appear in the OSM input. Without this option,
#   the order in which the elements are processed is not defined.
#   Процесс элементы карты (узлы, пути, отношения) в том порядке,
#   в котором они появляются на входе OSM. Без этой опции, порядок,
#   в котором обрабатываются элементы не определен.
 preserve-element-order

# --add-pois-to-lines
#   Создать POI, для линий. Для каждой линии (не должна быть закрыта) POI,
#   создаются в нескольких точках линии. Каждый POI помечен с теми же метками,
#   как линии и дополнительных тегов, добавленных mkgmap: 
#   mkgmap:line2poi=true и тегом mkgmap:line2poitype принимает следующие значения:
#   	start - начать - Первая точка линии
#   	end - Конец - Последний пункт линии
#   	inner - Внутренний - Каждая точка линии за исключением первого и последнего
#   	mid - середина - средняя точка
# add-pois-to-lines

# --add-pois-to-areas
#   Generate a POI for each area. The POIs are created after the
#   style is applied and only for polygon types that have a
#   reasonable point equivalent.
# --add-pois-to-areas
#   Создать пои для каждого полигона и мультиполигон.
#   На объекты инфраструктуры, созданные после relation style, но, прежде чем другие стили применяются.
#   Каждый POI помечены с теми же тегами area/multipolygon.
#   Кроме того, тег mkgmap:area2poi= true истина устанавливается таким образом,
#   что можно использовать эту информацию в файле points style. Искусственные полигоны,
#   созданные multipolyon обработки не используются. Точки создаются в следующих местах
#   (первое правило, которое применяется):
#   polygons:
#   Первое правило, которое применяется в
#   	первый узел пометить тегом, определенным pois-to-areas-placement
#   	центральная точка
#   multipolygons:
#   Первое правило, которое применяется в
#   	узел с role=label
#   	центральная точка самая большая площадь
 add-pois-to-areas

# --precomp-sea=directoryname
#   Defines the directory that contains the precompiled sea tiles.
#   When this option is defined all natural=coastline tags from the
#   input OSM tiles are removed and the precompiled data is used instead.
#   This option can be combined with the generate-sea options
#   multipolygon, polygons and land-tag. The coastlinefile option
#   is ignored if precomp-sea is set.
# --precomp-sea=directory|zipfile
#   Определяет каталог или архивный файл, содержащий скомпилированные море плитки.
#   Sea файлы в виде архива должны быть расположены в корневом каталоге архива или в подкаталоге sea.
#   Когда эта опция определена все natural=coastline теги входных OSM плитки удаляются
#   и скомпилированных данных используется вместо.
#   Эта опция может быть скомбинирована с опцией generate-sea мультиполигонов,
#   полигонов и land-tag. Опция coastlinefile игнорируется, если precomp-sea устанавливается.
 precomp-sea=..\..\..\work\input\sea.zip

# --generate-sea[=ValueList]
#   Generate sea polygons. ValueList is an optional comma
#   separated list of values:
#   Сформировать морские полигоны. ValueList является 
#   необязательным разделенный запятыми список значений:
#
# multipolygon
#   generate the sea using a multipolygon (the default
#   behaviour so this really doesn't need to be specified).
#   генерировать море с помощью MultiPolygon (поведение по умолчанию,
#   так это на самом деле не нужно уточнить).
#
# no-sea-sectors
#   disable the generation of "sea sectors" when the
#   coastline fails to reach the tile's boundary.
#   отключить генерацию "морских секторов",
#   когда береговая линия не доходит до границы в плитке.
#
# extend-sea-sectors
#   same as no-sea-sectors. Additional adds a point so
#   coastline reaches the nearest tile boundary.
#   так же, как no-sea-sectors. Дополнительная добавляет точку,
#   так береговой линии достигает ближайшей границы плитки.
#
# land-tag=TAG=VAL
#   tag to use for land polygons (default natural=land).
#   тег использовать для наземных полигонов (по умолчанию natural=land).
#
# close-gaps=NUM
#   close gaps in coastline that are less than this distance (metres)
#   близкие пробелы в береговой линии, которые меньше, чем это расстояние (в метрах)
#
#
# --generate-sea[=ValueList]
#   Генерация море полигоны. ValueList является необязательным запятыми список значений:
#
# multipolygon 
#   генерировать море с использованием MultiPolygon (поведение по умолчанию так что это действительно
#   не нужно быть указаны).
#
# polygons | no-mp
#   не порождают море с использованием MultiPolygon - вместо этого генерировать фон морской полигон
#   плюс отдельные земельные полигоны с тегом natural=land. Это требует подходящего типа земля полигона,
#   которые будут определены в файле стиля (предлагается тип 0x010100) и полигон должен быть определен
#   в файле TYP как имеющие более высокий уровень рисования, чем тип морского полигона.
#
# no-sea-sectors
#   отключить генерацию "морских секторов", когда береговая линия не достигнет границы плитки.
#
# extend-sea-sectors
#   так же, как no-sea-sectors. Дополнительная добавляет точку, так побережье достигает
#   ближайшей границы плитки.
#
# land-tag=TAG=VAL
#   Тег использовать для земельных полигонов (по умолчанию natural=land).
#
# close-gaps=NUM
#   устранения пробелов в береговой линии, которые меньше этого расстояния (в метрах)
#
# floodblocker
#   включить блокатор наводнения, который предотвращает наводнение земли, проверяя,
#   содержат ли морские полигоны улицы (работает только с обработкой мультиполигона)
#
# fbgap=NUM
#   наводнения блокатор разрыв в метр (по умолчанию 40) points,
#   которые находятся ближе к sea polygon не блокируют
#
# fbthres=NUM
#   По крайней мере так много highway points должны содержаться в sea polygon,
#   так что она может быть удалена в результате наводнения блокатора (по умолчанию 20)
#
# fbratio=NUM
#   только sea polygons с более высоким соотношением (highway points * 100000 / polygon size)
#   удаляются (по умолчанию 0.5)
#
# fbdebug
#   переключатели на отладку наводнения блокатора генерирует GPX-файлы для каждого полигона
#   проверяется наводнения блокатора
 generate-sea=land-tag=natural=land

# --make-poi-index
#   Generate the POI index (not yet useful). 
# --make-poi-index
#   Генерация индекса POI (еще не полезно). 
 make-poi-index

# --link-pois-to-ways
#   If this option is enabled, POIs that are situated at a point
#   in a way will be associated with that way and may modify the
#   way's properties. Currently supported are POIs that restrict
#   access (e.g. bollards). Their access restrictions are applied
#   to a small region of the way near the POI.
# --link-pois-to-ways
#   Эта опция может скопировать некоторые конкретные атрибуты POI
#   в небольшой части образом POI находится на.
#   Это может использоваться, чтобы позволить барьеры преградить путь
#   или снизить расчетную скорость вокруг светофоров.
#   Объекты POI с шоссе теги highway=* (например, highway=traffic_signals)
#   или барьер barrier=* (например, barrier=cycle_barrier) поддерживаются.
#   Разработчик стиль должен добавить по крайней мере один из
#   тегов доступа (mkgmap:foot, mkgmap:car и т.д.),
#   mkgmap:road-speed и/или mkgmap:road-class к POI.
#   Теги доступа access игнорируются, если они не оказывают никакого влияния на пути,
#   иначе ограничение маршрут добавляется в POI, так что только разрешенные
#   транспортные средства проходят через него.
#   Теги mkgmap:road-speed и/или mkgmap:road-class применяются к небольшой части пути вокруг POI,
#   как правило, на следующем перекрестке или длиной ~ 25 м. 
#   Метки игнорируются для пешеходов pedestrian-only. 
 link-pois-to-ways

# --process-destination
#   Разбивает все motorway_link, trunk_link, primary_link, secondary_link и tertiary_link пути
#   с тегом назначения на две или три части, где вторая часть дополнительно помечены
#   mkgmap:dest_hint=true. Код проверяет для назначения метки, назначения: дорожки,
#   предназначение: уличные и некоторые варианты с: вперед / назад: как назначения: вперед
#   или назначения: полосы: назад. Если значение для назначения найден, назначения тегов установлен
#   в нем и путь разделяется. Это происходит до того, как правила стиля обрабатываются.
#   Это позволяет использовать любой маршрутизируемый тип Garmin (кроме 0x08 и 0x09) для той части,
#   так что устройство Garmin говорит название этой части, как намек, какие целевые следовать.
#    Смотрите также --process-exits.
# process-destination

# --process-exits
#   Обычные устройства Garmin не говори имя выхода на автострадах в то время
#   как маршрутизация с mkgmap создано карт.
#   Эта опция разделяет каждый motorway_link, trunk_link, primary_link, secondary_link
#   и tertiary_link путь на три части. Все части помечены с оригинальными тегами ссылки.
#   Кроме средняя часть помечается следующих тегов:
#     mkgmap:exit_hint=true верно
#     mkgmap:exit_hint_ref=<ref tag value of the exit> <порядковый значение тега выходе>
#     mkgmap:exit_hint_name=<name tag value of the exit> <имя тега значение выхода>
#     mkgmap:exit_hint_exit_to=<exit_to tag value of the exit> <exit_to значения тега от выхода>
#   Добавление правила проверки mkgmap:exit_hint=true делает возможным использовать
#   любой маршрутизируемый тип Garmin (кроме 0x08 и 0x09) для средней части таким образом,
#   что устройство Garmin говорит название этой средней части в виде подсказки,
#   где оставить на motorway/trunk, Первая часть должна иметь тип 0x08 или 0x09,
#   так что Garmin использует подсказку.
# process-exits

# --tdbfile
#   Write a .tdb file.
#   Запись файлов, которые необходимы для работы с MapSource,
#   файл .tdb и обзорной карте.
 tdbfile

# --show-profiles=1
#   Sets a flag in tdb file which marks set mapset as having contour
#   lines and allows showing profile in MapSource. Default is 0
#   which means disabled.
#   Устанавливает флаг в TDB файле, который отмечает набор MAPSET
#   как имеющие контурных линий и позволяет отображать профиль в MapSource.
#   По умолчанию равно 0, что означает отключен. 
 show-profiles=1

# --draw-priority=25
#   Когда две карты покрытия той же площади, эта опция управляет каком порядке они нарисованы в и,
#   следовательно, какая карта находится на вершине которого.
#   Высшие приоритеты рисуются "на верху" низким приоритетом.
# draw-priority=25

# --transparent
#   Сделать карту прозрачным, так что если две карты загружаются, что покрытия той же площади,
#   вы можете видеть сквозь эту карту и увидеть нижнюю карту тоже.
#   Полезно для контурной линии отображает среди прочего.
# transparent

# --hide-gmapsupp-on-pc
#   Set a bit in the gmapsupp.img that tells PC software that the file is already installed on the PC
#   and therefore there is no need to read it from the device.
# --hide-gmapsupp-on-pc
#   Установите бит в gmapsupp.img, который говорит программное обеспечение для ПК,
#   что файл уже установлен на компьютере, и поэтому нет никакой необходимости читать ее из устройства. 
# hide-gmapsupp-on-pc

# --poi-address
#   Включить информацию адреса/телефона к POI.
#   Адрес Информация считывается в соответствии с "Карлсруэ" пометки схеме.
#   Автоматическое заполнение недостающей информации может быть включен
#   с помощью параметра "location-autofill".
#   По умолчанию включено, используйте --no-poi-address, чтобы отключить.
# no-poi-address

# --verbose
#   Makes some operations more verbose. Mostly used with --list-styles.
#   Делает некоторые операции более многословен. В основном используется с --list-styles.
 verbose

# Following the list of map tiles:
# -------------------------------


Этим файлом пользуюсь когда создаю границы самостоятельно.
Когда использую готовые границы - файл optionsfile.args
Отличаются строками:

country-name=Российская Федерация

country-abbr=RUS

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

bounds=…....\work\boundary

Файлы optionsfile.args и optionsfile2.args находятся в папке styles
Файл transform_places.xml в папке tools
Батфайлы в основной папке OSM
Стиль default - из самой программы mkgmap - поместите папку default в созданную папку styles
http://wiki.openstreetmap.org/wiki/User:Petrovsk/My_Garmin_map_styles
Посмотрите это
http://www.freizeitkarte-osm.de/garmin/en/development.html

https://sites.google.com/site/sherco40/
TYPViewer est un editeur de fichier TYP pour GPS Garmin.

Хотелось бы вести диалог, что и как особенно про стили.

Проблема не с конфигами, а в файлах стиля и TYP
Надо внимательно смотреть и файл TYP и соответствующие файлы стиля (точки, линии, полигоны) имена задаются и там и там. А в файле TYP еще есть настройки отображать имена или нет, и каким шрифтом (размер), цветом или невидимым (видно только при наведении курсора) для каждого объекта описанного в TYP файле.
Без TYP файла (или объект отсутствующий в TYP файле) прибор отображает его в соответствии со своей прошивкой.
Пример: стиль default без TYP файла, прибор отобразит карту так как зашито в нем. По этому если объект ввели в стиль, то его скорей всего надо вводить и в TYP файл. И не просто вводить - рисовать, раскрашивать, подписывать (короче - настраивать).

Дело в том, что сам-то ничего не вводил и не изменял, а брал уже готовый стиль (velo100) со всем «фаршем» (а выходит, что не со всем) и готовые оригинальные конфиги от автора (по ссылкам выше). Но, видать, автор что-то на своей машине подправлял/добавлял (поэтому у него всё тип-топ), а по ссылкам данные слегка устарели/рассинхронизировались (TYP со стилем или ещё что-то). Поэтому у меня произошла где-то нестыковка. Надо ковырять, где/что именно. Информации много выдали, буду переваривать.
P. S. Если это будет интересно, то вот »такую утилиту« когда-то накопал (не разбирался, но чувствую, что польза есть). Всё по-английски, но тут ничего не поделать.

Я использую TYPViewer, ссылка в предыдущих сообщениях, там по русски.
А копать начни с простого выпиши какие обекты (Garmin cod 0x01 и т.д.) встречаются в файлах стиля lines, points, polygons и какие в TYP файле. Какие у них имена по умолчанию там и там. А потом приводи в порядок.
Мне больше стиль FZK FreiZeitKarte понравился ссылку давал выше.

Вдогонку: там ещё и такая штука имеется (к вопросу о поиске багов и не только)

А эта штука бесплатная? А то я на этом сайте тоже одну штуку брал (сканирует файл gmapsupp.img или любой *.img и создает TYPфайл со всеми объектами встречающимися в карте) один пробный раз запустилась и больше ни разу, говорит плати.
IMG2TYP называется.

Да, уж. Не сразу заметил “unregistered” :expressionless: Но не исключено, что можно использовать именно проверку стиля (оплату просит при попытке конвертации).

В общем, получилась у меня та же петрушка, что и 2 года назад.
Eugeny_B, у вас стиль stranger нормально подписи показывает? Взять, например, озёра и реки — они с названиями получаются?
Если бы разобраться, что с чем сверять (на предмет наличия отсутствия :smiley: ), а то не знал, да ещё и забыл)) Было бы чудно.
Файл lines содержит такое по рекам:

waterway=river [0x1151a resolution 18-18 continue]
waterway=river [0x1f resolution 19-24 continue]

TYP содержит:

[_line]
Type=0x1f
;GRMN_TYPE: Water Features/RIVER/Large stream or river/Non NT
UseOrientation=Y
LineWidth=2
Xpm="0 0 1 0"
"1 c #2D76D0"
String1=0x19,река
ExtendedLabels=Y
FontStyle=Default
CustomColor=Day
DaycustomColor:#0000B4
[end]

и ещё:

[_line]
Type=0x1151a
;GRMN_TYPE: Customizable Line Types/CUSTOMIZABLE_LINE_251/Non-routable customizable line/Non NT, NT
UseOrientation=N
LineWidth=1
Xpm="0 0 1 0"
"1 c #2D76D0"
String1=0x19,река
ExtendedLabels=Y
FontStyle=SmallFont
CustomColor=Day
DaycustomColor:#0000B4
[end]

«String1=0x19,река» — очевидно, что имеется в виду тип объекта (который мне и показывается при наведении курсора). Но совсем не очевидно, откуда должно браться название этого объекта. Иными словами, откуда берутся названия объектов вообще?
Ясно, что изначально они есть в pbf, но потом куда они прописываются и в каком виде хранятся?

shop=convenience {set name='${name}, продукты' | 'продукты' } [0x2e02 resolution 22]
amenity=pub { name '${name}, паб (${phone})' |  '${name}, паб' | 'паб' } [0x2d02 resolution 22]

Выяснил, что продуктовые не получали названия (отображаемого при наведении курсора на точку) из-за наличия «set» и «=». А этих set понаставлено почти везде.
Теперь бы узнать, как заставить присваивать названия (те же реки/озёра), выводимые всегда (независимо от курсора).

Тип объекта это Type=0x1f или Type=0x1151a. А String1=0x19,река - это имя по умолчанию в TYP файле, 0х19 - русский язык, может встретиться 0х04 - тогда надпись на английском. Если в OSM данная река не имеет имени, то она подписывается из TYP файла “река”. Для редактирования TYP я пользуюсь TYPViewer, программа с русским интерфейсом бесплатная. Запускаешь ее, открываешь свой TYP, с лева в окошке “список полилиний” выбираешь 0x01f, двойной клик мышкой или нажатие “изменить” откроет окно редактирования, где можно менять параметры (все подписано по русски). Объясняю почему в стиле две :slight_smile: реки. 0x1f показывается при масштабе от 5м до примерно 3км (сейчас идет обработка данных для карты, и я не могу посмотреть точно) вторая 0x1151a примерно от 5км и на пол страны на экране (образно).
Теперь про Паб

amenity=pub { name '${name}, паб (${phone})' |  '${name}, паб' | 'паб' } [0x2d02 resolution 22]

Эта строчка говорит - Паб отобразить на экране значком 0x2d02 при масштабе от 5м до 700-800м (resolution 22 - масштаб) и если в OSM пабу присвоены имя (например, Моряк) и телефон, отобразится “Моряк, паб 8-921-ххх-хх-хх”. Если присвоено только имя - “Моряк, паб”, а если и имя не присвоено - “паб”.
Про продукты - в строке говорится, присвоить (set) имя которое состоит из имени OSM + слово “продукты” (‘${name}, продукты’) про отображение имени ничего нет.
Я думаю строка должна быть примерно такая:
shop=convenience {name ‘set name=${name}, продукты’ | ‘продукты’ } [0x2e02 resolution 22]
или что-то похожее со скобками (сейчас не посмотреть) сравни с похожими строками из этого и других стилей.
Или без set и =, как и вторая.
Я по началу так и изучал чем отличается стиль velo100 от MapTourist в отображении и строках, находил разницу и сравнивал, менял на одном и опять сравнивал.
Все это можно прочитать на ангельском языке в файле style-manual.pdf который находится в папке mkgmap\doc
На остальное позже когда посмотрю карты.

Гремучая это смесь — стили под гармин. В целом понял, что за подписи, которые должны браться именно из тега name, отвечают строки в файлах стиля (lines, points, polygons и т. д., можно и самому придумывать и добавлять в обработку через include). Как подпись будет отображаться — зависит от настройки внутри TYP (размер шрифта, невидимая надпись, некое присвоенное слово «по умолчанию» и т. д.) Большая часть проблем решилась тупым удалением «set» и «=».
Почитал руководство mkgmap, не смог применить if then else условие (конвертер выдаёт ошибку). Там какие-то «хитрости» со скобками (или чем-то другим). Вообще, легко запороть всё дело, забыв поставить скобку или пробел, или кавычку, или ещё что (конвертер ругается, но не всегда понятно, где копать). Так что желательно иметь вариант «до изменений» (чтобы откатиться).
Тоже скачал «немецкие» TYP-ы, да только они бесполезны без остальных файлов стиля. Откуда их брать? (ведь, вся эта чехарда с типами, правилами отрисовки и проч. строго индивидуальная).
Где-то видел ссылку на Maptourist-а слиль, но потерял.
P. S. Ещё интересно попробовать опцию «использовать значок из другого стиля» (чтобы «доукомплектовать» недостающие)

Не внимательный ты… Я давал ссылку http://www.freizeitkarte-osm.de/garmin/en/development.html а там в самом низу Download.
Скачиваешь архив и в нем 2 стиля найдешь. Для них 6 TYPфайлов и того 12 вариантов.

Точно невнимательный. Маптурист сообщение на 13ой странице под номером 324
И обнови MKGMAP и SPLITTER до крайней версии.

Ага, всё нашлось :slight_smile: Забыл самое главное спросить: есть способ быстрого тестирования результата ковыряний без заливки карты в прибор? (а то слегка напрягает, благо, что файлик меньше 200 Мб)
Файлы, по идее, mkgmap все необходимые создаёт. Но в Basecamp запихнуть их просто так нельзя, вроде бы…

Удивляюсь я твоей невнимательности :smiley:
Сообщение 331 черный квадрат ползунок вниз.
Читаем
“rem Создаем карту gmap (для BaseCamp и MapSource) с помощью MKGMAP”

а дальше
просто скопировать папку “*.gmap” по указанному ниже пути (в зависимости от ОС компьютера):
для WinXP путь C:\Documents and Settings\All Users\Application Data\GARMIN\Maps
для Win7/8/10 путь C:\ProgramData\Garmin\Maps

От жеж :smiley: А у меня оправдалка: много инфы, закопался чутка.
Всё получилось, дас ыст фантастыш!
Странно, что в options.txt про –gmapi сказано «Create a directory in the “gmapi” format required by Mac applications.»
Приятно, что кто-то подскажет, ёлки-палки.
UPD Позже мне подсказали, что можно создать ярлыки (файлы *.lnk) на соотв. папки и закинуть их по указанным выше директориям в завис. от версии Windows, тогда BaseCamp также подхватит эти карты.

Начинаю проводить эксперименты с плагином https://forum.openstreetmap.org/viewtopic.php?id=58978
Может что интересное получится.

В таких случаях принято говорить: «Экий Вы, однако, затейник» :smiley: Sergey Astakhov — в помощь.
С названиями и значками по большей части разобрался, сделал свой вариант stranger-а. Вот не знаю, можно ли как-то прикрутить отображение адресных точек с номерами домов и подъездов с номерами квартир средствами mkgmap.

А как их мапят? Прикручивать думаю надо в поинтах и в имя загонять нужную инфу.

Это, соответственно:
Отдельно стоящая точка или часть линии (addr:housenumber=)+(addr:street=)
Точка на контуре дома (addr:flats=диапазон номеров)+(entrance=staircase/yes)+(ref=номер подъезда)
P. S. Оказалось всё просто, сделал.

Стиль MapTourist файл polygons:

(building=* | bridge=yes & area=yes) { name 'д.${addr:housenumber} (${name}) ${addr:street}' | 'д.${addr:housenumber} ${addr:street}' | 'д.${addr:housenumber}'} [0x13 resolution 24]

На экране видим (если в TYP 0x13 разрешено показывать) д.1 Ленина проспект. У MapTourist в TYP 0x13 стоит “невидимая надпись” и видно только при наведении курсора. У бери из строки “д.” и будет просто 1 Ленина проспект. Это все на зданиях building
Стиль Stranger файл polygons:

building=* { name '${addr:housenumber} (${name}, ${name:full})' | '${addr:housenumber} (${name})' | '${name} (${name:full})' | '${name}' | '${name:full}' | '${addr:housenumber}' } [0x13 resolution 24]

тут номер дома без улицы.
Я сделал так как MapTourist (но без “д.”) в конец строки добавил “продолжить” по ангельски.
и в файл points добавил строку как в полигонах Stranger. Теперь я вижу номера домов, а наведя курсор номер дома и название улицы.
Точка или полигон с номером дома и именем улицы это building
А как называется точка с номером квартир и подъезда. ref ведь тоже в имя добавить можно. Может и addr:flats можно добавить, пробуй.