wiki:Ru:TaggingPresets

Если вы хотите узнать шаги по установке заготовок тегов, смотрите "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

Эта страница находится в процессе перевода или помечена для этой цели. Может содержать ошибки и непереведённые фрагменты

Другие языки:

Заготовки тегов

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 and name_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

Last modified 7 years ago Last modified on 2016-12-03T16:23:44+01:00

Attachments (1)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.