Содержание

1. Описание
1.1. Для кого этот документ
1.2. Основные понятия
1.3. Поля с данными
2. KML
2.1. Стили и структура документа
2.2. Хранение данных
3. CSV/JSON
4. Скачать данные

1. Описание

Версия данного документа: gr-locus-1.0.0 от 21.02.2016 (gr-locus-100-21022016).

Предыдущая версия: не было.

Полный формат версии следует читать так: "код проекта"-"код спецификации"-"номер версии""подверсия""изменения в подверсии"-"дата в формате:DDMMYYYY".

Авторы спецификации: Власов Виталий (Open City Foundation).

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

1.1. Для кого этот документ

Данный документ для:

1.2. Основные понятия

Полигон - очаг голландской болезни вязов (графиоз) представлен в виде полигона, то есть набора точек с координатами (широта и долгота), соединенные линией.

Мультиполигон - несколько полигонов, расположенных рядом, имеющих отношение к одному участку, определенному в городской картографической системе, и имеющих одинаковый идентификатор.

Возможные типы данных:

1.3. Поля с данными

Заранее приносим извинения за некоторые сложности в работе с полигонами в данной версии формата, в последующих версиях этот вопрос будет доработан и улучшен.

Поле Обязательность Описание Допустимый тип данных Возможные значения Описание использования
id,
city_id,
polygon_id
да Уникальный идентификатор в датасете;
Уникальный идентификатор очага в исходной системе информационной системе;
Уникальный идентификатор полигона
Число или Форматирвоанная строка Один (или несколько) идентификаторов должны быть использованы в документе. id и polygon_id - числовые значения city_id - значение из ифнормационной системы и имеет следующий формат DD:NNN, где DD - это код района, NNN - порядковый номер полигона в районе. KML: в тэге “name” записывается polygon_id (несколько полигонов могут иметь одинаковый идентификатор, если относятся к одной группе полигонов - мультиполигону). В версии gr-locus-100-21022016. В следующих версиях это может быть исправлено. В поле “id” (extended data) записывается city_id. Может быть уникальным или объединять группу полигонов.

CSV/JSON: id - номер строки в файле (уникальный) polygon_id - группа полигонов city_id - по назначению

year да Год внесения записи Дата Формат данных YYYY - 4 числа года. KML, CSV, JSON.
status да Название статуса заболевания (на русском) Список Возможны только следующие значения:
  • undefined (не определено),
  • uninjured (без признаков поражения),
  • injured_emerging (возникающий очаг),
  • injured_active (действующий очаг),
  • injured_damped (затухающий очаг)
KML, CSV, JSON.
status_code да Код статуса (на латинице) Список Аналогично полю status. KML, CSV, JSON.
coords да Координаты (или набор координат для полигона) Форматирвоанная строка Широта и долгота через пробел в соответствии с международным стандартом: latitude (пробел) longitude. Используется координатная система WGS 84. В версии gr-locus-100-21022016 используются только полигоны.

KML: в группе тэгов <Polygon> <outerBoundaryIs><LinearRing><coordinates> задаются координаты полигона в соответствии с форматом.

CSV/JSON: в колонке/поле coords  записываются координаты полигона. Если это мультиполигон, то в колонке multipolygon указано значение 1 (в ином случае 0). Обратите внимание, что для мультиполигонов все остальные значения дублируются (!).

plnting_type да Тип зеленых насаждений (значение на русском) Список
  • Unknown (неизвестно)
  • ZNOP (ЗНОП городские, сейчас - ЗНОП),
  • ZNVO (ЗНОП местные),
  • ZNVO_street  (ЗНОП местные уличные),
  • ZN_limited (ЗН ограниченного пользования),
  • street (ЗН уличного озеленения),
  • buffer (ЗН иных защитных зон),
  • other (озеленение иных объектов благоустройства),
  • parcel (озеленение земельных участков),
  • urban_forest (городские леса),
  • special_protected (ООПТ)
KML, CSV, JSON.
plnting_type_code да Тип зеленых насаждений (значение на латинице) Список Аналогично полю status.  KML, CSV, JSON.

2. KML

Подробная документация KML находится тут.
Текущая версия KML: 2.1.

2.1. Стили и структура документа

Требования к структуре документа:

Ниже приведен пример типичной структуры:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
  <!-- Ниже описание всех стилей -->
  <Style id="style_name">
  ...
  </Style>
<Folder>
  <description>Данные экспортированы и обработаны 2016-02-21</description>
  <!-- Ниже описание всех полигонов -->
  <Placemark>
  ...
  </Placemark>
  ...  
</Folder>
</Document>
</kml>

Стили дают возможность визуально идентифицировать полигоны с разным статусом голландской болезни вязов. Стиль определяет содержимое и форматирование всплывающей информационной подсказки, которая появляется при клике на полигон. Описание стилей добавлено в документ для удобства пользователей, которые могут загрузить данный файл в любой картографический сервис, который умеет работать с KML. Описание стиля соответствует официальной документации KML. Для вашего удобства вы можете использовать свои собственные стили. Названия стилей должны соответствовать машиночитаемому коду статуса очага в соответствии с п.1.3 (то есть возможны только следующие значения: undefined, uninjured, injured_emerging, injured_active, injured_damped). Названия стилей используются в описании каждого полигона в тэге <styleUrl> .

Ниже приведен пример описания стиля в данной спецификации:

<Style id="style_name">
    <BalloonStyle>
        <text><![CDATA[
            <div><ul>
            <li><u>Статус</u>: <em>$[status]</em></li>
            <li><u>Тип зеленого насаждения</u>: <em>$[planting_type]</em></li>
            <li><u>Идентификатор</u>: <em>$[id]</em></li>
            <li><u>Год внесения</u>: <em>$[year]</em></li>
            </ul></div>
        ]]></text>
    </BalloonStyle>
    <LineStyle>
        <color>FFE32D0F</color>
        <width>3</width>
    </LineStyle>
    <PolyStyle>
        <fill>1</fill>
        <outline>1</outline>
        <color>FFE32D0F</color>
    </PolyStyle>
</Style>

2.2. Хранение данных

Требования к хранению данных:

Ниже приведен пример полигона:

<Placemark> 
  <name>1</name>
  <styleUrl> #uninjured</styleUrl>
  <description>без признаков поражения</description>
  <visibility>1</visibility>
  <open>0</open>
  <ExtendedData>
    <Data name="id">
      <displayName>id</displayName>
      <value>10:001</value>
    </Data>
    <Data name="year">
      <displayName>Год</displayName>
      <value>2012</value>
    </Data>
    <Data name="status">
      <displayName>Статус</displayName>
      <value>без признаков поражения</value>
    </Data>
    <Data name="status_code">
      <displayName>Код статуса</displayName>
      <value>uninjured</value>
    </Data>
    <Data name="planting_type">
      <displayName>Тип зеленых насаждений</displayName>
      <value>ЗНОП</value>
    </Data>
    <Data name="planting_type_code">
      <displayName>Код типа зеленых насаждений</displayName>
      <value>ZNOP</value>
    </Data>
  </ExtendedData>
  <Polygon>
  <extrude>1</extrude>
  <altitudeMode>clampToGround</altitudeMode>
  <tessellate>1</tessellate>
  <outerBoundaryIs>
    <LinearRing>
    <coordinates>
      29.97813,60.095624,0 29.975952,60.093671,0 29.97592,60.09368,0 29.975889,60.093688,0 29.978067,60.095641,0 29.978721,60.09625,0 29.979039,60.096744,0 29.979321,60.097204,0 29.979622,60.097981,0 29.979745,60.098581,0 29.979744,60.099173,0 29.979638,60.099834,0 29.979674,60.099835,0 29.979709,60.099837,0 29.979816,60.099174,0 29.979817,60.098579,0 29.979693,60.097976,0 29.979391,60.097195,0 29.979107,60.096734,0 29.978788,60.096237,0 29.978786,60.096235,0 29.97813,60.095624,0 </coordinates>
    </LinearRing>
  </outerBoundaryIs>
  </Polygon>
  </Placemark>

3. CSV/JSON

Данные должны соответствовать требованиям, предьявляемым к форматам CSV и JSON. Кодировка в файле UTF-8. Структура данных следующая:

Ниже пример данных в формате JSON:

{
  "version" : "gr-locus-100-21022016",
  "date" : "2016-02-24",
  "polygons" : [    {
      "id" : 1,
      "coords" : "29.97813,60.095624,0 29.975952,60.093671,0 29.97592,60.09368,0 29.975889,60.093688,0 29.978067,60.095641,0 29.978721,60.09625,0 29.979039,60.096744,0 29.979321,60.097204,0 29.979622,60.097981,0 29.979745,60.098581,0 29.979744,60.099173,0 29.979638,60.099834,0 29.979674,60.099835,0 29.979709,60.099837,0 29.979816,60.099174,0 29.979817,60.098579,0 29.979693,60.097976,0 29.979391,60.097195,0 29.979107,60.096734,0 29.978788,60.096237,0 29.978786,60.096235,0 29.97813,60.095624,0",
      "myltipolygon" : 0,
      "polygon_id" : 1,
      "city_id" : "10:001",
      "status" : "без признаков поражения",
      "status_code" : "uninjured",
      "year" : 2012,
      "planting_type" : "ЗНОП",
      "planting_type_code" : "ZNOP"
    },
	...
]
}

4. Скачать данные

Скачать KML Скачать CSV Скачать JSON