wiki:Ru:Help/Concepts/Object

Объекты - Основные строительные блоки для данных и карт OpenStreetMap

Можно не спешить читать эту страницу, вы сможете вернуться к ней за справкой в любое время.

Точки, линии и отношения

Теги (один из примитивов данных OSM)

Теги придают значение объектам. Без них объекты были бы бесполезными и бессмысленными. Каждый из трёх остальных примитивов данных может иметь один или несколько тегов.

Теги часто используются в комбинациях; обычно эти комбинации можно найти в заготовках. Но может оказаться, что необходимых вам тегов нет в заготовках, и вам нужно будет знать их самому.

Простейший пример — это тег drinking_water=yes — он используется по всему миру, и может быть применён к любому объекту, предоставляющему доступ к питьевой воде. Другой пример — leaf_cycle=* для деревьев. Он применяется не так глобально (поскольку деревья растут не везде).

Время от времени вы будете сталкиваться с тегами, которые пригодны не в вашей местности, а где-то ещё. Не помешает почитать в wiki, для чего нужен данный тег, начните знакомство с этим со страницы Essential links tagging (англ.).

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

Точки (один из примитивов данных OSM)

source:trunk/images/data/node.svg Точка (node) — это просто отдельная точка в заданном местоположении. Вместе с соответствующими тегами её можно использовать для обозначения магазинов, скамеек, отдельных деревьев, или мест, где есть доступ к питьевой воде.

В модели данных OSM только точки имеют координаты. Линии и отношения просто ссылаются на точки.

Общие точки

Одна точка может относиться к нескольким линиям, то есть быть их общей точкой.

Практическое значение этого демонстрируется на странице Рисование точек. Инструмент Объединить точки позволяет создавать общие точки.

Линиии (один из примитивов данных OSM)

source:trunk/images/data/way.svg Линия (way) представляет собой последовательность точек (геометрически — ломаную линию). В OSM линии используются для представления линейных объектов, с соответствующими тегами они могут обозначать: берег реки, линию деревьев, уличные бордюры и т.п.

Направление

Точки упорядочены в OSM, поэтому каждая линия в OSM имеет направление. Это даёт возможность добавлять такие теги, как conveying=* - для указания направления эскалаторов и движущихся дорожек, или incline=*, который можно указывать для дорог и пешеходных дорожек. Есть и другие примеры, рассмотреть здесь их все невозможно.

Сегмент

Это часть линии между двумя её последовательными точками (геометрически — отрезок линии). Он не является частью модели данных OSM, но для пользователя разница между всей линией и её сегментами есть, так как существуют инструменты, которые работают с линией на уровне её отдельных сегментов.

Полигоны

source:trunk/images/data/closedway.svg Если линия замкнута, т.е. её последняя точка совпадает с первой точкой, то её называют полигоном (area). Раньше их называли «замкнутыми линиями» (closed way), этот термин ещё встречается в wiki и в некоторых программах. Картографы используют также термин «геометрия объекта», когда говорят просто о форме объекта, без его тегов.

Иногда простого полигона недостаточно для представления объекта (например, озера, в котором есть остров), тогда приходится использовать мультиполигон

Отношения (один из примитивов данных OSM)

В большинстве случаев они вам не понадобятся

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

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

Простое пояснение

source:trunk/images/data/relation.png Отношение (relation):

  • это последовательность других объектов (точек, линий и других отношений)
  • как и другие объекты (точки, линии) - каждое отношение может иметь "теги"
  • может быть участников других отношений (получается вложенная иерархическая структура)
  • тег type=* используется для указания одного из множества типов отношений

Кроме того, каждому из объектов, участвующих в отношении может быть назначена роль, например, "via" для точки и "from", "to" для линий в отношении type=restriction.

На странице Отношения рассматриваются инструменты, чаще всего используемые для создания отношений в JOSM (диалоговая панель «Отношения», диалоговая панель «Выделение», редактор отношений)

Наиболее популярные типы отношений

type=multipolygon

Водный объект (natural=water), здание (building=*) или административная граница (admin_level=*) часто состоят из нескольких пространственно разделённых частей, принадлежащих одному объекту. Более того, каждая из этих частей может содержать внутри другие, не принадлежащие к ней, объекты (анклавы и эксклавы или просто острова или болота в водных бассейнах).

  • Части создаются с использованием роли "outer". Каждый мультиполигон должен содержать по меньшей мере одного участника с ролью outer.
  • Отверстия внутри частей - с ролью "inner". Каждая часть может иметь от 0 до N отверстий.
  • Линии, формирующие контур мультиполигона должны быть соединены между собой общими точками (JOSM предупредит об ошибках во время проверки данных)
  • Изредка встречаются вложенные отверстия. Если вложении сложнее, чем один наружний и один внутренний контур, роли могут чередоваться: outer-inner-outer-inner-...
  • Внешний и внутренний контур не должны иметь общих точек (валидатор предупредит об этой и других ошибках)

Специфичные для мультиполигонов инструменты:

type=route

Используется для описания маршрутов общественного транспорта или железнодорожных маршрутов вместе с другой транспортной инфраструктурой. (stub)

type=restriction

Можно использовать для создания ограничений на поворот в соответствии с дорожными знаками и разметкой. Для JOSM имеется модуль, поддерживающий редактирование этого типа отношений: модуль Turnrestrictions,примеры

Теги

Тег (tag) — это пара «имя/значение», присвоенная объекту. Теги используются для детального описания объектов. Если мы напишем foo=bar, то это значит Тегу с именем foo присвоено значение bar. Вот несколько примеров:

  • тег name=Главная Дорога присвоен линии. Это означает, что имя данной линии - Главная Дорога.
  • тег natural=tree присвоен точке. Он указывает, что эта точка представляет собой дерево в реальном мире.
  • тег route=bus присвоен отношению. Следовательно, данное отношение описывает маршрут автобуса.

Объект может иметь столько тегов, сколько необходимо. Вот более сложный пример:

highway=residential
name=Main road
name:en=Main road
name:ru=Главная дорога
maxspeed=30
hgv=no
oneway=yes

Будучи присвоенным линии, этот набор тегов означает, что линия представляет собой улицу в жилой зоне с названием Main road (также задано имя на русском - Главная дорога и на английском, в данном случае совпадающее с "общим" названием - Main road). Скорость ограничена 30 км/ч, и движение тяжёлых грузовых автомобилей (heavy goods vehicles - hgv) запрещено. Кроме того, это улица с односторонним движением.

В source:trunk/images/dialogs/propertiesdialog.svg диалоговой панели «Теги/Участие» можно назначать теги объектам, удалять и изменять их теги.

Технические подробности

Идентификаторы объектов (Object ids)

OSM сервер присваивает каждому объекту уникальный номер - object ID или OSM ID. Новый объект не имеет идентификатора (ID = 0) до тех пор, пока он не будет первый раз загружен на сервер OSM.

Сервер OSM присваивает каждому объекту уникальный номер — идентификатор объекта или OSM ID.

В JOSM, новый объект не имеет ID (точнее, его ID = 0), пока он не будет отправлен в первый раз на сервер OSM.

  • В диалоговом окне source:trunk/images/preference.png Настройки (F12) -> source:trunk/images/preferences/display.png Display Settings -> Настройки отображения можно включить/отключить показ идентификаторов объектов в окнах.
  • С помощью команды меню Файл -> source:trunk/images/downloadprimitive.png Скачать объект... можно скачивать объекты по их идентификаторам.

Версии объекта и история

Номера версий были реализованы для упрощения редактирования в wiki-стиле. К сожалению, для отслеживания изменений в линиях или отношениях необходимо использовать более сложные инструменты, чем простое сравнение номеров версий.

  • Содержимое отношения можно изменить, не изменяя версию или ID отношения (т.е. изменить лишь входящие в него линию, точку или дочернее отношение).
  • Содержимое линии можно изменить, не изменяя её версию или ID (точку линии можно переместить туда-сюда несколько раз, но ID линии при этом останется тем же самым).

Но вы всегда можете отследить полную историю одной точки в журнале. Также можно использовать данные в разрезе времени («снимки» регионов на конкретные даты), чтобы проверить, какие изменения вносились в объекты (и сслыку на ID объекта и точку во времени из базы данных).

Информация о последней версии

Кроме того, вы можете просматривать объекты непосредственно, введя следующий адрес в адресной строке браузера:

https://www.openstreetmap.org/browse/[node/way/relation]/[ID]

История объекта

Каждый объект имеет версию, которая увеличивается на единицу при каждой отправке объекта на сервер. Сервер OSM хранит не только самую последнюю версию объекта, а и всю его историю.

  • Команда Вид -> source:trunk/images/dialogs/history.png Журнал открывает обозреватель истории, в котором можно увидеть версии объекта.
  • Альтернативная команда Вид -> source:trunk/images/dialogs/history.png История (на сайте OSM) открывает в веб-браузере страницу веб-сайта OSM с историей объекта.


Назад к Основной странице

Last modified 3 days ago Last modified on 2018-04-18T12:05:02+02:00