-
Описание платформы
- Общие сведения о CoGIS
- Компоненты и функциональные возможности платформы
- Возможности интеграции
- Технологии
- Импортонезависимость
- Полезные ссылки
- О разработчике
- Приложение А – CoGIS как корпоративная ГИС – Система для использования маркшейдерами и геологами нефтедобывающих предприятий
- Приложение Б – CoGIS как региональная ГИС – Единая картографическая система Ямало-Ненецкого автономного округа (ЕКС ЯНАО)
- Приложение В – CoGIS как муниципальная ГИС – Муниципальный портал «Мой Новосибирск»
- Приложение Г – CoGIS как муниципальная или региональная ГИС – Портал «Терраскоп»
- Руководство администратора по установке и настройке
-
Руководство по созданию картографических приложений
- Введение
- Основные принципы работы в Конструкторе
- Настройка Каталога карт
- Папка
- Страница
- Ссылка
- Картографическое приложение
-
Правила SOE
- Назначение
- Управление возможностями SOE
- Плагины. Общие сведения.
- Редактирование объектов. Плагин Редактирование.
- Плагин ограничения на просмотр данных картографического сервиса
- Отслеживание истории изменений объектов
- Загрузка и выгрузка данных
- Галерея изображений
- Подсчет количества объектов в слое
- Расширенный поиск объектов. Гибкий поиск и ближайшие объекты.
- Запуск задач по расписанию
- Приложение А - Макросы, используемые в настройках
-
Руководство по публикации ГИС-сервисов
- Введение
- Начало работы в CoGIS Server Manager
-
Каталог сервисов
- Общие принципы
- Просмотр сведений о сервисе или папке
- Изменение статуса сервиса
- Панель инструментов – Скачать, Обновить из файла, Переименовать
- Получение описания и адреса REST API для выбранного сервиса
- Навигация по Каталогу
- Добавление новой папки
- Удаление и копирование сервиса или папки
- Поиск по Каталогу
- Фильтрация в Каталоге
- Настройка прав доступа к папкам
- Настройки папки
- Публикация картографических сервисов
- Публикация сервисов изображений
- Публикация сервисов высот
- Публикация картографических сервисов мозаики
- Публикация сервисов с 3D тайлами
- Публикация сервисов геокодирования
- Публикация сервисов геообработки
- Публикация сервисов сетевого анализа
- Геометрический сервис
- Приложение А – Перечень готовых инструментов геообработки в CoGIS Server
-
Руководство по созданию картографических проектов
- Введение
- Настройки подключения к базе данных
- Свойства QGS-проекта
- Слои и таблицы
- Свойства слоя
-
Настройки переменных
- Отслеживание изменений (Edit Tracker)
- Кластеризация
- Подтипы
- Полумасштабозависимость
- Отношение «многие-ко-многим»
- Статичные подписи
- Представление на основе SQL-запроса (SQL-based view)
- Термокарты
- Тепловые карты
- Псевдо 3D
- Номера слоев
- Обрезка карты по слою (MaskLayer)
- Символ ЛЭП
- Подмена источника для отображения
- Фильтр на слой с возможностью использования макросов
- Диаграммы 3D
- Сортировка объектов слоя по полю для выдачи в запросе
- Выключение слоя из картографического сервиса
- Выключение стороннего тайлового сервиса из картографического сервиса
- Отображение видимой области с учётом рельефа
- Нумерация узлов линейных и полигональных объектов
- Проверка фильтров на слой по регулярному выражению
- Создание сервиса геокодирования
- Вложения (Attachments)
- История изменений
- Автообновляемость тайлов
- Шаблоны печати на основе макетов QGIS (формат qpt)
- Руководство по работе в мобильных приложениях
- Руководство по установке и настройке SOE for ArcGIS
- Требования к аппаратному обеспечению
Настройка тайлового кэша
Для каждого картографического сервиса можно включить поддержку формирования тайлового кэша.
При наличии тайлового кэша ГИС-сервер может выдавать предварительно сформированные по заданной сетке изображения карты (тайлы) по указанному в веб-запросе экстенту. Это, в свою очередь, позволяет увеличить скорость выдачи необходимого изображения карты, в случае если в запросе к картографическому сервису используются настройки по умолчанию по раскраске и видимости слоев и нет наложенного пользователем фильтра на слои.
Включить поддержку растрового и (или) векторного кэша для картографического сервиса можно в разделе
Возможности
окна свойств сервиса (см. подробнее п.
4.4.2
настоящего документа).
Для перехода к отдельным настройкам тайлового кэша необходимо перейти к разделу
Тайловый кэш
свойств сервиса.
Настройки для формирования тайлового кэша сгруппированы следующим образом:
- Общие параметры;
- Масштабный ряд;
- Начальная точка;
- Параметры предварительной генерации кэша при изменении в геоданных;
- Параметры оптимизации хранения кэша в файловом хранилище;
- Области начального интереса.
Общие параметры
Группа настроек включает в себя параметры создаваемых тайлов, а также продолжительность хранения тайлов и тайлового кэша (см.
Рисунок 37
):
- Время жизни тайлов - период актуальности сформированных тайлов;
- Укажите дни (первое поле ввода), часы и минуты (второе поле ввода) периода времени жизни тайлов.
- По истечении указанного времени тайлы считаются устаревшими, и при следующем запросе к ним они генерируются заново.
- При указании нулей (по умолчанию) тайлы считаются актуальными всегда.
- Продолжительность клиентского кэширования тайлов - время, в течение которого клиент может использовать локальный кэш браузера, не запрашивая обновленные тайлы у сервера;
- Укажите дни (первое поле ввода), часы и минуты (второе поле ввода).
- При указании нулей (по умолчанию) тайлы всегда будут запрашиваться с сервера. Тайл с сервера отдается с указанием версии файла. При запросе тайла с сервера браузер может получить только версию тайла, и скачивать тайл с сервера, только если его версия изменилась.
- Максимальный размер кэша ;
- Задайте значение в мегабайтах (Мб).
- Размер изображения (px) - 256, 512, 1024;
- Задайте размер тайла в пикселях (px), по умолчанию - 256.
- DPI изображения ;
- Задайте разрешение тайла в точках на дюйм (dpi), по умолчанию - 96.
- Изображение с прозрачным фоном ;
- По умолчанию опция включена, тайлы создаются с прозрачным фоном.
- Отключите опцию, если тайлы нужны для использования в качестве непрозрачной подложки для других данных.
- Формат - формат создаваемых тайлов.
Поддерживается один формат данных для тайлов - PNG8.

Масштабный ряд
В данной группе параметров задаются масштабы, при которых будут отображаться созданные тайлы. Можно выбрать между двумя вариантами масштабного ряда для построения тайлового кэша картографического сервиса: использовать стандартный масштабный ряд или настроить специальный (см.
Рисунок 38
).

Отметьте вариант
Стандартный
, чтобы использовать стандартный масштабный ряд. Дополнительно с помощью ползунка задайте необходимый диапазон масштабов из стандартного ряда.
Отметьте вариант
Специальный
, чтобы настроить масштабный ряд, отличный от стандартного. Нажмите на кнопку
Добавить масштаб
и в появившемся поле ввода укажите необходимое значение. Добавьте столько уровней масштаба, сколько требуется.
Начальная точка
Тайлы создаются по сетке от определенной точки. В данном разделе задаются координаты X и Y точки отсчета тайлов - начальной точки.
Укажите значения X и Y в соответствующих полях ввода (см.
Рисунок 39
). Значения указываются в единицах измерения системы координат сервиса.

Параметры перегенерации кэша при изменении в геоданных
В данной группе настраивается мониторинг изменений в геоданных, на основе которых выполняется перестроение тайлового кэша (см.
Рисунок 40
).

Для отслеживания изменений в геоданных предварительно необходимо сделать следующее:
- создать в базе данных служебную таблицу, где будут храниться записи об изменениях;
- настроить на уровне базы данных SQL-триггеры на те наборы геоданных, изменения в которых будут отслеживаться.
Служебная таблица для отслеживания изменений, имя по умолчанию -
elitegis_changed_extent_log
, обязательно должна иметь следующие поля:
- id типа Integer - идентификатор записи по порядку;
- target_table_name типа Text - имя набора данных, где были найдены изменения;
- xmincoord типа Double - экстент измененного объекта;
- xmaxcoord типа Double;
- ymincoord типа Double;
- ymaxcoord типа Double;
- spatial_reference_id типа Integer - WKID системы координат набора данных;
- edited_date типа Timestamp without time zone - дата и время изменения.
Служебную таблицу
elitegis_changed_extent_log
можно создать с помощью инструмента геообработки
Создание служебных таблиц
(см. п.
13
).
Пример текста SQL-функции в базе данных PostgreSQL (при условии, что поле геометрии называется geom), которая делает записи об обнаруженных изменениях в служебную таблицу
elitegis_changed_extent_log
:
CREATE OR REPLACE FUNCTION public.log_extent_changes_trigger()
RETURNS trigger
LANGUAGE 'plpgsql'
COST 100
VOLATILE NOT LEAKPROOF
AS $BODY$
BEGIN
IF (OLD.geom IS NOT NULL AND ST_IsEmpty(OLD.geom) = false) THEN
BEGIN
INSERT INTO public.elitegis_changed_extent_log (edited_date, target_table_name, xmincoord, xmaxcoord, ymincoord, ymaxcoord, spatial_reference_id)
VALUES (CURRENT_TIMESTAMP, concat(TG_TABLE_SCHEMA, '.', TG_TABLE_NAME), ST_XMin(OLD.geom), ST_XMax(OLD.geom), ST_YMin(OLD.geom), ST_YMax(OLD.geom), ST_SRID(OLD.geom));
END;
END IF;
IF (NEW.geom IS NOT NULL AND ST_IsEmpty(NEW.geom) = false) THEN
BEGIN
INSERT INTO public.elitegis_changed_extent_log (edited_date, target_table_name, xmincoord, xmaxcoord, ymincoord, ymaxcoord, spatial_reference_id)
VALUES (CURRENT_TIMESTAMP, concat(TG_TABLE_SCHEMA, '.', TG_TABLE_NAME), ST_XMin(NEW.geom), ST_XMax(NEW.geom), ST_YMin(NEW.geom), ST_YMax(NEW.geom), ST_SRID(NEW.geom));
END;
END IF;
RETURN NULL;
END;
$BODY$;
Пример текста SQL-триггера в базе данных PostgreSQL, который отслеживает изменения в наборе данных
myschema.mytable
и запускает вышеприведенную SQL-функцию для записи изменений в таблицу
elitegis_changed_extent_log
:
CREATE TRIGGER log_extent_changes
AFTER INSERT OR DELETE OR UPDATE
ON myschema.mytable
FOR EACH ROW
EXECUTE FUNCTION public.log_extent_changes_trigger();
После создания служебных таблиц и SQL-триггеров можно настраивать регулярную проверку изменений.
Чтобы регулярно проверять данные сервиса на наличие изменений, отметьте опцию
Включить мониторинг изменений в геоданных
.
Задайте интервал времени между проверками изменений (параметр
Частота проверки изменений
) в часах, минутах и секундах.
По каким дням разрешено проверять изменения в геоданных, настраивается в подразделе
Временное окно для мониторинга
. Чтобы использовать настройки временного окна, включите опцию
Использовать временное окно
.
Задайте параметры временного окна:
- По времени с … по … - задайте период времени в течение дня, когда необходимо проверять данные сервиса на наличие изменений.
Укажите, в какие дни разрешено проверять данные сервиса на наличие изменений:
- Только в выбранные месяцы - геоданные будут проверяться только в указанные месяцы;
- Выберите из выпадающего списка необходимые месяцы - январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь.
- Только в выбранные дни - геоданные будут проверяться только в указанные числа месяца;
- Выберите из выпадающего списка необходимые числа месяца - от 1 до 31. Если выбрано 31 (или 29, или 30 для февраля), но такого числа в месяце нет, геоданные будут проверяться в последний день месяца.
- Только в выбранные дни недели - геоданные будут проверяться только в указанные дни недели;
- Выберите из выпадающего списка необходимые дни недели - понедельник, вторник, среда, четверг, пятница, суббота, воскресенье.
- Только в выбранные недели месяца - геоданные будут проверяться только в указанные недели месяца.
- Выберите из выпадающего списка необходимые недели месяца - 1, 2, 3, 4, последняя.
Укажите, где находятся служебные таблицы
elitegis_changed_extent_log
для хранения записей об изменениях в геоданных. Нажмите на кнопку
Таблицы для отслеживания изменений
, и в открывшемся окне нажмите на кнопку
+ Добавить таблицу
(см.
Рисунок 41
).

Рисунок 41 - Настройка таблиц для отслеживания изменений
- База данных - имя базы данных, в которой находится таблица для отслеживания изменений в геоданных;
- Выберите из выпадающего меню подключение к необходимой базе данных. Подключения к базам данных настраиваются в разделе Базы данных Глобальных настроек CoGIS Server , см. подробнее Руководство администратора по установке и настройке CoGIS .
- Схема БД - схема базы данных, в которой хранится таблица для отслеживания изменений в геоданных;
- Если параметр не задан, используется схема данных по умолчанию (для баз данных PostgreSQL по умолчанию используется схема данных public ).
- Таблица - имя таблицы для записей об изменениях в геоданных;
- По умолчанию используется имя elitegis_changed_extent_log .
- SQL-фильтр - при необходимости задайте SQL-фильтр, чтобы тайловый сервис запросил нужные строки из таблицы.

Рисунок 42 - Добавление таблицы для отслеживания изменений
По нажатии на кнопку
ОК
таблица для отслеживания изменений добавится в список. Список добавленных таблиц также представляет собой таблицу (см.
Рисунок 43
).

Рисунок 43 - Список таблиц для отслеживания изменений в геоданных
Для каждой таблицы из списка доступны следующие действия:
-
Редактировать - настройки добавленной таблицы из списка можно изменить;
-
Нажмите на кнопку
и в открывшемся окне измените нужные параметры.
-
Удалить - выбранная таблица будет удалена из списка.
Отметьте
таблицу, которую требуется удалить, и нажмите на кнопку
.


Оптимизация хранения кэша в файловом хранилище
В данной группе находятся настройки оптимизации хранения кэша в файловом хранилище (см.
Рисунок 44
).
Информация на диске хранится непоследовательными блоками (фрагментами). Чем больше таких непоследовательно идущих блоков информации, тем выше уровень фрагментации и тем ниже скорость доступа к информации.
Для уменьшения уровня фрагментации при хранении тайлового кэша выполняют оптимизацию хранения - логическое упорядочивание блоков информации.
Для регулярного проведения упорядочивания данных тайлового кэша на диске включите опцию
Включить регулярное выполнение оптимизации
.
Задайте допустимый уровень фрагментации (параметр
Коэффициент фрагментации
). Минимальный уровень - 1, то есть все блоки информации расположены последовательно. По умолчанию допустимый уровень фрагментации - 2.
Задайте период времени в течение дня, когда необходимо выполнять оптимизацию хранения тайлового кэша (параметр
По времени с … по …
).

- Только в выбранные месяцы - оптимизация может выполняться только в указанные месяцы;
- Выберите из выпадающего списка необходимые месяцы - январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь.
- Только в выбранные дни - оптимизация может выполняться только в указанные числа месяца;
- Выберите из выпадающего списка необходимые числа месяца - от 1 до 31. Если выбрано 31 (или 29, или 30 для февраля), но такого числа в месяце нет, оптимизация выполнится в последний день месяца.
- Только в выбранные дни недели - оптимизация может выполняться только в указанные дни недели;
- Выберите из выпадающего списка необходимые дни недели - понедельник, вторник, среда, четверг, пятница, суббота, воскресенье.
- Только в выбранные недели месяца - оптимизация может выполняться только в указанные недели месяца.
Выберите из выпадающего списка необходимые недели месяца - 1, 2, 3, 4, последняя.

Области начального интереса
В данном разделе настраивается регулярная перегенерация кэша, а также области начального интереса (см.
Рисунок 46
).
Задайте количество потоков (количество ядер процессора), используемых для генерации тайлового кэша (параметр
Количество используемых потоков
). По умолчанию используется 1 поток. Чтобы ограничений на количество потоков не было, укажите
0
.
Чтобы включить генерацию тайлового кэша по обозначенным областям интереса, включите опцию
Включить генерацию кэша
.
Чтобы настроить регулярное превентивное обновление тайлового кэша, включите опцию
Включить регулярную перегенерацию кэша
.


Задайте период времени в течение дня, когда необходимо выполнять перегенерацию тайлового кэша (параметр
По времени с … по …
).
Укажите, в какие дни может выполняться перегенерация:
- Только в выбранные месяцы - перегенерация может выполняться только в указанные месяцы;
- Выберите из выпадающего списка необходимые месяцы - январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь.
- Только в выбранные дни - перегенерация может выполняться только в указанные числа месяца;
- Выберите из выпадающего списка необходимые числа месяца - от 1 до 31. Если выбрано 31 (или 29, или 30 для февраля), но такого числа в месяце нет, перегенерация выполнится в последний день месяца.
- Только в выбранные дни недели - перегенерация может выполняться только в указанные дни недели;
- Выберите из выпадающего списка необходимые дни недели - понедельник, вторник, среда, четверг, пятница, суббота, воскресенье.
- Только в выбранные недели месяца - перегенерация может выполняться только в указанные недели месяца.
- Выберите из выпадающего списка необходимые недели месяца - 1, 2, 3, 4, последняя.
При указании времени и дней, когда превентивно обновлять тайловый кэш по областям интереса, учитывайте время жизни тайлов (см. параметр
Время жизни тайлов
в разделе
Общее
, см. п.
4.5.1
).
Для сервиса можно задать одну или несколько областей начального интереса, для которых тайловый кэш будет предварительно сгенерирован. Нажмите на кнопку
+ Добавить область
, и в открывшемся окне укажите параметры области (см.
Рисунок 47
):

Рисунок 47 - Добавление области начального интереса для предварительной генерации тайлов
- Название - название обозначенной области (обязательный параметр);
- Ограничения по масштабу -опция определяет, в пределах каких масштабов нужно сгенерировать тайловый кэш;
- С помощью бегунка задайте диапазон масштабов, в пределах которых будет создан тайловый кэш. Если диапазон не задан, тайловый кэш будет создан для всех масштабов.
- Включить генерацию кэша ;
- Тип - способ выбора области интереса:

- Начальный охват - используется начальный экстент выбранного сервиса;
- Полный охват - используется полный экстент выбранного сервиса (см. Рисунок 49 ).


Нажав на кнопку
ОК
, область начального интереса добавится в список. Список добавленных областей начального интереса можно отсортировать по названию, типу, масштабам, состоянию (включена или выключена) опции
Включить генерацию кэша
.
Настройки выбранной области начального интереса можно изменить, нажав на кнопку
. Чтобы удалить выбранную область начального интереса, нажмите на кнопку
(см.
Рисунок 50
).



Удаление тайлового кэша
Для очистки всего тайлового кэша у сервиса, нажмите на кнопку
Удалить тайловый кэш
внизу списка настроек (см.
Рисунок 51
).
