Если вы хотите узнать шаги по установке заготовок тегов, смотрите "Tagging Presets" tab in Preferences > Map Settings
Если вы хотите использовать заготовки тегов или необходима ссылка на заготовку, смотрите Presets
If you want to add the preset to the list of available presets see Extend JOSM#Custompresetsandpublication
Эта страница находится в процессе перевода или помечена для этой цели. Может содержать ошибки и непереведённые фрагменты
Другие языки:
Table of Contents
Заготовки тегов
JOSM поддерживает distributed заготовки тегов. Это XML файл, описывающий графический интерфейс для ввода тегов (или свойства, аннотации, иногда называемый картой функции).
Предварительные настройки могут быть размещены в любом месте в интернете или у пользователей в локальной файловой системе. JOSM может быть настроен на использование пользовательских локальных или удаленных заготовок тегов.
Разработка новой заготовки
Заготовки тегов описываются в очень простом XML файле. Подробнее смотрите ниже.
Смотрите для примера defaultpresets.xml, охватывающий большую часть возможностей, перечисленных ниже.
<?xml version="1.0" encoding="UTF-8"?> <presets xmlns="http://josm.openstreetmap.de/tagging-preset-1.0"> <item name="Oneway highway" type="way"> <label text="Inserting a unidirectional highway" /> <combo key="highway" text="Type" values="trunk,motorway" /> <text key="name" text="Name (e.g. Angel Road)" /> <text key="ref" text="Ref (e.g. A406)" /> <!-- This is a oneway preset, so make oneway default --> <check key="oneway" text="Oneway" default="on" /> <!-- Always setting asphalt surface --> <key key="surface" value="asphalt" /> </item> </presets>
Ru:TaggingPresets-preset.xml, Ru:TaggingPresets.zip
Описание XML формата
Полная схема XSD доступна по следующей ссылке (http://josm.openstreetmap.de/tagging-preset-1.0) а также the source repository.
Теги
Вводная часть
- <presets>
-
Должен быть основным тегом файла. Поддерживает следующие атрибуты:
- xmlns="http://josm.openstreetmap.de/tagging-preset-1.0"
- author - имя автора заготовки
- version - номер версии файла. Для указания версии вы можете использовать две встроенные переменные:
[[revision]]
(номер последней версии страницы wiki) и[[date]]
(дата последнего редактирования). - description (i18n) - описание того, что содержит файл
- shortdescription (i18n) - очень краткое описание, т.е. "name" заготовки
- link (i18n) - веб-ссылка на дополнительную информацию (необязательна)
- icon - информационная иконка для всей заготовки. (Это необходимо для отображения значка в таблице Presets.)
- baselanguage - когда основной язык не английский, укажите его здесь (при использовании не английских текстов в заготовках, предотвращает автоматический перевод)
(i18n) означает, что значения могут быть локализованы (например de.description).
Коментарии
- <!-- это пример комментария -->
- Документ может содержать встроенные комментарии.
Создание группы заготовок
- <group>
-
Используется для группировки элементов в меню.
name
необходимо,icon
необязательный атрибут. - <item>
-
Every item is one annotation set to select from.
name
необходимо,type
иpreset_name_label
рекомендуются,icon
andname_template
необязательные атрибуты. - <separator/>
- Добавляет горизонтальную разделительную линию в меню.
Preset window layout
- <label>
-
Метки для отображения статического текста.
text
обязательный атрибут,icon
иicon_size
необязательные атрибуты. - <space />
- Добавляет пустую строку (перевод строки).
- <optional>
-
Используется для группировки различных дополнительных параметров.
text
необязательный атрибут. Если используется безtext
, то это эквивалентно <space /><label text="Дополнительные атрибуты:"/><space /> - <item_separator />
- Добавляет горизонтальную разделительную линию между элементами.
- <link>
-
Используется для вставки веб-ссылки. Атрибут
href
необходим. - <checkgroup>
-
Група флажков. Атрибут
columns
необходим. - <roles>
- Это необходимо возле <role> и добавляет заголовок ("Availible roles role count elements") к таблице, которая образуется за счет нескольких <role>.
- <role>
-
Чтобы указать возможные роли членов в отношениях. Атрибут
key
необходим,text
,requisite
,count
,type
иmember_expression
необязательные атрибуты. - <preset_link>
-
Добавляет ссылку на другую заготовку. Атрибут
preset_name
необходим.
Установка фиксированного значения у ключа
- <key>
-
Этот тег позволяет присвоить какому-либо ключу определённое значение.
key
необходим и, еслиvalue
присутствует, то ключ будет установлен. Еслиvalue
отсутствует, то ключ удаляется.match
является необязательным атрибутом.
Атрибуты диалоговых окон ввода и выбора
- <text>
-
Текстовое поле. Позволяет пользователю ввести любой текст.
key
обязателен;text
,default
,use_last_as_default
,auto_increment
,length
,alternative_autocomplete_keys
иmatch
необязательны. - <combo>
-
Отображает поле, в котором можно выбрать значение из раскрывающегося списка.
key
иvalues
обязательны;text
,default
,editable
,delimiter
,values_from
,display_values
,short_descriptions
,use_last_as_default
,values_searchable
,length
,values_no_i18n
,values_sort
иmatch
необязательны.
Еслиeditable="true"
(по умолчанию), блоки <combo> могут быть отредактированы как если бы они были текстовыми полями (в дополнение к выпадающему списку). Недоступные для редактирования блоки <combo> могут содержать только одно из указанных значений или ничего. - <multiselect>
-
Отображает поле, в котором можно выбрать одно или несколько (с помощью клавиши Ctrl и левой кнопки мыши) значений из раскрывающегося списка.
key
иvalues
обязательны;text
,default
,delimiter
,values_from
,rows
,display_values
,short_descriptions
,use_last_as_default
,values_searchable
,values_no_i18n
,values_sort
иmatch
необязательные атрибуты. Перечисленные значения разделяются по умолчанию точкой с запятой (default: semicolon) и записываются в значение тега. Если значение тега уже назначено, то, при открытии диалогового окна, multiselect попытается отметить соответствующие пункты в списке значений как выбранные. Если значение тега не может быть представлено комбинацией значений в списке, то список будет отключен, так чтобы пользователь не смог случайно перезаписать произвольное значение. В отличие от элемента "combo", "multiselect" предполагает использование разделителя в списке значений, описаний и т.д. (по умолчанию точка с запятой). Можно указать произвольный разделитель. Например delimiter="," и запятая будет использоваться в качестве разделителя перечисленных значений. - <list_entry>
-
Используется в <combo> и <multiselect>. Более подробную информацию смотрите
short_descriptions
. Доступны атрибутыvalue
,display_value
,short_description
,icon
иicon_size
. - <check>
-
Флажок, который пользователь может установить или снять (или сделать установленным/снятым по умолчанию). Атрибут
key
обязателен.text
,default
,match
,value_on
,value_off
иdisable_off
необязательные атрибуты.
Шаблоны
- <chunk>
-
Используется для того, чтобы определить шаблон элементов для последующего (многократного) использования. Атрибут
id
обязателен. - <reference>
-
Используется, чтобы вставить ссылку на ранее определённый шаблон. Атрибут
ref
обязателен.
Атрибуты
Атрибуты тегов имеют следующие значения:
- name="a_name"
- Указывается имя для элемента. Это имя будет использоваться в графическом интерфейсе для отображения в заготовках тегов.
- name_context="context"
-
Контекстный перевод
name
атрибутов, чтобы отличить слова с одинаковым написанием, но различным значением (not required for in-file translations).. - type="data_type"
- Если используется, то только с перечисленными объектами может работать заготовка. Могут быть "node", "way", "closedway", "multipolygon", "relation" или любое разделённое запятой их сочетание. Обратите внимание, что "multipolygon" не включается в "relation", поэтому, если preset should apply for multipolygons and other relation types, you need to specify both: "multipolygon,relation". Также используется в теге <role>, чтобы указать, какие типы объектов разрешены для конкретного члена отношения.
- icon="iconname"
- Имя файла или ссылка для иконки. Изображение будет использоваться в качестве значка для отображения в списке выбора и при добавлении заготовки на панель инструментов. Иконки могут быть использованы в <item>, <label> и <list_entry>. Значок должен быть квадратными по размеру. См. Styles#Iconhandling как могут быть указаны иконки.
- icon_size="a number"
- Максимальный размер иконки в пикселях px. Если значение не задано, то используется значение по умолчанию 16x16 px для <list_entry /> (в <combo> и <multiselect>).
- key="some_key"
- Определяет свойство ключа, который будет изменен с помощью элемента. В случае с <role> это name role используемое в отношении.
- text="Any text"
- Текст, который будет отображаться перед (при использовании в <check> - после) элементом в графическом интерфейсе пользователя. Также используется для <label> и <optional>.
- text_context="context"
-
Контекстный перевод атрибутов
text
, чтобы отличить слова с одинаковым написанием, но различным значением (not required for in-file translations). - default="default_value"
- Значение по умолчанию для данного элемента. Если пользователем не указано значение для ключа, то текущее значение ключа выбирается по умолчанию (если это применимо). При использовании в <check> - установлен ли флажок или нет по умолчанию (по умолчанию "off"). При использовании в <text>, <combo> и <multiselct> по умолчанию "".
- values="entry1,entry2,entry3"
- Список значений для <combo> и <multiselect>). Значения должны быть разделены запятыми (для <combo>) или указанным разделителем (для <multiselect>). If a value contains the delimiter, the delimiter may be escaped with a backslash. If a value contains a backslash, it must also be escaped with a backslash.
- values_from="JAVA code"
- To use instead of "values" if the list of values has to be obtained with a Java method of this form: public static String[] getValues(); The value must be: "full.package.name.ClassName#methodName".
- values_no_i18n="true|false"
- Отключит internationalisation для значения, чтобы избежать ошибок. См. #11696. По умолчанию "false". Используется в <combo> и <multiselect>. (Полезно, например, для часов работы или названия торговых марок..)
- values_sort="false"
-
Значения в <combo> и <multiselect> сортируются по алфавиту на всех языках. С помощью этого атрибута вы можете отключить алфавитную сортировку, если значения должны перечисляться в заданном порядке. См #5509 и #11926. (В JOSM согласно внутренним настройкам по умолчанию для "smoothness" и "trail_visibility".) По умолчанию "true". Пользователи могут глобально отключить сортировку с помощью ключа
taggingpreset.sortvalues
. - values_context="context"
-
Контекстный перевод атрибутов
values
, чтобы отличить слова с одинаковым написанием, но различным значением (not required for in-file translations) - display_values="Entry1,Entry2,Entry3"
-
Текст отображаемый пользователю в качестве значений. Должно быть одинаковое количество и порядок записей в качестве
values
иeditable
должно быть false или не указано. Для символа разделителя используется тот же символ что и дляvalues
. Используется в <combo> и <multiselect>. Например: если для value="24/7" указать display_value="Круглосуточно", то для пользователя будет показан текст "Круглосуточно" вместо "24/7". - value="foobar"
- Укажите значение, которое будет назначено для тега <key>.
- value_on="foobar"
- Укажите значение, которое будет назначено для тега <key>, при установке флажка в <check> (по умолчанию "yes").
- value_off="foobar"
- Укажите значение, которое будет назначено для тега <key>, при снятии флажка в <check> (по умолчанию "no").
- disable_off="true"
- Использование данного атрибута в <check> позволяет удалять тег <key> вместо назначения ему параметра "no" при снятии флажка в диалоговом окне.
- editable="false"
- Отключает возможность ввести произвольный текст в качестве значение тега в поле <combo>. По умолчанию "true", что означает, что пользователь может добавить другие значения в виде текста.
- use_last_as_default="true|false|force"
- Для <combo>, <multiselect> или <text> последние введённые значения используются по умолчанию. С помощью "force" навязывает такое поведение также для уже обозначенных на карте объектов. По умолчанию это "false".
- rows="count"
- Указывает количество строк для отображения записей в <multiselect> (если не обозначено, то автоматически определяется Java).
- name_template="template", name_template_filter="search expression"
- Custom name formatter for osm primitives matching this preset. Смотрите ниже #name_templatedetails for details.
- match="none|key|key!|keyvalue|keyvalue!"
-
Позволяет изменить метод сопоставления, т.е. определяет подходят ли теги объектов заготовке. Если заготовка подходит, то она linked in the Tags/Membership dialog.
- none: neutral, т.е. не рассматривать этот пункт для сопоставления
- key: positive если key соответствует, в противном случае neutral
- key!: positive если key соответствует, в противном случае negative
- keyvalue: positive если key и value соответствуют, в противном случае neutral
- keyvalue!: positive если key и value соответствуют, в противном случае negative
Обратите внимание, что для match необходим по крайней мере один positive и нет negative. По умолчанию это "keyvalue!" для <key> и "none" для <text>, <combo>, <multiselect> и <check>.
- id="unique_identifier"
- Уникальный идентификатор для chunck
- ref="unique_identifier"
- Уникальный идентификатор (должен быть заранее определен) для включаемого шаблона
- columns="a number"
- Количество столбцов для групировки флажков
- requisite="optional|required"
- Если член отношения необязателен или не требуется. По умолчанию "optional".
- count="a number"
- How often can a role occur (if not given unlimited number is assumed)
- member_expression="an expression"
- an expression (cf. search dialog) for objects of this role
- preset_name="exact_name"
- Точное название для заготовки в ссылке.
- preset_name_label="false|true"
- Whether to insert "[preset name]" метка в диалоговом окне (по умолчанию "false" для обеспечения обратной совместимости с внешними заготовками).
- length="a number"
- Длинна ячеки для <text> или <combo> box (number - количество символов).
- alternative_autocomplete_keys="some_key(s)"
- Разделенный запятыми список альтернативных ключей используемых для автоприращения <text>.
- auto_increment="-2,-1,+1,+2"
-
Отображаемые значения для автоприращения разделенных запятыми с целым шагом или дискретно, например "-2,-1,+1,+2". Кнопка будет отображаться рядом с <text> полем для каждого значения. Существует также кнопка для отмены автоприращения. По умолчанию автоприращение отключено. Взаимоисключаемо с
use_last_as_default
. - delimiter="special character"
- Символ для разделения значений ключа. В <combo> по умолчанию запятая. In case of <multiselect> the default is semicolon and this will also be used to separate selected values in the tag. More information see <multiselect>.
- short_descriptions=""Entry1,Entry2,Entry3"
-
Список разделенных текстов, которые будут отображаться под каждым
display_value
. (Только если нет возможности описать значение ключа в два-три слова.) Вместо стандартного метода перечисления значений с использованием запятой в качестве разделителяvalues
,display_values
иshort_descriptions
, можно использовать следующий способ записи:<list_entry value="" display_value="" short_description="" icon="" icon_size="" />
- values_searchable="true|false"
- Whether to search in <combo> and <multiselect> (display_)values when searching for presets.
name_template детали
Name templates can be used to define custom formatting for OSM primitives or GPX waypoints (для примера в Отношениях или the Selection).
<?xml version="1.0" encoding="UTF-8"?> <presets> <item name="Public transportation" type="relation" name_template="Bus({operator} {ref} ?{'{from} - {via} - {to}' | '{from} - {to}' | '{from}' | '{to}'})" name_template_filter="type=route route=bus"> </item> </presets>
Примеры
Template | Tags | Result |
---|---|---|
House number {addr:housenumber} | addr:housenumber=10 | House number 10 |
?{ 'House number {addr:housenumber} at {addr:street}' | 'House number {addr:housenumber}' } | addr:housenumber=10 | House number 10 |
addr:housenumber=10 addr:street=Abbey road | House number 10 at Abbey road | |
?{ admin_level = 2 'NUTS 1' | admin_level = 4 'NUTS 2' | admin_level = 6 'NUTS 3' | 'Admin level {admin_level}'} | admin_level=4 | NUTS 2 |
admin_level=5 | Admin level 5 | |
{admin_level} - {name} !{parent() type=boundary '?{'(part of {admin_level} - {name})' | ''}'} | admin_level=6 name=Vysocina , member of relation admin_level=4 name=Jihovychod | 6 - Vysocina (part of Jihovychod) |
admin_level=2 name=Czech republic (no parents) | 2 - Czech republic |
Синтаксис
{var}
- использование значениея переменной var?{condition1 'value1' | condition2 'value2 | 'value3'}
- использовать значение1, если условие1 выполнено, value3 is no condition is satisfied. Состояние может быть либо явным - the same expression as in search or filters is used - или неявным; значение используется, когда все переменные, используемые внутри существуют!{search_expression 'template'}
- search_expression is evaluated and first matching primitive is used as context for template. Полезно, например, чтобы получить теги родительского отношения.
Доступные значения
Для форматирования OSM примитивов , может быть использовано значение любого тега. Вы можете использовать {special:everything}
, чтобы увидеть какие значения доступны для GPX путевых точек..
Некоторые дополнительные переменные доступны через специальный префикс:
{special:everything}
prints all available values, available for formatting of both primitives and waypoints.{special:id}
prints the ID of an osm primitive{special:localName}
prints the localized name, that is the value of name:lang for your language if it is available or the value of the name tag if it doesn't.
Устаревшие атрибуты
Следующие атрибуты являются устаревшими и больше не поддерживаются в JOSM:
- delete_if_empty="true"
- Был удалён в [5155]. Вы можете просто удалить этот атрибут, если он до сих пор используется в вашей заготовке.
- required="true"
-
Заменён атрибутом
match
с [5155]
Перевод
Для поддержки переводов, все текстовые элементы ("name", "text", "display_values") также могут быть локализованы. (Т.е. "ru.name" будет загружаться в случае выбора русского языка в интерфейсе программы.)
In JOSM internally (internal preset) all "name", "text" and "display_values" are translated when no specific translation has been given in XML file. When no "display_values" are supplied, then "values" will be treated as "display_values" and translated instead. When translations of equal words but different meanings may conflict, a translation context should be specified. Use "name_context", "text_context" or "values_context" for this. The context should be a meaningful short description to help translators.
The translation for the internal preset is done at Launchpad (and will probably change to another service in the future, since the Launchpad web interface often produces timeout errors, see #8645).
Icon handling
See Styles.
See also
Attachments (1)
- Change 1 object.png (31.2 KB ) - added by 8 years ago.
Download all attachments as: .zip