RU:Элементы данных

From OpenStreetMap Wiki
(Redirected from RU:Data Primitives)
Jump to: navigation, search
Доступные языки — Data Primitives
· Afrikaans · Alemannisch · aragonés · asturianu · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · Bân-lâm-gú · Basa Jawa · Basa Sunda · Baso Minangkabau · bosanski · brezhoneg · català · čeština · corsu · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · Kurdî · latviešu · Lëtzebuergesch · lietuvių · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tiếng Việt · Türkçe · Vahcuengh · vèneto · Wolof · Yorùbá · Zazaki · српски / srpski · беларуская · български · қазақша · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · मराठी · हिन्दी · भोजपुरी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · བོད་ཡིག · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ‎ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 中文(繁體)‎ · 吴语 · 粵語 · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް

Элементы данных это класс объектов, которые могут храниться с помощью API на сервере. Ряд различных логических вещи (например, точки интереса — POI, улицы, трамваи, автобусные остановки и т.д.) определяются из этих примитивов путем указания соответствующих объектов карты.

Общие атрибуты

имя значение описание
user строка Отображаемое имя пользователя, который совершал последнее изменение объекта. Пользователь может изменить своё отображаемое имя
uid целое числовой идентификатор пользователя, который совершил последнее изменение объекта. Идентификатор пользователя — число постоянное.
timestamp Форматы даты и времени W3C время последнего изменения
visible "true"
"false"
является ли объект удаленным в базе данных. Если visible="false", то объект должен быть возвращен вызовом истории изменений.
version целое Версия редакции объекта. Версия вновь созданных объектов равна 1, это значение увеличивается на сервере, когда клиент добавляет новую версию объекта. Сервер будет отклонять новую версию объекта, если версия присланная клиентом не соответствует текущей версии объекта в базе данных.
changeset целое Пакет правок (история) в котором указаны создание и изменения объектов.

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

Элементы данных, такие как точка, линия или отношение.

Nodes-ways-closedways.PNG

Точка node

Основная статья: RU:Node

Точка — базовый элемент в структуре данных OSM. Точка имеет параметры «широта» и «долгота».
желаемых свойствах предлагается добавить точке третий параметр — высота, однако на данный момент сохранение этого параметра не реализовано.)

Точки используются для того, чтобы определить «линию» (см. ниже), однако точка может являться и самостоятельным элементом карты, и использоваться для обозначения отдельного ни с чем не связанного объекта (например, телефонной будки, бара, для указания координат, к которым привязано название населённого пункта или любого интересного места (POI - point of interest). Отдельные точки (т.е. не входящие в состав линий или областей) всегда должны иметь хотя бы одно свойство, например amenity=parking.

Точки, входящие в состав линии, часто не имеют свойств и нужны только для описания линии; однако это не является незыблемым правилом. Например, точка, входящая в состав линии со свойством railway=rail (т. е. линии, обозначающей полотно железной дороги) и обозначающий остановочный пункт железной дороги имеет свойство railway=station.

имя значение пояснение
id целое (integer)
>=1
У точек id уникален только среди точек. (Линия может иметь такое же id как и точка.) Редакторы, как правило, сохраняют их как отрицательное для обозначения идентификаторов, которые не были сохранены на сервере. У точки идентификатор на сервере является постоянным; это означает, что присваиваемый идентификатор существующей точки останется неизменным, когда данные добавляются или исправлены. Удаленный ID точки не должен быть повторно использован, даже если точка восстановлена.
lat вещественное(Float)
>−90.0 и <90.0
7 знаков после запятой
Координата широты.
Значение между
Некоторые приложения не могут принимать широтах выше / ниже ± 85.
lon Float
>−180 and <180
7 знаков после запятой
Координата долготы.
теги Множество пар тегов (ключ/значение) с уникальным ключом Смотри Особенности тегирования - руководящие принципы для картографирования.


Пример XML

<node id="25496583" lat="51.5173639" lon="-0.140043" version="1" changeset="203496" user="80n" uid="1238" visible="true" timestamp="2007-01-28T11:40:26Z">
    <tag k="created_by" v="JOSM"/>
</node>

Особые случаи

Элементы карты±
Точки · Линии · Полигон · Отношения (составно́й а роли· Теги (ключ а значение)

Линия way

Основная статья: RU:Линия

Линия — это упорядоченная взаимосвязь не менее 2-х и не более 2000 (API v0.6) точек, которые описывают линейные объекты, такие как улицы, тропинки, железная дорога, река, забор, линии электропередачи, контур района или строительства. Одина линия тегируется определёнными свойствами, например, приоритет (автомагистрали, федеральной трассы, …), качество поверхности, скорость и т. д. Линии должны быть разделены на более короткие участки если существуют различные свойства, например, если улица имеет односторонний участок, то он должен быть отдельной линией, даже если они имеют одинаковое имя. (Если вы достигнете лимита точек просто разделите линию и объедените все участки в отношение по мере необходимости. Точки могут быть членами нескольких линий.)

Замкнутая линия closed way (полигон area)

Замкнутая линия — это линия, в которой первая и последняя точка идентичны; линии ограничивающие области. Полигон это не отдельные примитивы данных, а просто закрытые линии, которые помечены для отображения как области. Таким образом, не все закрыты линии могут быть показаны как полигоны!

Ключи, часто используемые для описания области: area=yes, landuse=* или landuse=* (только если линия состоит в отношении типа мультиполигон). См. объекты карты, чтобы определить случаи использования полигонов. (по традиции вы должны добавить area=yes, чтобы избежать ошибок).

имя значение пояснение
id: целое положительное Заметим, что идентификаторы не являются уникальными, линия может иметь такой же идентификатор, как точка. Редакторы, как правило, сохраняют их отрицательным числом для обозначения идентификаторов, которые не были сохранены на сервере.
nodes список Список всех точек идентификаторы которых составляют линию.
tags множество Множество пар тегов (ключ/значение) с уникальным ключом. См. объекты карты для руководству по тегированию

Пример XML

Вот обычные улицы с тегом highway=unclassified name=Улица Ленина:oneway=yes

  <way id="5090250" visible="true" timestamp="2009-01-19T19:07:25Z" version="8" changeset="816806" user="Blumpsy" uid="64226">
    <nd ref="822403"/>
    <nd ref="21533912"/>
    <nd ref="821601"/>
    <nd ref="21533910"/>
    <nd ref="135791608"/>
    <nd ref="333725784"/>
    <nd ref="333725781"/>
    <nd ref="333725774"/>
    <nd ref="333725776"/>
    <nd ref="823771"/>
    <tag k="highway" v="unclassified"/>
    <tag k="name" v="Улица Ленина"/>
    <tag k="oneway" v="yes"/>
  </way>


Отношение relation

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

имя значение описание
id целое положительное См. выше
tags список См. выше
members список (упорядоченный) Упорядоченный список примитивов с атрибутами роль (где ролью может быть любой текст).

Члены элемента

имя значение описание
type "точка"
"линия"
Тип члена
ref целое идентификатор члена
role строка Роль члена. Это зависит от использования отношения. Популярными являются мультиполигон или маршрут

Пример XML

Пример отношения мультиполигон:

  <relation id="12" timestamp="2008-12-21T19:31:43Z" user="kevjs1982" uid="84075">
    <member type="way" ref="2878061" role="outer"/>
    <member type="way" ref="8125153" role="inner"/>
    <member type="way" ref="8125154" role="inner"/>
    <member type="way" ref="3811966" role=""/>
    <tag k="created_by" v="Potlatch 0.10f"/>
    <tag k="type" v="multipolygon"/>
  </relation>

Полигон

Не существует в качестве элемента данных, но замкнутые линии с меткой соответствующих ключей обрабатываются как полигоны; natural=water например.

Пример симуляции полигона

  <way id="4876027" timestamp="2008-03-12T07:59:11Z" user="MichaelCollinson">
    <nd ref="31492372"/>
    <nd ref="31492338"/>
    <nd ref="31492370"/>
    <nd ref="31492371"/>
    <nd ref="31492372"/>
    <tag k="natural" v="water"/>
    <tag k="name" v="Spegeldammen"/>
  </way>

Ссылки