RU:Тегируйте как нравится

From OpenStreetMap Wiki
Jump to navigation Jump to search


Основные, используемые теги (свойства объектов) уже приняты и приведены в RU:Map Features. Рекомендуется использовать теги из этого списка. При использовании собственных меток может получиться так, что другие пользователи не поймут их и поменяют их на общепринятые. И конечно программы отображения карты и конвертеры не распознают ваши личные теги.

Добавление меток в список общепринятых

Если вам необходимы теги для нанесения на карту чего-то специфического. Следуйте золотым правилам и поищете их в общепринятом списке, списке предложенных меток, списке не принятых меток, списке отношений, обсудите на форуме и сделаете рассылку. Если все же вы не смогли найти тег для того, что бы вы хотели нанести на карту, используйте taginfo — важнейший ресурс на котором можно узнать о тегах. Это список меток, которые используются пользователями и статистика их применения. Это также список всех комбинаций ключей и значений, которые были применены для всех объектов карты.

Помните, что OpenStreetMap не накладывает ни каких ограничений на использование меток для объектов (точки, лини, области и даже отношения). Вы можете использовать любые теги, какие захотите, но пожалуйста опубликуйте их. Вы можете сделать это здесь, на wiki OpenStreetMap, дав свои разъяснения. (Посмотрите как.)

Публикация позволит другим пользователям найти описание ваших тегов и, может быть, использовать теги, придуманные вами.

Публикация особенно важна в дальнейшем, если кто-нибудь предложит обновить существующий список и внести предложенные вами теги. В этом случае ваш опыт и опыт других пользователей, использующих ваши теги, может быть использован в процессе подачи заявки, учтен при голосовании и утверждении. И если голосованием будет принято, возможно ваша схема перейдет в разряд общепринятых (войдет в RU:Map Features).

Старайтесь дать тому объекту, который обозначает ваш тег, максимально четкое и точное определение, объясняющее даже кажущиеся вам очевидными детали, чтобы избежать вольной трактовки и "расползания" значений - ситуации, когда люди используют какой-то тег для того, для чего вы его не собирались использовать.

Выбор используемых меток

Разберем пример. Вы хотите нанести на карту все места гнездования Белок-летяг, находящиеся под угрозой уничтожения в вашей области. Английское название белки (Siberian Flying Squirrel) вы хотите использовать, как значение тега. А для ключа вы выбрали опасность разорения гнезд (еndangered_nest). Начните с того, что создайте страницу на английском языке с описанием тега endangered_nest=Siberian_flying_squirrel.

Через какое-то время кто-нибудь другой может предложить другую, более обширную схему с более совершенными и детальными тегами. Эта схема учитывает и другие аспекты жизни животных, находящихся под угрозой вымирания. Его теги позволяют наносить на карту больше информации. И вот теперь вам, возможно, придется изменить ваши теги.

Хорошо подумайте, прежде чем создавать новый тег.

Если вы все-таки решили применять собственные теги постарайтесь их выбрать максимально продумано. Выбирайте теги, которые могут пригодиться и другим пользователям. Воспользуйтесь информацией о классификации меток приведенной здесь: IOF Standards. В сети вы можете найти и другие источники.

Один тег - одно свойство

Хотя это и не является требованием для новых тегов, однако следование принципу "Один тег - одно свойство" сильно упрощает их использование.

Представьте, что хотите предложить обозначение для ограждения в виде каменной стены. Такой тег будет обозначать сам объект с двумя дополнительными очевидными свойствами: собственно забор, сплошной забор (только такой может называться "стена") и материал забора - камень. Если еще немного углубиться в смысл, можно обнаружить, что вы также подразумеваете, что это достаточно высокая стена, так что добавляется третье свойство - высота не менее N сантиметров. Вероятно, подобный тег может быть использован, но у людей сразу возникнут вопросы: "А что, если стена - не из камня, а из кирпичей?" "А если она всего на пять сантиметров ниже?" "А если в ней есть маленькие прорези?" и так далее. Будет еще хуже, если другие начнут использовать ваш тег, чтобы обозначать то, что вы не предполагали им обозначать сами.

Именно поэтому стоит задуматься, означает ли тег, который вы хотите использовать, какое-то одно простое свойство, или включает несколько условий. И если второе, то подумать о том, чтобы создать простую классификацию, включающую, для этого примера, отдельный тег для сплошного забора и отдельные - для материалов и размеров, без ограничений. Логично спросить, почему не использовать тег для ограждения вообще и отдельно - для обозначения его конструкции: сплошное, решетчатое и так далее. На самом деле, стоит помнить, что тег - это ключ и значение. Потому ключ может обозначать ограждение, а значение ключа - его вид. Именно так и устроена действующая схема тега barrier=*, в которой есть тег barrier=wall и совместно с которой можно использовать теги height=* и material=*.

Избегайте разнородных значений

Если вы придумали ключ и несколько значений для него, удостоверьтесь, что эти значения - однородны, то есть не может существовать такого объекта, для которого можно было бы выбрать более одного значения. Например, в существующей схеме для мемориалов historic=memorial, memorial=* среди значений есть такие, которые указывают на конструкцию (бюст, статуя) а есть такие, которые указывают на род события, которому посвящен мемориал (военный мемориал). Очевидо, что военный мемориал может быть построен в виде статуи. Это совершенно неверная практика, которая вынуждает людей делать выбор между тем, что обозначнить: конструкцию или посвящение. В таком случае, необходимо разделить придуманные значения между двумя и более ключами, описывающими разные свойства, например - оставить ключ memorial=* для посвящения и добавить ключ memorial:construction=*, которому присваивать значения "статуя", "бюст", "доска", "портрет" и так далее.

Когда создавать заявку

Не надо создать заявку (proposal) для вашего предложения, если:

  1. ваш тег не будет использоваться другими пользователями, или
  2. вы не уверены, что такой тег действительно нужен, или
  3. последняя заявка с предложением добавления меток такого типа была отклонена, или
  4. вы хотите изменить уже используемые теги внесенные в RU:Map Features (в очень редких случаях это возможно, если новая схема принципиально улучшает систему обозначений)

Заметьте, что создание заявки не гарантирует ее утверждения. И даже положительное голосование не гарантирует поддержку ваших тегов стилем карты по умолчанию на openstreetmap.org. Однако, если ваше предложение было одобрено большинством, гораздо больше пользователей будут использовать ваши теги. Одобренные теги также попадают в шаблоны редакторов. Пользователи будут просить, чтобы теги были поддержаны различными стилями карт и конвертерами. В итоге, это увеличит шансы появления ваших меток на основной карте и других картах.

Что не надо наносить на карту

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

Соглашение о синтаксисе новых меток

Это попытка описать существующее рекомендации, людям, добавляющими новые теги на основе существующих RU:Map Features, последних заявок и предложений. Правки и дополнения, используемые большинством пользователей будут однозначно приняты!

  • Тег состоит из пары ключ и его значение. Тег представляет собой строку кода, записанную как Ключ = Значение.
  • Значения записываются на любом языке в Юникоде.
  • Некоторые, но не все Ключи могут содержать несколько значений. В этом случае значения записываются через точку с запятой. Описание ключей, допускающих такую форму записи значений, отдельно описаны в Вики.
  • Формы записи выбранные для ключей тоже имеют некоторые стандарты:
    • Все ключи записываются только на английском.
    • В идеале, ключ это одно слово в нижнем регистре.
    • Ключ не должен состоять из сочетания слов с подстрочными разделителями.
    • Ключ не может содержать пробелов и других служебных символов. Это позволяет избежать проблем c whitespace, т.к. среди ребят из OSM встречаются программисты — любители синтаксиса.
    • Встречается несколько сложных ключей состоящих из нескольких слов, разделенных двоеточием. Такие ключи должны легко читаться слева направо. Некоторые из них уже широко используется.
    • Ключом может быть или свойство(как width — англ. ширина) или категория (как highway). Свойствам присваивается значения ключей (как например ширина равна двум). Когда ключу присваивается значение категории, то требуется дальнейшая "обработка" и, в конечном счете, по значению категории, ключу присваивается набор свойств. (как например highway=motorway).
    • Ни в коем случае, ключ не должен служить для обозначения единственного варианта единственного свойства, другими словами ключ должен иметь возможность принимать несколько значений.
      1. Простой шаблон, использующий приставки к именам меток. Это в стиле некоторых языков программирования. Содержит относительно-разнообразную информации способом, при котором, такие теги не пересекается с другими тегами OSM. Идеален для импорта данных из других источников!
        • tiger:county=*, tiger:upload_uuid=* — все что связанно с импортом Tiger в США.
        • KSJ2:lat=*, KSJ2:curve_id=* — теги от Japan KSJ2 import
      2. Шаблон для относительно-связной информации, представленной единым обозначение, содержащих нескольких полей, разделенных двоеточием. Почти как свойства. Великолепно для системы адресов и обычных наименований.
        • name:left=*, name:right=* — улицы с различными именами по разные стороны от дороги
        • addr:housenumber=*, addr:street=* — все что связанно с адресами
      3. Шаблон для деления по кодировке языка.
        • name:en=*, name:ru=* — Английские и Русские имена для меток
        • note:ja=* — заметки только для Японского языка
      4. Очень редко встречающиеся. Этот шаблон,выполнен на подобии дерева, где ответвления приписываются другим определенным ключам. Это почти однозначное значение ключа. Почти.
        • source:name=* — определяет источник данных для тега name
        • source:ref=* — определяет источник данных для тега ref
  • Это самый распространенный шаблон, постоянно уточняющийся. Он используется во многих схемах обозначения меток. Его достоинством является все больше расширение стечением времени, хорошая наглядность, и в тоже время обратная совместимость :
highway=crossing
crossing=uncontrolled

Вы можете воспринимать эту статью как руководство по стилю написания меток. Но на самом деле это не так. В конечном счете интерпретация зависит от пользователя, и только один принцип полностью применим - Принцип KISS ("Делай проще, дурак"), или по-русски, "Все гениальное просто". Придумывайте теги, так, чтобы они были прозрачнее, проще и лучше, если вы хотите, чтобы большее количество людей приняло ваше предложение и стало их использовать.