Описание пространственной информации в XML Росреестра
Данные Государственного кадастра недвижимости (ГКН), с недавнего времени доступны в виде XML-файлов, получаемых из кадастровых палат Росреестра.
Официальные данные
В описании схемы данных для Кадастровых планов территорий (версия 7) указано:
<Parcel> - Земельный участок (стр.11)
<Contours> - Контура многоконтурного участка (стр.13)
<Contour> - Контур многоконтурного участка, имеет атрибут "Number_PP" - Номер по порядку.
Каждый <Contour> содержит в себе тег описания пространственной составляющей <Entity_Spatial> - Это описание пространственной составляющей сущности данных (объекта кадастрового деления, объекта недвижимости)(стр. 22).
В случае если у Земельного участка нет тега <Contours>, то (если у него есть данные о пространственной составляющей) обязательно присутствует тег <Entity_Spatial>.
<Entity_Spatial> содержит как минимум один <Spatial_Element> - Элемент контура.
Самостоятельные попытки разобраться
Всё началось с изучения открытой библиотеки Geotools.
Там есть понятие Polygon - замкнутый контур (основной) который может содержать в себе 1 и более внутренних контуров, т.н. "дырок" (holes), который целиком находятся внутри основного контура. Polygon
Несколько Polygon'ов можно объединить в Multipolygon, что есть просто массив не пересекающихся и не касающихся друг друга Polygon'ов.
В отсутствии разъяснений Росреестра (писал электронные письма) и моего непонимания вышеуказанных описаний, поразмыслив пришёл к выводу:
<Entity_Spatial> - Polygon
<Contours> - Multipolygon
Практика и тесты
На Рис1. описан земельный участок состоящий из 2-х контуров, при том что второй содержит в себе 4 внутренних контура (дырки).
2 контура созданы потому, что через этот участок проходит другой, созданный для эксплуатации автомобильной дороги. Такое деление на отдельные контура носит название чересполосицы.
На Рис.2 показан результат обработки XML в виде shapefile.
Что-то не так
Первое, что бросается в глаза, у каждого <Contour> есть атрибут "Номер по порядку" упорядочивающий их порядок (тавтология). А у <Spatial_Element>'ов такого нет, а ведь именно в у них необходимо знать, как минимум, кто из элементов контура основной. Ну и порядок, наверное, то же важен. Но, мы видим то что есть.
Ещё...
Подобный подход оказался не до конца верным... Был обнаружен земельный участок не имеющий <Contours>, но состоящий только из чересполосных контуров (Рис.3).
Получается, что использование <Contours> не связано с описанием внешних контуров.
Возможно, этими контурами Росреестр пытается описывать т. н. "многоконтурные" участки (синоним "единое землепользование") раз, два.
UPD 15/10/2012
Я обратился в саппорт Росреестра в очередной раз, но после переписки с г-н Сапельниковым из Росреестра и получил ответ:
При описании границ земельного участка, который представляет из себя контур с «дырками» нужно описать несколько элементов <Spatial_Element>.
При этом, первым должен быть описан внешний контур, за ним должны быть описаны внутренние контура. При этом порядок обхода точек внешнего контура должен быть против часовой стрелки, а внутренних – по часовой стрелке.
Если участок имеет более одного внешнего контура, в терминологии ГКН он является «Многоконтурным земельным участком», при этом значение атрибута @Name этого участка должно быть равно «05», вместо ветки <Entity_Spatial> должна быть сформирована ветка <Contours>. Каждый внешний контур должен быть описан в элементе <Contour>, при этом правила описания его границ <Entity_Spatial> соответствуют правилам описания границ <Entity_Spatial> обычного земельного участка.
Служба поддержки.