Как устроена платформа CoGIS изнутри

CoGIS – это платформа для сбора, анализа, публикации и совместной работы с пространственными данными.

Вступление

CoGIS - это платформа для публикации и работы с геоданными в веб-браузере и через мобильные приложения. Отличительной особенностью платформы CoGIS является возможность выполнения множества операций, таких как создание карт, настройка прав доступа к данным, применение готовых инструментов для пространственного анализа, импорт и обработка данных, подготовка отчетов, статистики в виде виджетов и др., не прибегая к программированию.

Платформа реализована по принципу открытой архитектуры, которая позволяет практически без ограничений интегрировать отдельные ее компоненты в существующую информационно-вычислительную инфраструктуру организации или предприятия.

Сами геоданные могут храниться в СУБД, таких как PostgreSQL или MSSQL, без дополнительных конверторов, а значит для публикации в CoGIS можно напрямую использовать готовые базы данных, в т. ч. и с возможностью редактирования этих данных средствами CoGIS. Растровые данные так же поддерживаются.

Перед публикацией геоданные необходимо подготовить - раскрасить, задать подписи, подключить справочники для атрибутов и пр. По сути это означает сформировать картографический проект. С этой работой отлично справляется бесплатное настольное решение QGIS, файлы которого ГИС-сервер CoGIS может читать напрямую, без дополнительной обработки. Кроме того, для публикации можно использовать и готовые карты в форматах KML/KMZ, CMF2, а также данные в формате GeoPackage или шейп-файлы.

Следующий этап - это публикация подготовленных картографических проектов в виде веб-сервисов. ГИС-сервер поддерживает стандарты OGC для интеграции опубликованных картографических сервисов в другие системы, а также более гибкий и современный формат AGS. На этом этапе ГИС-администратор настраивает доступные протоколы и операции, права доступа к слоям, объектам и возможности редактирования.

Готовые опубликованные карты представлены в виде иерархичного каталога и доступны как на веб-портале CoGIS, так и в мобильном приложении CoGIS Mobile.

Геоданные

Возможности платформы CoGIS позволяют решать различные задачи, связанные с хранением, публикацией и предоставления доступа к геоданным.
В основе любой геоинформационной системы лежат векторные и растровые данные:
  • Векторные пространственные данные – это чаще всего таблицы с объектами, у которых есть атрибутивная информация и геометрия, описываемая вершинами (поворотными точками). Такие таблицы называют классами пространственных объектов. Классический набор типов геометрий – это точка, мультиточка, полилиния, полигон. В каждой вершине геометрии при необходимости может быть определена 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 отчетов по данным или по выбранному объекту
  • использование инструментов геообработки (через запуск сервисов геообработки на ГИС-сервере) для анализа, расчета или специфического редактирования данных
  • импорт и экспорт данных
  • и многое другое

Процесс подготовки данных и приложений