RU:Полигон

From OpenStreetMap Wiki
Jump to navigation Jump to search
Пример пешеходной площади связанной с дорожной сетью

Термин полигон (или area) предназначен для определения тегированного площадного объекта описываемого замкнутой линией или отношением из одной или нескольких линий.

Помните что полигоны не являются на сегодняшний день (январь 2012) базовыми элеменами карты и потому одни замкнутые линии понимаются как полигоны (например landuse=*), а другие (highway=footway) - нет. Для придания им свойств площадного объекта добавляют тег area=yes.

Как обозначать

Существует два способа создать полигон:

  • Для маленьких областей часто достаточно нарисовать замкнутую линию с подходящими тегами или некоторыми тегами линейных объектов с указанием дополнительной метки area=yes. Более подробно на странице описания тега area=yes.
  • Для огромных (более 2000 точек) или для тех, которые соприкасаются с другими полигонами или линиями, уместно использовать отношения с такими же тегами как и в предыдущем случае. Подробнее на странице описания мультиполигонов.

Замкнутые линии в некоторых случаях могут одновременно быть как "замкнутой линией", так и "полигоном". Например, кольцо из дороги с газоном внутри можно отметить замкнутой линией с тегами highway=primary и landuse=grass. Это будет интерпретировано как дорога с круговым движением и газон.

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

В прошлом было необходимо соблюдать направление движения линии (по часовой или против) для корректного отображения на карте. Теперь это не так.

Отображение

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

Примеры

Простой полигон

Ниже приведён пример озера, заданного замкнутой линией, последняя точка которой совпадает с первой. Используется тег natural=water, который включает в себя тег area=yes.

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

Полигон с помощью отношения

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

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

См. также