Как устроена платформа CoGIS изнутри
CoGIS – это платформа для сбора, анализа, публикации и совместной работы с пространственными данными.
Вступление
CoGIS - это платформа для публикации и работы с геоданными в веб-браузере и через мобильные приложения. Отличительной особенностью платформы CoGIS является возможность выполнения множества операций, таких как создание карт, настройка прав доступа к данным, применение готовых инструментов для пространственного анализа, импорт и обработка данных, подготовка отчетов, статистики в виде виджетов и др., не прибегая к программированию.
Платформа реализована по принципу открытой архитектуры, которая позволяет практически без ограничений интегрировать отдельные ее компоненты в существующую информационно-вычислительную инфраструктуру организации или предприятия.
Сами геоданные могут храниться в СУБД, таких как PostgreSQL или MSSQL, без дополнительных конверторов, а значит для публикации в CoGIS можно напрямую использовать готовые базы данных, в т. ч. и с возможностью редактирования этих данных средствами CoGIS. Растровые данные так же поддерживаются.
Перед публикацией геоданные необходимо подготовить - раскрасить, задать подписи, подключить справочники для атрибутов и пр. По сути это означает сформировать картографический проект. С этой работой отлично справляется бесплатное настольное решение QGIS, файлы которого ГИС-сервер CoGIS может читать напрямую, без дополнительной обработки. Кроме того, для публикации можно использовать и готовые карты в форматах KML/KMZ, CMF2, а также данные в формате GeoPackage или шейп-файлы.
Следующий этап - это публикация подготовленных картографических проектов в виде веб-сервисов. ГИС-сервер поддерживает стандарты OGC для интеграции опубликованных картографических сервисов в другие системы, а также более гибкий и современный формат AGS. На этом этапе ГИС-администратор настраивает доступные протоколы и операции, права доступа к слоям, объектам и возможности редактирования.
Готовые опубликованные карты представлены в виде иерархичного каталога и доступны как на веб-портале CoGIS, так и в мобильном приложении CoGIS Mobile.
Геоданные
- Векторные пространственные данные – это чаще всего таблицы с объектами, у которых есть атрибутивная информация и геометрия, описываемая вершинами (поворотными точками). Такие таблицы называют классами пространственных объектов. Классический набор типов геометрий – это точка, мультиточка, полилиния, полигон. В каждой вершине геометрии при необходимости может быть определена Z-координата. Координаты геометрии задаются в рамках выбранной системы координат (географической или проекционной). Векторные данные, как правило, хранятся в базе данных (например PostgreSQL/PostGIS или MSSQL Server). Также объекты могут храниться в файлах обменного формата (например shapefile) и в локальных файловых хранилищах (например GeoPackage). Кроме пространственных данных в источнике могут быть представлены и табличные данные – справочники и просто не привязанные к местоположению объекты (договоры, список исполнителей и т. д.).
- Растровые данные – это, как правило, ортофотопланы, в частности, космоснимки или фото с дронов. Самый популярный формат для растров - это GeoTIFF.
Платформа CoGIS поддерживает все указанные выше, а также другие более специфические форматы данных и файлов. По запросу перечень поддерживаемых СУБД и файловых форматов может быть расширен.
Управление схемой БД осуществляется через штатные административные консоли (pgAdmin для PostgreSQL/PostGIS, MS SQL Management Studio для MS SQL Server), а основные функции доступны и через бесплатное настольное приложение QGIS.
Картографические проекты
Геоданные описывают атрибутивные и пространственные свойства объектов, но не описывают, как отображать эти данные. Ведь один и тот же класс пространственных объектов может использоваться в разных картах с разными режимами отображения и предоставления информации, включая:
- отображение объектов на карте
- раскраска объектов, в т. ч. по уникальному значению и по диапазону значений
- подписи к объектам
- диапазон масштабов видимости
- видимость объектов по умолчанию
- предоставление информации
- шаблон наименования объекта
- псевдонимы для полей
- скрытые поля и измененный порядок полей
- справочники для полей с указанием пар «код-значение»
- фильтрация объектов (как правило, по предопределенному SQL-условию)
- название выборки объектов
Совокупность пространственных объектов, относящихся к одному классу объектов в пределах определенной территории, называют слоем. Послойное представление является наиболее распространенным способом организации пространственных данных в ГИС. По способу хранения графической информации слои бывают векторные, растровые, слои рельефа и др.
Картографический проект – это иерархический набор слоев, а также следующая дополнительная информация:
- система координат, в которой будут отрисовываться геоданные (при необходимости с трансформацией на лету из другой системы координат класса пространственных объектов)
- атрибутивная связь между объектами разных слоёв
- метаданные (автор, описание, ключевые слова и пр.)
- пространственное ограничение области видимости для всех слоев
Интеграция с QGIS
Платформа реализована по принципу открытой архитектуры, которая позволяет практически без ограничений интегрировать отдельные компоненты в существующую информационно-вычислительную инфраструктуру организации или предприятия. Для расширения возможностей работы с картографическими проектами нами был предусмотрен механизм продвинутой интеграции с бесплатным настольным приложением QGIS, позволяющим публиковать созданный и сохраненный qgs/qgz файл путём стандартной операции drag&drop.
В картографическом проекте поддерживаются как векторные слои (PostgreSQL, MSSQL, GeoPackage, Shapefile), так и растровые слои (GeoTIFF). Установка ПО QGIS на сервере не требуется, т. к. qgs/qgz файлы читаются напрямую.
При публикации по умолчанию сохраняются все основные настройки проекта: иерархия слоев, раскраска (символьная, кластеризация, тепловая карта), подписи, масштабы видимости, настройки временнЫх слоев, настройки полей (видимость, порядок, псевдонимы, домены/справочники, доступность редактирования), а также системы координат и трансформации и т.д.
В качестве дополнительных возможностей по оформлению картографического проекта, которых нет в QGIS, можно указать переменные у слоев и всего проекта. Это может быть определение подтипов, отслеживание информации о том, кто, когда и каким образом создал или изменил объект, расширенные опции для кластеризации (круговая диаграмма, независимый расчет по разным регионам и пр.), задание псевдо-3D для зданий и других полигональных объектов, тепловая карта с интерполяцией между точками, полумасштабозависимость (размер символа увеличивается с приближением, но не линейно, как в классическом масштабозависимом варианте), слой-маска для обрезки изображения по полигону и т. д.
Картографические сервисы
Готовый картографический проект необходимо опубликовать для предоставления веб-доступа к нему. Публикация файла картографического проекта выполняется на ГИС-сервере. В результате публикации формируется картографический сервис, для получения информации о котором используются веб-методы GET/POST.
На уровне ГИС-сервера настраивается:
- права доступа для каждого сервиса – без ограничений, всем авторизованным пользователям, авторизованным пользователям из указанных групп
- доступные протоколы – OGC (WMS, WFS, WMTS, TMS) и ArcGIS Server REST API
- доступные функциональные возможности – генерация изображения карты по указанному экстенту, генерация и выдача тайлового кэша, идентификация объектов, поиск объектов и пр.
Платформа CoGIS имеет собственный ГИС-сервер eLiteGIS, который, в свою очередь, имеет веб-приложение eLiteGIS Manager, предназначенное для администратора системы и публикаторов сервисов. При помощи веб-приложения eLiteGIS Manager можно как публиковать и обновлять картографические сервисы, так и настраивать права доступа и возможности сервисов.
Интерактивные карты и Картографические приложения
Картографические сервисы доступны через REST API и не имеют пользовательского интерфейса. Для работы с сервисами нужен UI в виде интерактивной карты, которая формируется из одного или нескольких картографических сервисов. В рамках платформы CoGIS интерактивная карта настраивается в Конструкторе через веб-интерфейс и может быть предоставлена пользователям:
- в виде веб-страницы в рамках развернутого портала CoGIS
- в виде брендированного мобильного приложения для устройств Android и iOS на базе приложения CoGIS Mobile
Интерактивная карта включает следующие типовые инструменты и элементы управления:
- просмотр карты (pan/zoom)
- управление видимостью слоев
- выбор подложки (базовой карты)
- идентификация объектов по клику на карте
- однострочный поиск объектов по атрибутам
- просмотр атрибутивной таблицы слоев
- редактирование объектов
Платформа CoGIS предлагает большой набор готовых инструментов и возможностей, при настройке и внедрении которых интерактивную карту можно назвать уже полноценным картографическим приложением для решения различных бизнес-задач:
- визуальный анализ карты при помощи раскраски и фильтрации данных
- предоставление статистики по данным
- генерация word/excel отчетов по данным или по выбранному объекту
- использование инструментов геообработки (через запуск сервисов геообработки на ГИС-сервере) для анализа, расчета или специфического редактирования данных
- импорт и экспорт данных
- и многое другое