13 | Документация

Подмена источника для отображения

В CoGIS Server есть возможность использовать Представление (SQL-view) как источник данных для отображения, а при этом редактировать исходный класс объектов, на базе которого создано Представление .
Например: существует класс объектов, на базе него создано Представление (SQL-view), которое отличается только одним или несколькими полями (расчётные величины). Для отображения будет использовано Представление , но редактироваться будет исходный класс объектов и только те поля, которые представлены в исходном классе объектов.
Данная функция позволяет избегать создания дополнительных триггеров копирования значений между связанными объектами (из родительского объекта в дочерний и т. д.), просто присоединяя необходимые поля к связанному объекту для отображения.
Таким образом, в проект добавляется слой Представления (SQL-view), а для редактирования в переменных указывается таблица-источник Представления .
Для настройки используются следующие переменные, см. Таблица 16 .
Таблица 16 - Переменные для подмены источника данных
Переменная
Описание
Пример значения
elitegis_view_source_table
Указывает на исходную таблицу
mydata.featureclass
elitegis_view_source_geometry_field
Имя колонки с геометрией
Не обязательно
shape
elitegis_view_source_geometry_type
Тип геометрии
Не обязательно
Point/Multipoint/Polyline/Polygon/Null
elitegis_view_source_spatial_reference
Система координат (проекция)
Не обязательно
Форматы WKID/WKT/proj4
elitegis_view_source_oid_field
oid-ое поле (ключевое)
Не обязательно
oid
Рисунок 175 - Пример заполненного значения переменной, позволяющей подменить источник данных для отображения

Создание Представления (SQL-view)

Создать Представление можно одним из следующих способов:
  • в Менеджере БД QGIS выбрать подключенную базу данных и открыть Окно SQL ;
  • используя pgadmin, выбрать в подключенной базе данных для таблицы команду контекстного меню Query tool .
В Менеджере БД в открывшемся окне SQL введите запрос для создания Представления , например для базы данных PostgreSQL, такого вида:
SELECT id, geom, field1, field2, field3 FROM "myschema"."mytable"
После ввода запроса нажмите Выполнить и затем Создать представление (см. Рисунок 176 ). В появившемся окне введите имя Представления . Представление создано в выбранной базе данных.
Представление можно добавить как слой к текущему QGIS-проекту.
Обратите внимание, что при создании Представления поле с уникальными идентификаторами объектов должно быть целочисленным и с именем, одним из следующего списка: objectid , oid , fid , id , rowid , row_id (без учета регистра). Рекомендуется использовать имя oid .
Рисунок 176 - Создание Представления (SQL-view) в Менеджере БД