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

Сервис геообработки

Чтобы расширить функциональность интерактивной карты при помощи инструмента геообработки или выполнить анализ конкретной ГИС-задачи, в веб-консоли CoGIS Сервера необходимо создать и опубликовать сервис геообработки, в котором настроить соответствующую модель геообработки.
В CoGIS модели геообработки представлены в виде опубликованных задач геообработки (tasks). Рекомендуем предварительно ознакомиться с документом CoGIS Server - Руководство по публикации ГИС-сервисов .
Модель геообработки - это визуальное представление рабочего процесса, где последовательно запускаются несколько инструментов геообработки, при этом выходные данные одного инструмента часто становятся входными для другого.
После сохранения модели геообработки в сервисе геообработки будет опубликована задача геообработки. Следует отметить, что в рамках одного сервиса геообработки количество выполняемых задач геообработки не ограничено.
Использование моделей геообработки позволяет:
  • визуализировать процесс ГИС-анализа при помощи цепочки инструментов геообработки;
  • изучить выходные данные, полученные в результате применения различных наборов данных и параметров;
  • автоматизировать выполнение повторяющихся задач;
  • поделиться с коллегами моделью геообработки с определенными настройками.
В Конструкторе для нужной интерактивной карты добавьте сервис геообработки и задайте настройки вызова инструмента геообработки в соответствии с входными/выходными публичными параметрами из задачи сервиса геообработки. На интерактивной карте появится кнопка запуска инструмента геообработки, если кнопка не появилась - см. п. 9 .
После отработки инструмента геообработки с указанными входными параметрами можно приступать к анализу полученных результатов на интерактивной карте.
Запуск задач сервиса геообработки в CoGIS доступен:
  • в окне вызова инструмента геообработки на интерактивной карте: задачи задаются в настройках сервиса геообработки в Конструкторе , см. п. 4.4.2 , п. 4.4.3 ;
  • при нажатии на кнопку Вызов задачи сервиса геообработки в Карточке объекта : задачи задаются в шаблоне Карточки объекта в разделе с соответствующими настройками сервиса геообработки в Конструкторе , см. п. 5.19 ;
  • при нажатии на кнопку из блока Запуск инструмента геообработки виджета, см. п. 6.24 ;
  • при выборе инструмента геообработки из выпадающего списка элемента Группа/список , см. п. 6.27 ;
  • при автоматической работе геотриггера Вызов задачи геообработки , который создается и настраивается в Правилах SOE: укажите подключение к URL сервиса геообработки и задайте нужные входные/выходные параметры, см. п. 14.6.4.12 .

Сервис геообработки. Общие положения

В Конструкторе к интерактивной карте добавьте сервис геообработки, для этого перейдите во вкладку Сервисы , добавьте Сервис геообработки и укажите адрес сервиса геообработки в поле url, пример ниже, см. Рисунок 198 .
Рисунок 198 - Пример добавления сервиса геообработки к интерактивной карте в Конструкторе
Откроется окно настроек сервиса геообработки (см. Рисунок 199 ):
  • Без названия   - название сервиса геообработки, которое отображается в списке сервисов и позволяет определить назначение сервиса более специфично. Название определяется автоматически из URL ссылки директории REST API сервиса геообработки. Нажмите кнопку  Редактировать   , если хотите изменить название сервиса.
  • Ссылка  - укажите адрес сервиса геообработки в поле url, кнопка Перейти к странице сервиса   позволяет быстро перейти к странице параметров сервиса геообработки в директорию REST API ГИС-сервера.
  • Рисунок 199 - Настройки сервиса геообработки в Конструкторе
    • Задача - укажите в опции задачу сервиса геообработки, которая будет запускаться. Укажите название используемой задачи сервиса геообработки (task), это поле обязательно для заполнения. Сервисы геообработки содержат задачи геообработки. Задача геообработки в качестве входных параметров использует данные с карты, файлы, значения пользователей или данные, получаемые напрямую из базы геоданных, обрабатывает их и возвращает результат в виде объектов, отчетов и файлов. Информация о задачах сервиса геообработки находится на его странице, для перехода нажмите .
      • Название - название, отображаемое в интерфейсе интерактивной карты на вкладке инструментов геообработки.
      • Описание - задайте описание инструмента геообработки для отображения в окне инструмента (см. Рисунок 200 , справа).
      • Описание для списка - укажите краткое описание инструмента геообработки для отображения в окне со списком инструментов геообработки (см. Рисунок 200 , слева).
      • Рисунок 200 - Описание (справа) и Описание для списка (слева) инструмента геообработки
      • Имя группы - в окне Инструменты геообработки в интерактивной карте инструменты могут быть сгруппированы; укажите имя группы, инструменты с одним именем группы будут сгруппированы (см. Рисунок 201 );
      • Рисунок 201 - Группировка инструментов геообработки
      • Скрыть кнопку - отметьте опцию, если вызов сервиса геообработки происходит из Карточки объекта или из JavaScript-кода, введенного в блоках виджета, и вызов с карты не требуется.
        Обратите внимание, что несмотря на то, что вызов инструмента по кнопке с карты не требуется и кнопка инструмента на карте будет скрыта для пользователя, кнопка инструмента должна быть размещена на карте в любом случае (см. п. 9 ). Размещение кнопки инструмента на карте регулирует, в каком месте карты откроется окно инструмента при его вызове из Карточки объекта или из виджета.
      • Текст кнопки - введите текст кнопки и введите текст всплывающей подсказки в опции Всплывающая подсказка , которая будет отображаться при наведении курсора на кнопку вызова инструмента геообработки. Загрузите иконку для кнопки в опции Загрузить . Задайте цвет текста и фона кнопки. Перейдите на вкладку Расположение кнопок на карте и определите местоположение кнопки (см. п. 9 ).
      • Минимальная ширина кнопки - при необходимости задайте ширину кнопки. Ширина задается в пикселях (без указания единиц измерения) или через CSS-выражение. Единицы измерения в CSS-выражении указываются латиницей и без пробела.
        Кнопка инструмента геообработки отображается заданной ширины или большей, чтобы вместить текст кнопки. Если параметр не задан, то ширина кнопки зависит от длины текста и наличия иконки.
      • Если в процессе выполнения сервис геообработки выдает сообщения, то в случае отмеченной опции Показывать сообщения в процессе выполнения пользователю будут последовательно показаны соответствующие сообщения, это актуально для сервисов геообработки, которые выполняются достаточно долго.
      • Количество дополнительных попыток запуска после ошибки - укажите, сколько раз инструмент будет перезапускаться в случае ошибки выполнения. По умолчанию - 0 .
      • Высота панели - при необходимости задайте высоту окна инструмента геообработки в пикселях. Если параметр не задан, окно будет высотой по умолчанию.
      • Обновлять карту после выполнения - отметьте опцию, чтобы карта обновлялась после завершения работы инструменты геообработки.
      • Запускать по кнопке - отметьте опцию, если необходимо сразу запускать инструмент геообработки при нажатии на кнопку вызова инструмента, без предварительного открытия окна панели настройки инструмента, тогда при запуске инструмента геообработки внутри кнопки вызова отобразится значок прогресса (см. Рисунок 202 ). Для данной настройки убедитесь, что входные и выходные параметры предопределены.
Рисунок 202 - Пример настройки опции Запускать по кнопке в настройках сервиса геообработки
Для удобства работы с сервисом геообработки и получения показательных результатов задайте настройки в поле Входные параметры и Выходные параметры .
На основе параметров сервиса геообработки CoGIS динамически создает интерфейс пользователя для инструмента геообработки. В зависимости от настроек входные и выходные параметры инструмента могут выводиться по-разному:
  • при вводе исходных данных, подстраивая интерфейс под задачи и удобство использования;
  • при получении результата геообработки результат выводится в удобной форме для текущей задачи и дальнейшей работы с этими данными;
  • скрывая входные параметры, например, там, где используются константы;
  • без части результатов, которые не требуются пользователю для работы с картой при решении текущих задач.
Входные параметры для ввода могут отображаться для пользователей как:
  • простое значение - числовое или строковое, вводимое пользователем;
  • выбор одного или нескольких значений из предустановленного списка;
  • выбор из списка одного или нескольких значений, взятых из атрибутивного домена определенного слоя сервиса;
  • выбор из списка одного или нескольких значений, взятых из атрибутов слоя сервиса;
  • выбор из списка одного или нескольких значений как объектов (геометрия, атрибуты) из слоя сервиса;
  • выбор с карты одного или нескольких значений как объектов (геометрия, атрибуты);
  • загрузка файла: пользователь может перетащить файл прямо в окно сервиса геообработки или загрузить его вручную с помощью кнопки;
  • установка значений по умолчанию;
  • галочка для логического оператора Да/Нет;
  • даты, с выбором даты и времени из календаря.
Выходные параметры могут выводиться пользователю как:
  • векторный слой на карте с графикой и атрибутами: слой формируется на основе пространственных объектов, полученных в результате геообработки; для слоя доступно:
    • идентификация объекта на карте;
    • печать;
    • просмотр Атрибутивной таблицы ;
    • пользовательская раскраска;
    • управление видимостью слоев на карте.
  • растровый слой на карте: слой формируется на основе растровой поверхности, полученной в результате геообработки; для добавления растровой поверхности на карту необходимо у сервиса геообработки активировать опцию Результат как картографический сервис;
  • фильтрация в слоях сервиса по результатам инструмента геообработки: позволяет получить идентификаторы объектов, получаемых в результате работы инструмента геообработки, и накладывать фильтры на слой с этими идентификаторами; это позволяет видеть на карте результат работы инструмента и использовать функциональность карты, которая недоступна для графических слоев для дальнейшей работы с результатами геообработки;
  • создание новых объектов в существующем слое: объекты, их геометрия и значения, получаемые в ходе работы инструмента, могут быть записаны в слой карты;
  • файл;
  • простое значение.

Настройка исходных данных. Входные параметры

Чтобы улучшить работу пользователя с инструментом геообработки, задайте настройки входных параметров и формы их ввода. На странице JSON сервиса геообработки входные параметры определяются по атрибутивному полю direction .
Для настройки входных параметров выполните следующие действия:
  • Укажите имя входного параметра, как оно задано в сервисе геообработки в атрибутивном поле Parameter.
  • Задайте Название параметра и Подсказку , которые будут отображаться для пользователя. Если указать подсказку такую же, как название параметра, то оно отображаться не будет.
  • Определите тип параметра, то есть, в каком виде он будет отображаться для пользователя (см. Рисунок 203 ):
Рисунок 203 - Пример входного параметра с выпадающим списком для определения типа параметра
    • Как задано в сервисе - тип параметра распознается автоматически и CoGIS подставляет необходимый элемент интерфейса для ввода этого параметра пользователем. Подробнее о макросах, используемых в данном параметре для опции Значение по умолчанию , которые будут применяться при запуске инструмента геообработки (см. п. 4.4.4 ).
    • Условие на поле - тип параметра формирует SQL-фильтр для указанного поля, для настройки которого нужно в выпадающем списке выбрать тип значения, ввести название атрибутивного поля, выбрать в выпадающем списке оператор сравнения. По умолчанию задан оператор сравнения «равно» ( = ). Например, если для типа параметра Условие на поле выбрать Строка , тогда и тип поля должен совпадать со строковым (текстовым) полем. Если необходимо, чтобы применялось значение по умолчанию, заданное для инструмента геообработки в модели геообработки, тогда не нужно переопределять значение по умолчанию. Если нужно, укажите значение в опции Переопределить значение по умолчанию , которое будет переопределено и будет выводиться в элементе интерфейса инструмента при его запуске на интерактивной карте.
    • Для работы этой настройки необходимо, чтобы настраиваемый входной параметр был типа String или Expression . Информация доступна на странице сервиса геообработки, для перехода нажмите . Этот тип параметра является определяющим запросом, фильтрующим объекты слоя сервиса для дальнейшей передачи набора данных, используемого для работы инструмента геообработки.
    • Объекты с карты - тип параметра добавляет инструменты выбора объектов с карты - по точке, ломаной линии, линии от руки, полигону или полигону от руки, прямоугольнику или кругу, которые в дальнейшем передаются в алгоритм инструмента геообработки. Для работы этой настройки необходимо, чтобы настраиваемый входной параметр был определен как набор объектов слоя GPFeatureRecordSetLayer . Информация доступна на странице сервиса геообработки, для перехода нажмите . В настройках этого типа параметра укажите сервис и номера слоев, которые будут доступны для выборки. Отметьте опции Разрешать добавлять графические объекты и Разрешать рисовать графические объекты , чтобы была возможность рисовать и выбирать с помощью графических объектов.
    • Определяющий запрос слоя - тип параметра позволяет получать пользовательский определяющий запрос. Видимость этого параметра на карте можно скрывать, так как выбор SQL-условия выполняется пользовательскими фильтрами на карте. Для работы этой настройки необходимо, чтобы настраиваемый входной параметр был типа String или Expression . Информация доступна на странице сервиса геообработки, для перехода нажмите . В настройках этого типа параметра укажите ссылку до сервиса и номер слоя сервиса, добавленного на карту, из которого нужно получить определяющий запрос для дальнейшей передачи этого параметра в алгоритм инструмента геообработки.
    • Пространственный фильтр слоя - тип параметра позволяет получать пользовательский пространственный фильтра. Для работы этой настройки необходимо, чтобы настраиваемый входной параметр был типа GPFeatureRecordSetLayer .
  • Если нужно, укажите значение в опции Переопределить значение по умолчанию , которое будет переопределено по умолчанию и будет выводиться в элементе интерфейса инструмента при его запуске на интерактивной карте.
  • Определите справочник значений (опция Справочник значений ), если входной параметр является списком или если значение нужно выбирать из предустановленного списка значений.
    Эта настройка позволяет формировать список для выбора значений параметра при работе с инструментом.
    Список может задаваться:
    • Вручную - для этого выберите Список . Администратор вручную формирует список предустановленных значений, определяя значение параметра и его подпись, которая будет выводиться. Например: <0 = С; 45 = СВ; 90 = В> - направления частей света и градусы.
    • Из атрибута слоя - список атрибутивных полей слоя сервиса, добавленного на карту.
      Укажите адрес картографического сервиса, номер слоя в поле . Укажите атрибутивное поле с кодом (параметр Атрибут с кодом ) и атрибутивное поле со значением (параметр Атрибут со значением ).
      Чтобы отфильтровать список значений справочника, можно задать SQL-фильтр для слоя по кнопке . Чтобы пользователь карты мог выбрать значение только из списка доступных на момент выбора, отметьте опцию Учитывать фильтр пользователя на слой .
      Кроме того, пользователь веб-карты может задать значение параметра из справочника по объекту, выбранному с карты. Для этого отметьте опцию Выбор с карты , и в интерактивной карте рядом с параметром в окне инструмента геообработки пользователю станет доступна кнопка выбора объекта с карты (см. Рисунок 204 ).
    • Рисунок 204 - Настройка справочника значений для входного параметра инструмента геообработки. Выбор значения с карты
      Если при выборе с карты в месте клика или в выделенной области карты найдено более одного объекта слоя справочника, пользователю будет доступен список объектов в этом местоположении, чтобы выбрать нужный. Отметьте опцию Только верхний объект , и в таком случае автоматически для параметра будет выбрано значение справочника по верхнему объекту, найденному в зоне клика или выделения.
      Обратите внимание, что опция Выбор с карты доступна, только если слой, заданный для справочника, отмечен в параметре Использовать в карте вкладки Карта картографического сервиса (см. п. 4.1.3 ).
      Укажите атрибутивное поле для сортировки, введите его название в поле Сортировка и в выпадающем списке выберите вариант сортировки.
      Чтобы иметь актуальный список значений для справочника, отметьте опцию Обновлять после сохранения изменений в любом слое .
    • Объекты из слоя/таблицы - список объектов слоя сервиса. В список выводятся значения объектов, которые они принимают в отображаемом атрибутивном поле. Отображаемое атрибутивное поле - атрибутивное поле слоя, для которого при публикации картографического сервиса задано свойство DisplayField . Список объектов содержит геометрию и описание, которые нужно передать инструменту геообработки. Укажите адрес сервиса, номер слоя в поле .
    • Из домена - список, формируемый на основе атрибутивного домена слоя сервиса. Укажите адрес сервиса, номер слоя в поле . Укажите атрибутивное поле, которое использует атрибутивный домен.
  • Чтобы значение входного параметра очищалось после каждого запуска, отметьте опцию Сбрасывать значение после каждого запуска .
  • Отключите видимость параметра для пользователя, нажав на кнопку , если в них используются константы и не предполагается их изменение пользователем.

Настройка результатов. Выходные параметры.

Для более эффективного анализа результатов геообработки и дальнейшей работы с ними определите, в каком виде они должны отображаться для пользователей.
Так как результатов работы одного инструмента геообработки может быть несколько, необходимо настроить каждый выходной параметр. На странице сервиса геообработки, переход к которой осуществляется нажатием , вы можете просмотреть выходные параметры, которые определяются по атрибутивному полю с названием Direction .
Для настройки выходных параметров выполните следующие действия:
  • Укажите имя выходного параметра, как оно задано в сервисе геообработки в атрибутивном поле Parameter .
  • Задайте подпись для параметра, которая будет отображаться для пользователей в окне Результаты на карте. Например, если результатом геообработки является новый слой на карте, подпись будет задавать название нового графического слоя с результатами.
  • Определите тип параметра, то есть в каком виде результат инструмента геообработки будет отображаться для пользователей. В соответствии с выбранным типом представления результатов работы сервиса геообработки в настройках активируются дополнительные опции для более детального описания. В настройках доступны следующие типы параметров:
    • Как задано в сервисе - распознается автоматически и CoGIS выводит результат в соответствии с типом, определенным в сервисе по умолчанию.
    • Расчетная величина - определяет результат как простое значение, которое отображается для пользователей в окне Результаты на карте.
    • Файл - определяет, что результатом работы сервиса геообработки является файл, который нужно автоматически скачать и предоставить пользователю в окне Результаты на карте ссылку на повторное скачивание файла.
    • Новый слой на карте - предназначен для вывода результатов работы сервиса геообработки в виде временного графического слоя.
    • Выходной слой выводится с раскраской, как задано в сервисе геообработки по умолчанию или как вы ее переопределите. Для раскраски в графическом слое по уникальным значениям или диапазону необходимо, чтобы сервис геообработки был опубликован с поддержкой картографического сервиса.
    • Для переопределения раскраски отметьте опцию Переопределить раскраску . Выберите тип раскраски:
      • Простой - единый символ для всех объектов, определите символ для точечного, линейного или полигонального класса объектов.
      • Диапазон - разбивает объекты по атрибуту на определенные диапазоны значений в соответствии с количеством классов, минимального и максимального значения в атрибуте.
      • В настройках опции укажите Поле , по которому нужно определить значения для диапазонов, и количество Интервалов (классов), на которые нужно разбить значения.
      • Вы также можете задать слой другого картографического сервиса карты, у которого будут взяты символы и количество интервалов.
      • Уникальный - задает символы для объектов по категориям, определяя для каждой группы объектов с одинаковыми атрибутами свой символ. В настройках опции укажите поле, из которого нужно взять категории.
      • Вы можете определить слой другого картографического сервиса карты, у которого будут взяты символы.
      • По слою опубликованного сервиса - задает раскраску для объектов по назначенным цветам, зависимым от типов атрибутов из слоя доступного картографического сервиса (см. Рисунок 205 ).
      • Для работы данной настройки выходного параметра необходимо указать сервис и номер слоя, из которого нужно задать раскраску для выходного слоя. Следует отметить, что выходной параметр должен быть определен как набор объектов слоя GPFeatureRecordSetLayer . Поддерживаемые типы раскрасок: Простой, Уникальный, По диапазону. Если в исходном слое опубликованного сервиса применены типы раскраски Уникальный/По диапазону , тогда в выходном слое должны быть доступны зависимые атрибутивные поля, применяемые для их раскраски.
      • Чтобы новый выходной слой добавлялся на карту, отметьте опцию Добавить на карту . Задайте также видимость нового слоя при добавлении на карту (опция Видимость по умолчанию ).
      • Отметьте опцию Использовать при идентификации , чтобы просматривать информацию об объекте выходного слоя в Карточке объекта . По умолчанию в Карточке объекта отображается список атрибутов объекта. Но можно использовать и настроенный шаблон Карточки объекта для отображения информации об объекте - выберите настроенный шаблон из выпадающего списка шаблонов в параметре Шаблон карточки объекта .
      • Отметьте опцию Добавить в список доступных атрибутивных таблиц , чтобы просматривать атрибутивные значения объектов в Атрибутивной таблице .
      • Рисунок 205 - Пример настройки выходного параметра с типом раскраски По слою опубликованного сервиса
    • Фильтрация существующего слоя - переопределяет результат геообработки как фильтр к имеющемуся слою. Если результатом работы инструмента является набор объектов на основе одного из существующих слоев, добавленного на карту, то параметр, получив уникальные значения объектов, фильтрует по ним объекты на карте. В настройках этого типа параметра укажите сервис и номер слоя, атрибут в слое, оператор сравнения, атрибут в результатах. Например, можно отфильтровать все объекты в слое, значение атрибутов, у которых будет меньше, чем получится результат геообработки.
    • Редактировать объекты в существующем слое - позволяет записать результат геообработки в один из слоев картографического сервиса. В настройках этого типа параметра укажите сервис, номер слоя, в который необходимо записать результаты. Укажите необходимые действия (Добавление, обновление, удаление, изменение геометрии). Определите соответствие атрибутов.
    • Переход к экстенту - позволяет перейти к экстенту, полученному в результате геообработки.

Макросы, используемые в настройке параметров сервиса геообработки

В настройке входных параметров сервиса геообработки, например при выборе типа входного параметра Как задано в сервисе для опции Значение по умолчанию можно использовать макросы, которые будут применяться при запуске инструментов геообработки (см. Рисунок 206 ). Таблица макросов представлена ниже, см. Таблица 2 .
Рисунок 206 - Пример заданного макроса {CurrentFeature.MyField::code} в опции Значение по умолчанию входного параметра Как задано в сервисе. При запуске инструмента геообработки для указанного параметра будет применен код домена
Таблица 2 - Макросы, используемые в настройках входного параметра сервиса геообработки в опции Значение по умолчанию
Макрос
Описание
{CurrentUser}
Имя авторизованного пользователя
{CurrentUser.LastName}
Фамилия авторизованного пользователя
{CurrentUserFullName}
Фамилия, Имя и Отчество авторизованного пользователя
{CurrentUserEmail}
Email текущего пользователя
{CurrentDate}
Текущая дата
{CurrentYear}
Текущий год
{CurrentMonth}
Текущий месяц
{CurrentFeature. field_name ::code}, где
field_name - имя атрибутивного поля
Код домена/справочника значений
{CurrentFeature. field_name ::value}, где
field_name - имя атрибутивного поля
Значение домена/справочника значений
{CurrentFeature. field_name ::F N }, где
N - количество знаков после запятой,
field_name - имя атрибутивного поля
Преобразует числовое значение в строку, округляет дробное значение до указанного количества знаков после запятой
{CurrentFeature. field_name ::dd.MM.yyyy},
где field_name - имя атрибутивного поля
Форматирование даты.
Возможны разные форматы даты