Использование QGIS для подготовки межевого плана: различия между версиями

Материал из GIS-Lab
Перейти к навигации Перейти к поиску
мНет описания правки
мНет описания правки
Строка 28: Строка 28:
База данных (БД) традиционно состоит из взаимосвязанных таблиц, условно разделенных на три группы, на три схемы в терминологии используемой СУБД.  
База данных (БД) традиционно состоит из взаимосвязанных таблиц, условно разделенных на три группы, на три схемы в терминологии используемой СУБД.  


# ''class'' — набор классификаторов, структура и состав которых определены нормативными документами. Были использованы классификаторы XML - схемы, используемой для формирования XML - документа – межевого плана земельного участка, предоставляемого в орган кадастрового учета в форме электронного документа. <br/> Кроме классификаторов, обусловленных нормативными документами, схема содержит некоторые служебные таблицы, например:
1. ''class'' — набор классификаторов, структура и состав которых определены нормативными документами. Были использованы классификаторы XML - схемы, используемой для формирования XML - документа – межевого плана земельного участка, предоставляемого в орган кадастрового учета в форме электронного документа. <br/> Кроме классификаторов, обусловленных нормативными документами, схема содержит некоторые служебные таблицы, например:
## ''database_version'' — таблица с номером версии данной БД, для задач контроля и обновления структуры<nowiki>;</nowiki>
## ''database_version'' — таблица с номером версии данной БД, для задач контроля и обновления структуры<nowiki>;</nowiki>
## ''sistema_koordinat'' — таблица содержащая параметры местных систем координат, необходимых для работы, в формате выражения ''proj''. Таблицы схемы ''class'' недоступны обычным пользователям для редактирования. Права на редактирование этих классификаторов имеют только пользователи с правами администратора.
## ''sistema_koordinat'' — таблица содержащая параметры местных систем координат, необходимых для работы, в формате выражения ''proj''.  
# ''msk ''— схема содержит пространственные таблицы, необходимые для проведения кадастровых работ: «Район», «Квартал», «Участок», «Граница», «Точка». В поле ''geom'' хранится пространственная составляющая каждого объекта. Значения координат хранятся в метрах, а система координат для каждого объекта (строки таблицы) определятся полем ''id_msk''. Данное поле имеет формат GUID и для каждой таблицы схемы ''msk'', является внешним ключом на таблицу ''sistema_koordinat'', которая, в свою очередь, содержит параметры используемых в системе МСК.  
Таблицы схемы ''class'' недоступны обычным пользователям для редактирования. Права на редактирование этих классификаторов имеют только пользователи с правами администратора.
2. ''msk ''— схема содержит пространственные таблицы, необходимые для проведения кадастровых работ: «Район», «Квартал», «Участок», «Граница», «Точка». В поле ''geom'' хранится пространственная составляющая каждого объекта. Значения координат хранятся в метрах, а система координат для каждого объекта (строки таблицы) определятся полем ''id_msk''. Данное поле имеет формат GUID и для каждой таблицы схемы ''msk'', является внешним ключом на таблицу ''sistema_koordinat'', которая, в свою очередь, содержит параметры используемых в системе МСК.  


<center>[[Файл:Id-msk.png]]</center>
<center>[[Файл:Id-msk.png]]</center>
Строка 39: Строка 40:
Для начала работы с новой территорией (новой МСК) не нужно изменять структуру данных БД, достаточно только лишь добавить новую запись в таблицу ''sistema_koordinat'' с необходимыми параметрами, обновить выборку в ГИС и в результате получить «чистый лист» на котором можно создавать объекты уже сразу в новой МСК.
Для начала работы с новой территорией (новой МСК) не нужно изменять структуру данных БД, достаточно только лишь добавить новую запись в таблицу ''sistema_koordinat'' с необходимыми параметрами, обновить выборку в ГИС и в результате получить «чистый лист» на котором можно создавать объекты уже сразу в новой МСК.


Для таблицы «Квартал» имеется исключение — для нулевых кварталов каждого кадастрового района поле ''geom'' пустое, то есть нулевой квартал не имеет пространственной составляющей. Принадлежность земельных участков (ЗУ) нулевому кварталу определяется только атрибутивной информацией.
Для таблицы «Квартал» имеется исключение — у нулевых кварталов каждого кадастрового района поле ''geom'' пустое, то есть нулевой квартал не имеет пространственной составляющей. Принадлежность земельных участков (ЗУ) нулевому кварталу определяется только атрибутивной информацией.
# ''public'' — данная схема содержит таблицы с атрибутивной информацией. Основная часть этих таблиц определяет атрибуты административно-территориального деления (АТД) для ЗУ, то есть являются справочниками всевозможных названий элементов АТД. Непосредственно сам адрес, как сущность, представлен в виде комбинации идентификаторов строк данных справочников.
3. ''public'' — данная схема содержит таблицы с атрибутивной информацией. Основная часть этих таблиц определяет атрибуты административно-территориального деления (АТД) для ЗУ, то есть являются справочниками всевозможных названий элементов АТД. Непосредственно сам адрес, как сущность, представлен в виде комбинации идентификаторов строк данных справочников.


<center>[[Файл:Address.png]]</center>
<center>[[Файл:Address.png]]</center>

Версия от 04:48, 1 апреля 2013

Эта страница является черновиком статьи.


Использование QGIS для подготовки межевого плана

В данной статье рассматривается возможность использования открытого программного обеспечения в качестве инструмента кадастрового инженера при подготовке документов межевого плана.

Цель создания

Для разработки системы openLand были две основные предпосылки:

  • технологическая, выраженная в стремление использовать открытую Quantum GIS, как перспективную и динамически развивающуюся ГИС;
  • экономическая, выраженная в желании использования свободного программного обеспечения, с нулевой стоимостью приобретения и выгодной ценой владения ПО.

Указанными предпосылками был определён выбор программного обеспечения для работы и составляющие компоненты системы:

  1. ГИС Quantum GIS;
  2. СУБД PostgreSQL с пространственным расширением PostGIS;
  3. Библиотека libxslt;
  4. Текстовый редактор LibreOffice Writer.

Составляющие элементы системы:

  1. База данных PostgreSQL;
  2. Модуль на Python;
  3. Набор локальных файлов формата SHP;
  4. Утилита командной строки библиотеки libxslt;
  5. Файл проекта QGIS.

Состав системы

Серверная часть системы

База данных (БД) традиционно состоит из взаимосвязанных таблиц, условно разделенных на три группы, на три схемы в терминологии используемой СУБД.

1. class — набор классификаторов, структура и состав которых определены нормативными документами. Были использованы классификаторы XML - схемы, используемой для формирования XML - документа – межевого плана земельного участка, предоставляемого в орган кадастрового учета в форме электронного документа.
Кроме классификаторов, обусловленных нормативными документами, схема содержит некоторые служебные таблицы, например:

    1. database_version — таблица с номером версии данной БД, для задач контроля и обновления структуры;
    2. sistema_koordinat — таблица содержащая параметры местных систем координат, необходимых для работы, в формате выражения proj.

Таблицы схемы class недоступны обычным пользователям для редактирования. Права на редактирование этих классификаторов имеют только пользователи с правами администратора. 2. msk — схема содержит пространственные таблицы, необходимые для проведения кадастровых работ: «Район», «Квартал», «Участок», «Граница», «Точка». В поле geom хранится пространственная составляющая каждого объекта. Значения координат хранятся в метрах, а система координат для каждого объекта (строки таблицы) определятся полем id_msk. Данное поле имеет формат GUID и для каждой таблицы схемы msk, является внешним ключом на таблицу sistema_koordinat, которая, в свою очередь, содержит параметры используемых в системе МСК.

Id-msk.png

Таким образом, например в таблице «Квартал», хранятся полигоны совершенно разных районов работ и МСК. Для работы пользователя с определенной МСК, в ГИС необходимо только сделать выборку объектов с нужным id_msk по всем пространственным таблицам.

Для начала работы с новой территорией (новой МСК) не нужно изменять структуру данных БД, достаточно только лишь добавить новую запись в таблицу sistema_koordinat с необходимыми параметрами, обновить выборку в ГИС и в результате получить «чистый лист» на котором можно создавать объекты уже сразу в новой МСК.

Для таблицы «Квартал» имеется исключение — у нулевых кварталов каждого кадастрового района поле geom пустое, то есть нулевой квартал не имеет пространственной составляющей. Принадлежность земельных участков (ЗУ) нулевому кварталу определяется только атрибутивной информацией. 3. public — данная схема содержит таблицы с атрибутивной информацией. Основная часть этих таблиц определяет атрибуты административно-территориального деления (АТД) для ЗУ, то есть являются справочниками всевозможных названий элементов АТД. Непосредственно сам адрес, как сущность, представлен в виде комбинации идентификаторов строк данных справочников.

Address.png

Кроме таблиц АТД имеются таблицы «Многоконтурный» и «Части». Эти таблицы содержат информацию о взаимосвязи отдельных контуров или частей с многоконтурными ЗУ и участков с частями. Часть функционала системы также находится на серверной части и реализована в виде триггерных функций и значений полей по умолчанию.

Например, фиксируется имя пользователя и время создания ЗУ через значения полей по умолчанию.

CREATE TABLE msk.uchastok (
  id SERIAL, 

  create_user VARCHAR(20) DEFAULT "current_user"(), 
  create_date TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT now(), 

Другой пример — триггер на создание ЗУ, проверяющий входимость центроида создаваемого участка в существующий полигон кадастрового квартала (КК). Если такой полигон КК существует, создаваемый ЗУ автоматически относится к данному кварталу.


IF (NEW.geom IS NOT NULL) AND (NEW.id_kvartal IS NULL) AND (NEW.id_msk IS NOT NULL) THEN
    ngeom = public.st_centroid(NEW.geom);
    idmsk = NEW.id_msk;
    SELECT id, kn FROM "msk".kvartal
        WHERE public.st_within(ngeom, geom) 
          AND kvartal.id_msk=idmsk INTO idkn;
    NEW.id_kvartal = idkn;

Клиентская часть системы

Основными элементами клиентской части системы являются модуль openLand на языке программирования Python и файл проекта QGIS.

Проект openLand.qgs:

  • является связывающим звеном между кодом модуля и базой данных;
  • определяет стили отображения пространственных элементов в соответствии с принятыми условными обозначениями;
  • определяет ряд действий над пространственными объектами используя встроенные возможности ГИС (инструмент «Выполнить действия объекта»);
  • содержит описание макетов документов для печати: «Схема геодезических построений», «Схема расположения ЗУ», «Чертёж ЗУ и ЧЗУ».

Код модуля непосредственно реализует большую часть функционала системы для выполнения кадастровых работ, например:

  • импорт данных кадастрового плана территории и выписки о ЗУ в формате XML;
  • автоматизация действий с объектами;
  • редактирование геометрии и атрибутов объектов;
  • формирования межевого плана в формате XML.
Import-xml-kpt-dialog.png


Export-xml-rezult.png

Система подготовки печатной формы межевого плана основана на формировании документа в формате ODF (OpenDocument Format). Документы, содержащие графическую часть (чертежи и схемы) формируются непосредственно в ГИС, через макеты. Остальные документы (исходные данные, сведения о выполненных измерениях и расчетах, сведения об образуемых земельных участках и их частях) формируются на основании подготовленного XML файла межевого плана. То есть, XML форма межевого плана первична, а печатный вариант вторичен.

Межевой план в формате файла ODF из формата XML формируется с использованием утилиты XSLT трансформации. Утилита командной строки из библиотеки LIBXSLT.