GML/XML
GML/XML
В данном разделе приводится описание внутренней структуры файлов GML и XML, размещаемых на портале Федеральной государственной информационной системы территориального планирования (ФГИС ТП) в соответствии с требованиями к структуре и форматам информации, утвержденными приказом Минэкономразвития России от 17.06.2021 № 349.
ВАЖНО. Приводимая ниже информация не является руководством к действию, а служит лишь для лучшего понимания содержимого материалов, загружаемых на портал ФГИС ТП. Кроме того рекомендуется предварительно ознакомиться со спецификациями XML и GML, поскольку общие моменты, связанные с правилами составления дерева файла, а также принятыми ограничениями, здесь не приводятся.
Оглавление
Ниже приводится описание внутренней структуры векторных карт в формате GML, подготавливаемых в рамках разработки проектов документов территориального планирования, в соответствии с официальной XML-схемой, которая является приложением к приказу Министерства экономического развития Российской Федерации от 13.02.2025 № 89.
В общем виде GML-файл имеет древовидную структуру, состоящую из одного корневого элемента, объявляемого в самом начале, и последовательности элементов, описывающих границы области показа геообъектов, объекты, зоны и границы в соответствии требованиями приказа Минэкономразвития России от 09.01.2018 № 10 и спецификациями XML и GML. Схематично описываемая структура изображена на рисунке ниже.
КОРНЕВОЙ ЭЛЕМЕНТ ФАЙЛА
Ниже приведен пример корневого элемента GML-файла, далее описание структуры корневого элемента.
1 <gml:FeatureCollection
2 gml:id="i108203406"
3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4 xmlns="http://fgistp"
5 xmlns:gml="http://www.opengis.net/gml/3.2"
6 xsi:schemaLocation="http://fgistp fgistp.xsd">
Строка 1. Объявление корневого элемента файла - gml:FeatureCollection - определенного в спецификации GML.
Строка 2. В соответствии с официальной XML-схемой для формирования GML-файлов необходимо использовать спецификацию GML версии 3.2.1, для которой введен обязательный атрибут gml:id - уникальный идентификатор файла. Значение атрибута должно быть представлено набором символов, начинающегося с буквы или нижнего подчеркивания, может содержать буквы, цифры, символы "-" (дефис), "_" (нижнее подчеркивание), "." (точка). В приведенном примере значение атрибута gml:id - i108203406.
Строка 3. Указывает, что файл составлен на основе XML-схемы. Стандартный атрибут, определенный в спецификации XML.
Строка 4. Атрибут xmlns служит для указания целевого пространства имен. В соответствии с XML-схемой таковым является http://fgistp.
Строка 5. Атрибут xmlns:gml указывает, что для описания элементов, определенных в спецификации GML, используется версия 3.2.1.
Строка 6. Атрибут xsi:schemaLocation служит для связи целевого пространства имен и физического xsd-файла схемы. Данный атрибут используется программами, выполняющими валидацию (форматно-логический контроль) содержимого GML-файла, для определения XML-схемы, на основе которой осуществляется проверка. Значение атрибута должно быть представлено парой строк, разделенных пробелом: первая строка - целевое пространство имен (http://fgistp), вторая - ссылка на xsd-файл, которая может быть представлена в виде абсолютного или относительного пути к файлу схемы, сохраненному, например, на компьютере, либо в виде ссылки на файл в сети Интернет. В приведенном примере указан относительный путь к файлу fgistp.xsd, который расположен в той же папке, что и GML-файл. В качестве альтернативы может быть использована ссылка на официальную схему, размещенную на портале ФГИС ТП. В этом случае атрибут xsi:schemaLocation будет выглядеть следующим образом:
xsi:schemaLocation="http://fgistp https://fgistp.economy.gov.ru/xsd/fgistp-10-izm-698.xsd"
ЭЛЕМЕНТ GML:BOUNDEDBY
В соответствии с разделом 1.3 официального руководства пользователя сайта ФГИС ТП внутри файла векторной карты необходимо описывать элемент "охвата", содержащий информацию о границе области показа геообъекта на карте. Область показа - это минимальный прямоугольник, который можно описать вокруг объекта (объектов).
В соответствии со спецификацией GML для описания такой границы используется элемент gml:boundedBy. Внутри данного элемента приводятся координаты нижнего левого (юго-западного) и верхнего правого (северо-восточного) углов условной рамки, охватывающей все объекты, зоны и границы, приводимые в GML-файле.
В контексте данного описания элемент gml:boundedBy является первым дочерним элементом по отношению к gml:featureCollection. Ниже приведено описание структуры элемента gml:boundedBy.
1 <gml:boundedBy>
2 <gml:Envelope>
3 <gml:lowerCorner>4447819.123865554 5992240.886897944</gml:lowerCorner>
4 <gml:upperCorner>4461216.6472165845 6006029.926754724</gml:upperCorner>
5 </gml:Envelope>
6 </gml:boundedBy>
Строка 1. Объявление элемента gml:boundedBy.
Строка 2. Объявление элемента gml:Envelope, содержащего описание экстента - области отображения объектов на карте. Является дочерним по отношению к элементу gml:boundedBy.
Строка 3. Элемент gml:lowerCorner содержит пару координат, описывающих нижний левый (юго-западный) угол области показа. Координаты отделяются друг от друга пробелом.
Строка 4. Элемент gml:upperCorner содержит пару координат, описывающих верхний правый (северо-восточный) угол области показа. Координаты отделяются друг от друга пробелом.
Значения, указываемые внутри элементов gml:lowerCorner, gml:upperCorner, должны приводится в той же системе координат, что и при пространственном описании объектов, зон, границ.
ОПИСАНИЕ ОБЪЕКТОВ, ЗОН, ГРАНИЦ
Объекты, зоны или границы должны быть представлены в виде отдельных элементов, содержащих семантическое (атрибутивное) описание таких объектов, зон и границ в соответствии с приказом Минэкономразвития России от 09.01.2018 № 10 и пространственное описание в виде набора координат. Ниже приводится пример описания точечного объекта - пожарного депо - из состава слоя "Объекты единой государственной системы предупреждения и ликвидации чрезвычайных ситуаций" (EmergencyProtectionObj).
1 <gml:featureMember>
2 <EmergencyProtectionObj>
3 <GLOBALID>bb71cc70-4d61-4d87-9d77-83a9ac872114</GLOBALID>
4 <CLASSID>602050202</CLASSID>
5 <NUMBER>1</NUMBER>
6 <NAME>Пожарное депо</NAME>
7 <OKTMO>60602423101</OKTMO>
8 <FP_TYPE>1</FP_TYPE>
9 <FP_CLASS>5</FP_CLASS>
10 <FE_COUNT>4</FE_COUNT>
11 <W_SOURCE>1</W_SOURCE>
12 <EVENT_TIME>2025</EVENT_TIME>
13 <STATUS>2</STATUS>
14 <REG_STATUS>5</REG_STATUS>
15 <gml:MultiPoint srsName="EPSG:3857">
16 <gml:pointMember>
17 <gml:Point>
18 <gml:pos>4446602.08964462 5979432.54944019</gml:pos>
19 </gml:Point>
20 </gml:pointMember>
21 </gml:MultiPoint>
22 </EmergencyProtectionObj>
23 </gml:featureMember>
Строка 1. Объявление нового объекта/зоны/границы. Описание каждого отдельного объекта/зоны/границы должно быть заключено внутрь элемента gml:featureMember.
Строка 2. Объявление слоя, в составе которого определен объект/зона/граница. Наименование элемента должно соответствовать кодовому наименованию слоя из приказа от 09.01.2018 № 10.
Строки 3-14. Атрибутивное описание объекта/зоны/границы в соответствии с приказом от 09.01.2018 № 10. Значение каждого атрибута объекта/зоны/границы помещается внутрь соответствующего элемента. Последовательность элементов должна строго соответствовать XML-схеме. Например, если у описанного выше объекта поменять местами элементы FP_CLASS и FP_TYPE, с точки зрения форматно-логического контроля на основе XML-схемы такое описание будет некорректным. Стоить отметить, что в некоторых случаях последовательность атрибутов, приводимых в приказе Минэкономразвития России от 09.01.2018 № 10, отличается от официальной XML-схемы.
Строка 15. Объявление пространственного описания объекта/зоны/границы. Приводится в соответствии со спецификацией GML версии 3.2.1. В приведенном примере используется элемент gml:MultiPoint. Это означает, что объект представлен мультиточечной геометрией. В соответствии с XML-схемой для пространственного описания должны использоваться следующие элементы:
gml:MultiPoint - для объектов, имеющих точечную геометрию;
gml:MultiCurve - для объектов, имеющих линейную геометрию;
gml:MultiSurface - для объектов, имеющих площадную геометрию.
Также у данного элемента приводится атрибут srsName, который указывает на систему координат, используемую для пространственного описания объекта/зоны/границы. В приведенном примере данный атрибут принимает значение EPSG:3857. Это означает, что используется система координат WGS 84 / Pseudo-Mercator.
Строки 16-19. Пространственное описание объекта/зоны/границы в соответствии со спецификацией GML.
ВАЖНО. Внутри элементов, содержащих описание области показа объектов, пространственное описание объектов, зон, границ, координаты приводятся в обратном порядке: в каждой паре сначала записывается координата Y, затем координата X.
АЛЬТЕРНАТИВНАЯ СТРУКТУРА GML
При работе с сайтом ФГИС ТП в части загрузки материалов проектов документов территориального планирования может возникать ситуация, при которой GML-файл, подготовленный в строгом соответствии с официальной XML-схемой, не проходит форматно-логический контроль. В таких случаях пользователи могут столкнуться со следующими ошибками: "Невозможно открыть файл, содержащий пространственные данные", "Ошибка конвертора при сохранении объектов после проверки", либо система не может распознать объекты внутри файла (сообщение вида "Получено записей., Загружено записей.,").
Ввиду отсутствия четких разъяснений со стороны службы технической поддержки сайта ФГИС ТП или Минэкономразвития России по данному вопросу, а также отсутствия документации, содержащей описание работы форматно-логического контроля сайта ФГИС ТП, установить причины возникновения вышеуказанных ошибок не представляется возможным.
ВАЖНО!
В контексте излагаемой в данном подразделе информации предполагается, что GML-файлы, при проверке которых возникают описанные ошибки, подготовлены корректно с точки зрения XML-схемы: заполнены все обязательные и требуемые к заполнению условные атрибуты, последовательность элементов, типы данных, содержащихся внутри элементов, полностью соответствуют схеме, внутри файлов отсутствуют недопустимые символы, а в наименованиях элементов отсутствует кириллица.
Приведенная ниже информация составлена на основе выводов, сделанных в процессе многократного тестирования различных вариаций GML-файлов через систему форматно-логического контроля сайта ФГИС ТП.
Одним из способов обойти указанную проблему является подготовка векторных карт в формате GML, имеющих альтернативную структуру. Ниже приводится пример внутреннего содержимого такого GML-файла и его описание.
1 <gml:FeatureCollection xmlns:gml="http://www.opengis.net/gml">
2 <gml:boundedBy>
3 <gml:Envelope>
4 <gml:lowerCorner>60603.0363532984 47208.8870143448</gml:lowerCorner>
5 <gml:upperCorner>60603.0363532984 47208.8870143448</gml:upperCorner>
6 </gml:Envelope>
7 </gml:boundedBy>
8 <gml:featureMember>
9 <_Culture>
10 <GLOBALID>c612bdf7-1f1c-4927-b1a5-9585e89c3947</GLOBALID>
11 <CLASSID>602010202</CLASSID>
12 <NUMBER>-</NUMBER>
13 <NAME>Сельский дом культуры</NAME>
14 <OKTMO>12345678</OKTMO>
15 <ADDRESS>-</ADDRESS>
16 <CU_TYPE>0</CU_TYPE>
17 <CLB_TYPE>1</CLB_TYPE>
18 <ENT_TYPE>0</ENT_TYPE>
19 <LB_STOCK>0</LB_STOCK>
20 <CAPACITY>150</CAPACITY>
21 <BLD_AREA>0</BLD_AREA>
22 <EXB_AREA>500</EXB_AREA>
23 <WRK_COUNT>0</WRK_COUNT>
24 <FUNCTION>-</FUNCTION>
25 <EVENT_TIME>0</EVENT_TIME>
26 <SOURCE>-</SOURCE>
27 <NOTE>-</NOTE>
28 <STATUS>1</STATUS>
29 <REG_STATUS>5</REG_STATUS>
30 <KADASTROKS>-</KADASTROKS>
31 <KADASTRZU>12:34:4567890</KADASTRZU>
32 <NAMEDOCOSN>-</NAMEDOCOSN>
33 <DATEDOCOSN>-</DATEDOCOSN>
34 <NUMBERDOCOSN>-</NUMBERDOCOSN>
35 <gml:MultiPoint srsName="EPSG:3857">
37 <gml:pointMember>
38 <gml:Point>
39 <gml:pos>60603.0363532984 47208.8870143448</gml:pos>
40 </gml:Point>
41 </gml:pointMember>
42 </gml:MultiPoint>
43 </_Culture>
44 </gml:featureMember>
45 </gml:FeatureCollection>
Строка 1. Объявление корневого элемента. В данном случае внутри элемента объявлено лишь одно пространство имен - http://www.opengis.net/gml. Подготовка векторной карты альтернативным способом осуществляется с использованием спецификации GML версии 3.1.1.
Строки 2-7. Описание "охвата" карты с использованием элемента gml:boundedBy.
Строка 9. Объявление слоя/класса объекта. Предположительно система форматно-логического контроля использует разные алгоритмы при проверке GML-файлов, составленных в соответствии с официальной схемой и альтернативным способом. Возможно выбор алгоритма зависит от того, каким образом объявлен слой, в составе которого описан объект: если объявляемый слой полностью соответствует кодовому наименованию слоя из приказа Минэкономразвития России от 09.01.2018 № 10, выполняется проверка на соответствие XML-схеме, в ином случае - для проверки используется другой алгоритм.
Строки 10-34. Описание атрибутивных данных объекта в соответствии с приказом № 10. Для необязательных и незаполняемых атрибутов используются так называемые "заглушки": для числовых атрибутов - 0, для символьных - прочерк/знак "минус".
Строки 35-42. Пространственное описание объекта в соответствии со спецификацией GML версии 3.1.1.
Важно отметить, что при подготовке GML-файлов альтернативным способом карты необходимо формировать послойно: в одном GML-файле должно приводится описание объектов только одного слоя/класса объектов. При этом набор элементов, описывающих атрибутивные данные объектов, должен быть постоянным на протяжении всего файла, то есть у всех объектов набор таких элементов (в том числе их последовательность) должен быть полностью идентичным. Для незаполняемых атрибутов могут быть использованы так называемые "заглушки" как в приведенном примере. Предположительно при проверке GML-файлов, составленных альтернативным способом, система форматно-логического контроля формирует схему атрибутов, исходя из атрибутивного состава первого объявленного внутри файла объекта.
На практике замечено, что проверка подготовленных альтернативным способом векторных карт на сайте ФГИС ТП проходит быстрее, чем проверка карт, подготовленных в соответствии с XML-схемой. Однако после проверки система выводит сообщение следующего содержания: "Не найдено объявление элемента gml:FeatureCollection". Данная ситуация не является критичной, а наличие такого сообщения в выводе не мешает перейти к следующему этапу проверки документа на сайте ФГИС ТП.
Согласно требованиям к загружаемым документам на сайте ФГИС ТП при размещении материалов в составе проектов документов территориального планирования в карточку документа в обязательном порядке необходимо загружать два XML-файла: "Приложение к положению о территориальном планировании в форме электронного документа" и "Материалы по обоснованию в формате xml".
Отдельные схемы для подготовки указанных файлов действующими нормативными правовыми актами Минэкономразвития России не предусмотрены. В связи с этим данные XML-файлы могут быть подготовлены на основе XML-схемы, являющейся приложением к приказу от 13.02.2025 № 89.
Согласно пункту 10.1 требований к структуре и форматам информации, предусмотренной частью 2 статьи 57.1 Градостроительного кодекса Российской Федерации, составляющей информационный ресурс Федеральной государственной информационной системы территориального планирования (приказ от 17.06.2021 № 349), при размещении материалов из состава нормативов градостроительного проектирования в дополнение к основной части необходимо загружать отдельное приложение в виде XML-файла, соответствующего XML-схеме.
В соответствии с приказом Министерства экономического развития Российской Федерации от 13.02.2025 № 89 на официальном сайте Федеральной государственной информационной системы территориального планирования в разделе "Информация-Материалы" размещена XML-схема fgistp_ngp_4.xsd для подготовки вышеуказанного XML-файла.
В разделе Взаимодействие с ФГИС ТП размещены ссылки на модифицированную версию схемы, в которой устранены технические ошибки, удалены неиспользуемые справочники, а также на документ с описанием структуры оригинальной схемы.
Ниже приведены ссылки для загрузки файлов GML/XML. Данные файлы приводятся в ознакомительных целях для наглядной демонстрации внутренней структуры, описанной выше, и формирования лучшего понимания содержимого материалов, размещаемых на портале ФГИС ТП.
ВАЖНО. Сведения, приводимые внутри векторных карт, в том числе пространственное описание, не соответствуют реально существующим объектам и документам, это не более чем пример. Атрибутивное описание объектов, зон, границ внутри GML-файлов соответствует редакции приказа Минэкономразвития России от 09.01.2018 № 10 с изменениями от 06.02.2025.
Векторная карта, содержащая описание границ населенных пунктов
Векторная карта, содержащая границы и описание функциональных зон
Примеры векторных карт, подготовленных альтернативным способом
Пример XML-документа, воспроизводящего сведения из состава основной части нормативов градостроительного проектирования