Обработчики
В этом разделе
- Построитель буфера
- Построитель замкнутой оболочки
- Построитель разницы
- Построитель конвертов
- Калькулятор поля
- Калькулятор поля (регулярное выражение)
- Обогащение поля (сервис объектов)
- Обогащение поля (Файл)
- Сопоставление полей
- Сокращение полей
- GeoTagger
- Детектор инцидентов
- Пересечение
- Никаких действий
- Проецирование
- Упрощение
- Построитель симметричной разницы
- Детектор пробелов трека
- Построитель объединения
Процессоры являются компонентами сервиса GeoEvent, которые выполняют определенные действия над событиями GeoEvents, такие как идентификация или обогащение, по мере прохождения GeoEvent от входов к выходам.
При создании всем процессорам должны быть присвоено имя. Имя учитывает регистр и используется в качестве уникального идентификатора процессора в сервисе GeoEvent. Тип создаваемого процессора указывается с использованием стрелки ниспадающего меню Процессор, как проиллюстрировано ниже.
Дополнительный модуль GeoEvent включает следующие процессоры:
- Построитель буфера
- Построитель замкнутой оболочки
- Построитель разницы
- Построитель конвертов
- Калькулятор поля
- Калькулятор поля (Регулярное выражение)
- Обогащение поля (сервис объектов)
- Field Enricher (File)
- Сопоставление полей
- Сокращение полей
- GeoTagger
- Детектор инцидентов
- Пересечение
- No Operation
- Проецирование
- Упрощение
- Построитель симметричной разницы
- Детектор пробелов трека
- Построитель объединения
Построитель буфера
Процессор Построитель буфера может быть использован для динамического создания буфера вокруг геометрии GeoEvent. Этот процессор требует поле, содержащее заданную геометрию события GeoEvent. Имя поля или тег, применённые к полю в определении GeoEvent, могут быть использованы для идентификации геометрии поля.
Этот процессор может быть сконфигурирован либо на замену геометрии GeoEvent вычисленным буфером, либо на размещение вычисленного буфера в новом поле. Изменение схемы GeoEvent путем добавления нового поля требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор.
При создании геометрического буфера, необходимо указать линейные единицы измерения и числовое расстояние для буфера. Дополнительный модуль GeoEvent не поддерживает буферы, измеряемые в угловых единицах (например, в десятичных градусах). Интерфейс Построителя буфера предоставляет список с общими линейными единицами измерения, такими как фут, ярд, метр, километр и морская миля. Администраторы дополнительного модуля GeoEvent могут настроить единицы измерения для процессора с помощью ArcGIS GeoEvent Manager. Буферное расстояние указывается как положительное целое число.
При вычислении буфера, иногда необходимо указать иную проекцию, чем та, которая связанна с буферизуемой геометрией. Например, местоположения точек, которые получены в системе координат WGS84 не могут быть буферизованы в той же системе координат. Вместо этого должны быть выбрана система координат проекции, примерно центрированная в пределах ожидаемого экстента геометрий ожидаемых событий. При задании проекции, отличной от связанной с полученными геометриями событий GeoEvent, используйте цифровой Well Known Identifier (WKID) для определения наиболее подходящей проекции.
Для ознакомления с более полной информацией по процессору Построитель буфера, см. руководство Введение в GeoEvent в руководствах по дополнительному модулю GeoEvent.
Построитель замкнутой оболочки
Используйте процессор Построитель замкнутой оболочки, когда нужно динамически создать полигон, представляющий наименьший регион или область, охватывающую геометрию GeoEvent. Концептуально, замкнутая (выпуклая) оболочка является формой, которую может принять резиновая лента, если её растянуть вокруг геометрии GeoEvent.
- Для точки, этот процессор будет производить эквивалентную точку.
- Для линии с двумя вершинами, этот процессор будет производить эквивалентную линию.
- Для простого выпуклого полигона (многоугольника) или оболочки, этот процессор будет производить эквивалентную геометрию.
- В противном случае, процессор будет производить наименьший выпуклый полигон (многоугольник), содержащий геометрию GeoEvent.
Для Построителя замкнутой оболочки необходимо, чтобы поле, содержащее геометрию события GeoEvent, было определено. Имя поля или тег, применённые к полю в определении GeoEvent, могут быть использованы для идентификации геометрии поля.
Построитель замкнутой оболочки может быть сконфигурирован либо на замену геометрии GeoEvent построенной замкнутой оболочкой, либо на размещение замкнутой оболочки в новом поле геометрии. Изменение схемы GeoEvent путем добавления нового поля требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор.
Для ознакомления с более полной информацией по процессору Построитель замкнутой оболочки, см. руководство Введение в GeoEvent в руководствах по GeoEvent.
Построитель разницы
Используйте процессор Построитель разницы, когда необходимо определить пересечение между геометрией GeoEvent и GeoFence, и затем вырезать или удалить часть GeoFence, пересекающую геометрию GeoEvent.
Для Построителя разницы необходимо задать две дискретные геометрии. Вы не можете, например, использовать регулярные выражения для задания нескольких различных геозон и удалить пересекающиеся части каждой геозоны из геометрии GeoEvent. Для процессора также необходимо, чтобы размерность геозоны быть равна или больше размерности геометрии GeoEvent – вы не можете, например, вырезать или вычесть точку из полилинии (или полилинию из полигона).
Построитель разницы может быть сконфигурирован либо на замену геометрии GeoEvent разницей двух геометрий, либо на размещение разницы в новом поле геометрии. Изменение схемы GeoEvent путем добавления нового поля требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор.
Для ознакомления с более полной информацией по процессору Построитель разницы, см. руководство Введение в GeoEvent в руководствах по GeoEvent.
Построитель конвертов
Процессор Построитель конвертов может быть использован для создания простой прямоугольной оболочки, охватывающий геометрию GeoEvent. Сравните данный процессор с процессором Построитель замкнутой оболочки, который производит многоугольник, представляющий наименьшую область охватываемую геометрией события GeoEvent – замкнутая (выпуклая) оболочка не всегда является прямоугольной, тогда как конверт всегда прямоугольной формы.
- Для точки, этот процессор будет производить эквивалентную точку.
- Для многоточечной линии или линии с двумя или более вершинами с различной широтой, этот процессор будет производить оболочку в виде конверта. Действительный конверт не может быть произведен, если все вершины геометрии расположены на одной широте.
Построитель конвертов требует, чтобы поле GeoEvent, содержащее геометрию, было определено. Имя поля или тег, применённые к полю в определении GeoEvent, могут быть использованы для идентификации геометрии поля.
Построитель конвертов может быть сконфигурирован либо на замену геометрии GeoEvent созданным конвертом, либо на размещение конверта в новом поле геометрии. Изменение схемы GeoEvent путем добавления нового поля требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор.
Для ознакомления с более полной информацией по процессору Построитель конвертов, см. руководство Введение в GeoEvent в руководствах по GeoEvent
Калькулятор поля
Процессор Калькулятор поля может быть использован для вычисления значения. Процессор вычисляет выражение для получения нужного значения. Выражение может включать буквенные строки, числовые константы и данные событий, взятые из поименованных полей обрабатываемого события GeoEvent. Вычисленное значение может быть записано в существующее поле, может перезаписать текущие данные в этом поле или оно может быть записано в новое поле, созданное процессором.
Калькулятор поля является универсальным процессором. Относительно постоянные выражения, такие как Distance * 0.3048, могут быть использованы для вычисления эквивалентного расстояния в метрах для исходного расстояния в футах. Процессор также поддерживает целый ряд функций Java String, таких как выражение replaceAll(Description, 'foo', 'bar'), например, которое может быть использовано для того, чтобы заменить все вхождения подстроки "foo" на подстроку "bar" в поле описания каждого события GeoEvent. Процессор также поддерживает ряд математических функций. Например, вы можете определить, какое из двух полей события GeoEvent содержит большее значение, используя max(Time1, Time2), или сгенерировать случайное число с использованием random().
Некоторые вопросы для рассмотрения при использовании процессора Калькулятор поля:
- Выражения могут быть как математическими, так и лексическими (на основе строк, а не числовых значений).
- При работе с текстовыми строками, не забудьте заключить их в одинарные кавычки: 'Cat' + ' ' + 'Dog'.
- Процессор будет выводить нулевое (null) значение, в случае неудачи преобразования типов или невозможности вычисления выражения.
- Операндами выражения могут быть буквенные имена полей или теги, примененные к полям в определении GeoEvent. Например, выражение Odom1 + Odom2 можно использовать для сложения значений полей Odom1 и Odom2 и вычисления простой суммы. Если к полю Odom1 применен тег MILEAGEA, а к полю Odom2 – тег MILEAGEB, то можно использовать выражение MILEAGEA + MILEAGEB.
- Добросовестные усилия будут направлены на обработку данных различных типов в выражении. Например, 325 + 0.125, будет преобразовано в эквивалентное 325.0 + 0.125. Если указанное поле вывода ожидает длинное целое значение, то вычисленное значение двойной точности будет обрезано.
- Следите за переполнением при создании выражений. Например, каждый член в выражении 60 * 60 * 80 * 10000 является коротким целым, но результат превосходит 32-битный диапазон нормального целого. Объявление каждого члена выражения значением двойной точности, подобно 60.0 * 60.0 * 80.0 * 10000.0, поможет избежать данной проблемы.
- Запись вычисленного значения в новое поле изменяет схему GeoEvent, что требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. При использовании данного процессора для создания новых полей необходимо указать имя поля и тип данных. Для определения GeoEvent может быть указано имя и дополнительный тег, который, если он задан, будет применяться к новому полю в результирующем определении GeoEvent.
Операторы и функции, поддерживаемые процессором Калькулятор поля, показаны ниже.
Операция | Оператор | Пример |
Сложение |
|
Выражение служит для вычисления простой суммы путем сложения числовых значений полей Odom1 и Odom2. Поддерживается также конкатенация строк (например, "Hello" + "World"). |
Вычитание |
|
Выражение служит для вычисления простой разности путем вычитания числовых значений полей с тегами VALUEA и VALUEB. В отличие от операции сложения, поддерживающей конкатенацию строк, операцию вычитания нельзя использовать для вычисления разности двух строк. |
Умножение |
|
Выражение служит для вычисления простого произведения путем умножения числового значения поля с именем Altitude на константу 0.3048 (в данном случае-выполняется преобразование футов в метры). |
Деление |
|
Выражение служит для вычисления простого частного путем деления числового значения поля с именем Distance на константу 1.609344 (преобразование километров в мили). |
Модуль |
|
Выражение служит для вычисления остатка от деления числового значения поля с тегом VALUEA на числовое значение поля с тегом VALUEB и возвращения результата в виде числа двойной точности. |
Логическое И |
|
Выражение служит для выполнения операции логического И над булевыми значениями полей с именами Flag1 и Flag2 и возвращения результата в виде булева значения. Входные поля должны быть булева типа. Строковые литералы (например, TRUE) и константы (например, 1) в выражении не конвертируются при вычислении в эквивалентные булевы значения. |
Логическое ИЛИ |
|
Выражение служит для выполнения операции логического ИЛИ над булевыми значениями полей с именамиFlag1 и Flag2 и возвращения результата в виде булева значения. |
Логическое НЕ |
|
Выражение служит для выполнения операции логического отрицания над булевым значением поля с именем Flag1 и возвращения результата в виде булева значения. Поддерживает вложенные выражения типа !(Flag1 && Flag2). |
Больше |
|
Выражение служит для выполнения операции сравнения, определяющей истинность утверждения о том, что значение поля с именем Altitude больше заданной константы (результат является значением булевого типа). |
Больше или равно |
|
Выражение служит для выполнения операции сравнения, определяющей истинность утверждения о том, что значение поля с именем Altitude больше или равно заданной константе (результат является значением булевого типа). |
Меньше |
|
Выражение служит для выполнения операции сравнения, определяющей истинность утверждения о том, что значение поля с именем Altitude меньше заданной константы (результат является значением булевого типа). |
Меньше или равно |
|
Выражение служит для выполнения операции сравнения, определяющей истинность утверждения о том, что значение поля с именем Altitude меньше или равно заданной константе (результат является значением булевого типа). |
Равенство |
|
Выражение служит для выполнения операции сравнения, определяющей истинность утверждения о том, что значения полей с тегами VALUEA и VALUEB равны (результат является значением булевого типа). Операция Равенство выполняется только над числовыми типами, поддерживаемыми в исходной версии продукта (10.2.0). |
Неравенство |
|
Выражение служит для выполнения операции сравнения, определяющей истинность утверждения о том, что значения полей с тегами VALUEA и VALUEB не равны (результат является значением булевого типа). Операция Неравенство выполняется только над числовыми типами, поддерживаемыми в исходной версии продукта (10.2.0). |
Примечание:
Процессор Калькулятор поля пытается автоматически конвертировать значения при наличии смешанных типов. Например, выражение 10.0 + 5 должно быть преобразовано для выполнения суммирования сложением двух значений с плавающей точкой. Смешанные числовые значения и строковые значения, такие как codeValue + "SomeString", где codeValue является числовым значением, приводят к непредсказуемым результатам. Правильным подходом будет конвертация codeValue в строковое значение с помощью такой строчной функции, как valueOf(object), описанной ниже.Примечание:
Операторы равенства и неравенства процессора Калькулятор поля не должны применяться напрямую к значениям с плавающей запятой. Для корректного определения равенства двух десятичных значений нужно сначала масштабировать их, округлить значения до длинных целых чисел и затем сравнить полученные значения типа длинное целое число.
- Не сравнивайте MyFloat1 == MyFloat2.
- Вместо этого сравнивайте round(MyFloat1*1000) == round(MyFloat2*1000).
Процессор Калькулятор поля содержит функции, соответствующие функциям из java.lang.Math. Полную техническую спецификацию и список функций см. в документации разработчика Java. Ниже приводится краткое описание наиболее популярных функций.
Константы | |
Функция | Описание |
E() | Возвращает число Эйлера (е), возведенное в степень, заданную числом двойной точности |
PI() | Возвращает представление числа Пи (отношения длины окружности к ее диаметру) в виде числа двойной точности |
Общие функции | |
Функция | Описание |
abs(значение) | Возвращает абсолютную величину аргумента |
ceil(число двойной точности) | Возвращает ближайшее к заданному числу двойной точности большее целое число |
floor(число двойной точности) | Возвращает ближайшее к заданному числу двойной точности меньшее целое число |
hypot(double x, double y) | Возвращает sqrt((x*x) + (y*y)) без промежуточных переполнения или потери значимости |
max(значение a, значение b) | Возвращает большее из двух заданных значений аргумента |
min(значение a, значение b) | Возвращает меньшее из двух заданных значений аргумента |
random() | Возвращает число двойной точности, большее или равное 0.0 и меньшее 1.0 |
round(значение) | Возвращает ближайшее к аргументу (числу двойной точности) длинное целое число |
Примечание:
Процессор Калькулятор поля выполняет, когда это возможно, преобразования числовых типов. Например, если в функции указаны аргументы различных числовых типов (например, max(3.14159,25)), то для выполнения сравнения значения будут преобразованы в сравнимые типы (int, float или double). Процессор также преобразует вычисленные значения при записи их в поле атрибутов события (например, 6 + 7 будет записано в виде 13.0, если поле события имеет тип double).
Показательные функции | |
Функция | Описание |
sqrt(double) | Возвращает квадратный корень заданного числа двойной точности |
cbrt(значение) | Возвращает кубический корень заданного числа двойной точности |
exp(double) | Возвращает число Эйлера (е), возведенное в степень, заданную числом двойной точности |
pow(double, double) | Возвращает значение первого аргумента, возведенное в степень, заданную вторым аргументом |
Логарифмические функции | |
Функция | Описание |
log(double) | Вычисляет натуральный логарифм (по основанию е) числа двойной точности |
log10(double) | Вычисляет логарифм по основанию 10 числа двойной точности |
Строковые функции | |
Функция | Описание |
int length(source) | Возвращает длину строки. |
boolean isEmpty(source) | Возвращает true, если длина источника 0. |
boolean isNull(source) | Возвращает true, если значение источника равно null. |
boolean equals(source, Object anObject) | Сравнивает строку источника с указанным объектом. Возвращает true, если данный объект представляет собой строку, эквивалентную строке источника; иначе false. |
boolean equalsIgnore(source, String anotherString) | Сравнивает строку источника с другой строкой, игнорируя регистр. Два строки рассматриваются как равные, без учета регистра, если они имеют одинаковую длину и соответствующие символы строк совпадают, не считая регистра. Возвращает true, если аргумент не равен null и соответствует эквивалентной строке, без учета регистра; иначе false. |
int compareTo(source, String prefix) | Лексикографическое сравнение двух строк. Возвращает значение 0, если аргумент str равен строке источника; значение меньше zero, если строка источника лексикографически меньше аргумента str; значение больше zero, если строка источника лексикографически больше аргумента str. |
int compareToIgnore(source, String str) | Лексикографическое сравнение двух строк без учета регистра. Возвращает отрицательное целое, ноль или положительное целое, если указанная строка больше, равна или меньше строки источника, без учета регистра. |
boolean startsWith(source, String prefix) | Проверяет, начинается ли строка источника с указанного префикса. Возвращает true, если последовательность символов аргумента prefix соответствует префиксу строки источника; иначе false. |
boolean endsWith(source, String suffix) | Проверяет, заканчивается ли строка источника указанным суффиксом. Возвращает true, если последовательность символов аргумента suffix соответствует суффиксу строки источника; иначе false. |
int indexOf(source, String str) | Возвращает индекс строки источника с первым появлением заданной подстроки str. Возвращает, если аргумент строки встречается в виде подстроки объекта-источника, затем возвращается индекс первого символа первой такой подстроки; если подстрока не найдена, возвращается -1. |
int indexOf(source, String str, int fromIndex) | Возвращает индекс строки источника с первым появлением заданной подстроки, начиная с указанного индекса. Возвращает индекс строки источника с первым появлением заданной подстроки, начиная с указанного индекса. |
int lastIndexOf(source, String str) | Возвращает индекс строки источника с последним появлением заданной подстроки. Если аргумент строки встречается в виде подстроки объекта-источника один или несколько раз, то возвращается индекс первого символа последней такой подстроки. Если подстрока не найдена, возвращается -1. |
int lastIndexOf(source, String str, int fromIndex) | Возвращает индекс строки источника с последним появлением заданной подстроки при движении назад, начиная с указанного индекса. Возвращает индекс строки источника с последним появлением заданной подстроки. |
String substring(source, int beginIndex) | Возвращает новую строку, которая является подстрокой строки источника. Подстрока начинается со знака с указанным индексом и продолжается до конца строки источника. |
String substring(source, int beginIndex, int endIndex) | Возвращает новую строку, которая является подстрокой строки источника. Подстрока начинается с указанного beginIndex и продолжается до знака с индексом endIndex – 1. |
String concat(source, String str) | Соединяет указанную строку с концом строки источника. |
boolean matches(source, String regex) | Сообщает, соответствует ли строка источника заданному регулярному выражению. Возвращает только если строка источника соответствует заданному регулярному выражению. |
boolean contains (source, CharSequence s) | Возвращает true только если строка источника содержит указанную последовательность значений символов. Возвращает true, если строка источника содержит s, иначе false. |
String replaceFirst(source, String regex, String replacement) | Заменяет первую подстроку строки источника, соответствующую регулярному выражению, заданной заменой. Возвращает итоговую строку. |
String replaceAll(source, String regex, String replacement) | Заменяет каждую подстроку строки источника, соответствующую регулярному выражению, заданной заменой. Возвращает итоговую строку. |
String replace(source, CharSequence target, CharSequence replacement) | Заменяет каждую подстроку строки источника, соответствующую целевой буквенной последовательности указанной буквенной последовательностью для замены. Замена происходит от начала строки к концу. Возвращает итоговую строку. |
String toLowerCase(source) | Конвертирует все символы строки источника в символы нижнего регистра, используя правила локали по умолчанию. Возвращает строку с символами нижнего регистра. |
String toUpperCase(source) | Конвертирует все символы строки источника в символы верхнего регистра, используя правила локали по умолчанию. Возвращает строку с символами верхнего регистра. |
String trim(source) | Возвращает копию строки источника с удаленными пробелами в начале и конце строки. |
String valueOf(source, Object obj) | Возвращает строковое представление аргумента Object. |
Тригонометрические функции | |
Функция | Описание |
acos(double) | Возвращает арккосинус числа (угол в диапазоне от 0.0 до π) |
asin(double) | Возвращает арксинус числа (угол в диапазоне от -π/2 до π/2) |
atan(double) | Возвращает арктангенс числа (угол в диапазоне от -π/2 до π/2) |
atan2(double y, double x) | Возвращает угол θ из преобразования прямоугольных координат (x,y) в полярные (r,θ) |
cos(double) | Возвращает тригонометрический косинус угла |
cosh(double) | Вычисляет гиперболический косинус числа двойной точности |
sin(double) | Вычисляет тригонометрический синус угла |
sinh(double) | Вычисляет гиперболический синус числа двойной точности |
tan(double) | Вычисляет тригонометрический тангенс угла |
tanh(double) | Вычисляет гиперболический тангенс числа двойной точности |
toDegrees(double) | Преобразует значение угла в радианах в приблизительное значение в градусах |
toRadians(double) | Преобразует значение угла в градусах в приблизительное значение в радианах |
Калькулятор поля (регулярное выражение)
Процессор Калькулятор поля (Регулярное выражение) применяется, чтобы использовать возможности регулярных выражений для идентификации шаблона в пределах целевого поля и извлечения подстрок полученных событий. Извлеченные подстроки записываются либо обратно в целевое поле, заменяя его исходное значение, либо в новое поле. Данный процессор не поддерживает общие математические, лексические и логические выражения, поддерживаемые процессором Калькулятор поля выше.
Примечание:
При задании параметра Имя поля для данного процессора, не забудьте заключить имя поля в ${…}. Данный процессор отличается от процессора Калькулятор поля выше, который ожидает имена полей GeoEvent без упаковки.
Примечание:
Процессор Калькулятор поля (Регулярное выражение) не поддерживает обратные ссылки в шаблоне, заданном с помощью регулярных выражений.
Запись вычисленного значения в новое поле изменяет схему GeoEvent, что требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. При использовании данного процессора для создания новых полей необходимо указать имя поля и тип данных. Для определения GeoEvent может быть указано имя и дополнительный тег, который, если он задан, будет применяться к новому полю в результирующем определении GeoEvent.
Обогащение поля (сервис объектов)
Процессор Обогащение поля (Сервис объектов) может быть использован для обогащения событий GeoEvent атрибутивными данными из слоя пространственных объектов или непространственной таблицы опубликованного сервиса объектов. Атрибуты будут добавлены как новые поля в обрабатываемое событие GeoEvent. Процессор требует определённое зарегистрированное подключение к серверу ArcGIS; папка сервиса, имя сервиса объектов и целевой слой в сервисе объектов-все должны быть заданы при настройке этого процессора. Типы данных для каждого добавленного поля будут перенесены из источника обогащения – они не задаются как часть конфигурации процессора.
Обогащение GeoEvent полагается на то, что профессионалы в работе с базами данных отнесутся к этому, как к присоединению таблицы. Вы можете указать имя поля из таблицы сервиса объектов и имя поля GeoEvent, по которому присоединение может быть выполнено. Хотя фактическое имя поля из таблицы сервиса объектов должно быть предоставлено, поле GeoEvent, по которому будет выполняться объединение, может быть указано либо с использованием имени поля GeoEvent, либо с использованием тега, применённого к полю в определении GeoEvent, связанном с обрабатываемым событием.
Разделенный запятыми список полей, которые будут включены в обогащение, можно построить с помощью диалогового окна процессора Свойства посредством выбора полей или ввести вручную с помощью клавиатуры. Вы можете дополнительно указать теги, которые дополнительный модуль GeoEvent должен применять к каждому новому создаваемому им полю в качестве второго списка значений, разделенных запятыми.
Обогащение GeoEvent изменяет схему GeoEvent, что требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор.
Для ознакомления с более полной информацией по процессору Обогащение поля (сервис объектов), см. руководство Введение в GeoEvent в руководствах по GeoEvent.
Обогащение поля (Файл)
Процессор Обогащение поля (Файл) может быть использован для обогащения событий GeoEvent атрибутивными данными, которые содержатся в системном файле, а не в опубликованном сервисе объектов. Обогащение GeoEvent из системного файла требует, чтобы системная папка, содержащую файл, была зарегистрирована в дополнительным модуле GeoEvent в качестве хранилища данных. После того как зарегистрированная системная папка указана, процессор может извлекать данные обогащения из названного файла.
Примечание:
Если в качестве источника данных обогащения используется текстовый файл, он должен иметь формат, показанный ниже. В частности, в первой строке файла должны быть указаны имена полей в виде значений, разделенных запятыми. Во второй строке должен быть указан тип данных каждого поля. Начиная с третьей строки файла, вводятся значения данных.
PilotName,PilotPhone,PilotYearsOfService,PilotActive String,String,Integer,Boolean Adam Mollenkopf,111-111-1111,4,TRUE Ryan Elliott,222-222-2222,7,TRUE Javier Delgadillo,333-333-3333,12,TRUE Vlad Plechnoy,444-444-4444,10,TRUE NickBrezovar,555-555-5555,5,TRUE
Обогащение GeoEvent полагается на то, что профессионалы в работе с базами данных отнесутся к этому, как к присоединению таблицы. Вы можете указать имя поля из таблицы сервиса объектов и имя поля GeoEvent, по которому присоединение может быть выполнено. Хотя фактическое имя поля из таблицы сервиса объектов должно быть предоставлено, поле GeoEvent, по которому будет выполняться объединение, может быть указано либо с использованием имени поля GeoEvent, либо с использованием тега, применённого к полю в определении GeoEvent, связанном с обрабатываемым событием.
Разделенный запятыми список полей, которые будут включены в обогащение, можно построить с помощью диалогового окна процессора Свойства посредством выбора полей или ввести вручную с помощью клавиатуры. Вы можете дополнительно указать теги, которые дополнительный модуль GeoEvent должен применять к каждому новому создаваемому им полю в качестве второго списка значений, разделенных запятыми.
Обогащение GeoEvent изменяет схему GeoEvent, что требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор.
Для ознакомления с более полной информацией по процессору Обогащение поля (Файл), см. руководство Введение в GeoEvent в руководствах по GeoEvent.
Сопоставление полей
Процессор Сопоставление полей может быть использован для перевода (или сопоставления) данных из одной схемы GeoEvent в другую схему GeoEvent или определение GeoEvent. Каждое событие GeoEvent имеет связанное определение GeoEvent, которое идентифицирует поля атрибутов и типы данных. Определения GeoEvent могут измениться, если они обработаны, например, когда GeoEvent обогащается новыми полями.
Для настройки процессора Сопоставление полей выберите исходное определение GeoEvent и целевое определение GeoEvent. Поля из целевого определения GeoEvent появляются справа, с ниспадающими списками доступными из выбранного исходного определения GeoEvent, что позволяет вам выбрать нужное поле для сопоставления. Для каждого поля отображается тип данных, чтобы помочь идентифицировать соответствующие сопоставления для каждого поля.
Определение GeoEvent, соответствующее событиям GeoEvents на одном этапе обработки, может не быть согласованным со схемой опубликованного сервиса объектов. GeoEvent требуется обработка процессором Сопоставление полей, чтобы перевести схему каждого GeoEvent в согласование со схемой целевых объектов, до того как сервис GeoEvent сможет обновить объекты в сервисе объектов.
Например, многие потоки данных в реальном времени (особенно предоставляющие generic JSON) часто предоставляют структуры данных, которые включают группы с подполями или списки с несколькими значениями. Такие структуры данных не совпадают со схемами сервисов объектов, структуры данных которых являются плоскими и ожидают дискретных типов данных (дата, строка, целое число, и так далее). Основная цель процессора Сопоставление полей состоит в том, чтобы сгладить иерархические структуры и выровнять их в соответствие со схемой сервиса объектов.
Некоторые другие общие примеры использования процессора Сопоставление полей включают следующие:
- Поскольку задание целевого определения GeoEvent устанавливает схему событий GeoEvents, отправленных из процессора Сопоставление полей, процессор может эффективно использоваться для уменьшения количества полей атрибутов, передаваемых от входа к выходу. Вам нужно только создать определение GeoEvent с требуемыми полями, а затем использовать процессор Сопоставление полей для уменьшения и выравнивания событий GeoEvent, полученных сервисом GeoEvent с требуемой выходной схемой.
- Процессор Сопоставление полей может быть использован для выполнения некоторых основных преобразований данных. Например, когда поле GeoEvent, содержащее целочисленные данные, может быть преобразовано в представления значений данных длинное целое или двойной точности. Численные значения могут быть преобразованы для создания строковых представлений данных. Если процессор Сопоставление полей не может завершить преобразование типов данных, то в сопоставляемом поле будет записано нулевое значение.
Примечание:
Если вы обновляете объекты в опубликованном сервисе пространственных объектов и не хотите, чтобы одно или несколько полей существующих объектов были изменены, и оставляете эти поля несопоставленными в процессоре Сопоставление полей, то это приведет к записи нулевых значений по мере обновления объектов. Используйте процессор Сокращение полей (см. ниже), чтобы удалить неотображаемые (несопоставленные) поля перед отправкой событий GeoEvent к выходному коннектору подключения, который отвечает за обновление сервиса объектов.
Сокращение полей
Процессор Сокращение полей может быть использован, когда нужно удалить поля из GeoEvent. Он эффективно удаляет данные атрибутов из обрабатываемого события GeoEvent, что позволяет упрощенному представлению события GeoEvent быть переправленным для дополнительной обработки или быть отправленным к выходу. При настройке процессора Сокращение полей, задайте поля, подлежащие удалению, в виде списка значений, разделенных запятыми.
Сокращения полей изменяет схему GeoEvent, что требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор. Наконец, укажите имя для нового результирующего определения GeoEvent.
GeoTagger
Процессор GeoTagger может быть использован для обогащения GeoEvent именем области интереса, также известной как GeoFence, с которой геометрия GeoEvent имеет заданное пространственное отношение.
GeoTagging является частным случаем обогащения событий и пространственной фильтрации. Например, можно настроить GeoTagger на добавление имен любых геозон, для которых геометрия GeoEvent будет находится внутри. GeoEvents обработанные GeoTagger будут иметь добавленное поле, которое будет содержать имена всех геозон, в которых будет найдена геометрия GeoEvent.
Примечание:
Геозоны необходимо импортировать в GeoEvent из сервиса объектов перед настройкой процессора GeoTagger. См. раздел Управление геозонами для получения более подробной информации о работе с геозонами в GeoEvent.
Конфигурация GeoTagger должна включать одно или несколько простых регулярных выражений, которые определяют геозоны для рассмотрения. Например, предположим, что полигональные области для всех 50 штатов США были импортированы в категорию с именем UnitedStates, а полигональные области для округов в западной части Соединенных Штатов в категорию с именем Counties. Разделенный запятыми список может быть использован для указания GeoFence(s), которые GeoTagger должен рассмотреть, такие как Counties/.*, UnitedStates/.*.
Обратите внимание, что в примере выше два регулярных выражения разделены запятой. Первое выражение определяет, что будет рассматриваться любая поименованная GeoFence в категории Counties, в то время как второе выражение включает любую поименованную GeoFence в категорию UnitedStates.
При настройке GeoTagger, необходимо выбрать пространственный оператор для задания отношения, которое должно удовлетворяться для того, чтобы процессор добавил тег в GeoEvent. Например, вы, возможно, захотите обогатить GeoEvents помечая их именем любой геозоны, которую пересекает полигон GeoEvent.
GeoTagger поддерживает ряд пространственных операторов, включая Contains Any, Crosses Any, Disjoint Any, Enter Any, Equals Any, Exit Any, Inside Any, Intersects Any, Outside Any, Overlaps Any, Touches Any и Within Any. Эти операторы предполагают подлежащими рассмотрению все GeoFence, которые удовлетворяет определенному оператором пространственному отношению, что достаточно для запуска Geotagger для обогащения обрабатываемого события GeoEvent.
Например, если выбран пространственный оператор Intersects Any и рассматривается несколько десятков непересекающихся областей интереса, то имя любой геозоны, область которой пересекает геометрию GeoEvent, будет добавлено к этому обрабатываемому событию GeoEvent.
Примечание:
Обычно GeoFence рассматривают как моделирование области интереса, подразумевая, что геозоны всегда имеют полигональную геометрию. GeoFence может также иметь точечную или полилинейную геометрию, как подразумевается списком поддерживаемых пространственных операторов. Полигональная геометрия связанная с GeoEvent может быть проверена, чтобы увидеть, пересекает ли, перекрещивается ли или содержит ли она GeoFence, геометрией которой является точка или полилиния.
При указании имени поля, содержащего геометрию GeoEvent, Geotagger будет принимать либо имя поля события или тег (как правило, тег GEOMETRY), который был применен к полю в определении GeoEvent.
GeoTagger изменяет схему GeoEvent, что требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор. Укажите имя для нового результирующего определения GeoEvent, а также имя для поля, в которое GeoTagger будет записывать обогащенные им значения.
Предусмотрено три варианта того, как Geotagger будет форматировать свои обогащенные значения. Значение с разделителями указывает, что имена геозон должны быть записаны в виде простого списка названий разделенных запятыми. Другие две опции форматирования обогащенных значений: в виде списка JSON или в качестве элементов в группе JSON. При настройке Geotagger для включения имени категории геозоны в обогащение и для возвращения штатов и округов США, как отдельных категорий геозон, обогащение GeoTagging может осуществляться в следующих формах:
- Список: ["UnitedStates/California","Counties/San_Bernardino"]
- Группа: [{"Category":"UnitedStates","Name":"California"},{"Category":"Counties", "Name":"San_Bernardino"}]
Для ознакомления с более полной информацией по процессору GeoTagger, см. руководство Введение в GeoEvent в руководствах по GeoEvent.
Детектор инцидентов
Процессор Детектор инцидентов может быть использован для индикации того, что полученное событие GeoEvent удовлетворяет некоторому условию и инцидент должен быть открыт. Например, предположим, что поток данных содержит информацию о местоположении транспортных средств и их текущей скорости. Детектор инцидентов может сгенерировать инцидент, когда любое из транспортных средств превышает определенную норму скорости или когда любое из транспортных средств попадает в заданную область интереса или GeoFence. Как только новые обновления получены от транспортного средства, продолжающийся инцидент в дополнительном модуле GeoEvent будет обновлён. Инцидент закрывается, когда транспортное средство сбавляет скорость до допустимой или покидает область GeoFence.
Детектор инцидентов отличается от других процессоров тем, что события GeoEvents, отправленные из процессора, не являются копиями (или производными) GeoEvents полученных процессором. Отправляемые из процессора геособытия связаны с определением GeoEvent, которое создается при установке GeoEvent.
Процессор Детектор инцидентов использует задаваемые атрибутивные и пространственные условия для выявления, создания новых и обновления текущих инцидентов. Открытые инциденты остаются в состоянии продолжения, пока не будут закрыты. Инциденты закрыты при получении GeoEvent, что удовлетворяет условию закрытия или состоянию, когда никаких GeoEvents, связанных с инцидентом, не получено в течение определенного периода времени.
При настройке Детектора инцидентов, необходимо указать условие открытия; условие закрытия, однако, не является обязательным. Если условие закрытия не указано, процессор будет использовать логическое отрицание условия открытия в качестве косвенного условия закрытия.
Примечание:
Для получения дополнительной информации об операторах пространственных отношений и о том, как построить атрибутивные и пространственные выражения, используемые для открытия и закрытия условий, см. Фильтры.
Примечание:
События GeoEvents, отправляемые в процессор Детектор инцидентов, должны иметь определение GeoEvent, содержащее TRACK_ID. Процессор использует это помеченное тегом поле для связывания создаваемых им инцидентов с событиями GeoEvents, которые он получает (которые, в свою очередь, связаны с дискретным объектом, транспортным средством, датчиком или другими отслеживаемыми элементами).
Для Детектор инцидентов необходимо указать имя, которое может быть использовано для идентификации инцидентов, открытых процессором. Например, процессор Детектор инцидентов, созданный для обнаружения инцидентов превышения скорости автомобилями, может связать строку Speeding Vehicle с инцидентами, которые он создает.
Открытие и закрытие условий, заданных для Детектор инцидентов, может осуществляться либо на основе атрибутов, либо на основе пространственных отношений с геозоной. Подобно фильтру, если данные, связанные с полученным событием GeoEvent удовлетворяют заданному выражению, Детектор инцидентов обнаружит условие и либо откроет новый инцидент, обновит продолжающийся инцидент, либо закроет инцидент.
Процессор может быть настроен для установки связанного с инцидентами уровня важности. Доступны следующие уровни важности: уведомление, предупреждение и срочное сообщение. Инциденты могут иметь только один уровень важности; для изменения уровня важности необходимо отредактировать процессор и вновь опубликовать сервис GeoEvent.
Для Детектор инцидентов необходимо указать тип инцидентов, которые будет создавать процессор:
- Точечные инциденты не имеют конечного условия. Они считаются мгновенными и закрываются немедленно после их создания, т.е. не имеют продолжительности.
- Кумулятивные инциденты имеют как начальное, так и конечное условие. Время между созданием инцидента и его прекращением или закрытием называется продолжительностью инцидента. Кумулятивные инциденты отслеживаются и обновляются дополнительным модулем GeoEvent по мере поступления дополнительных данных событий.
Каждый инцидент, сгенерированный Детектор инцидентов, имеет связанную геометрию. Тип геометрии указывается при настройке процессора. Детектор инцидентов обычно настраивается на связывание точечной геометрии с инцидентами, которые он создает, для моделирования инцидента как возникшего в определенном местоположении в определенное время. Но мультиточка и полилиния также являются поддерживаемыми типами геометрии для создаваемых процессором инцидентов.
Процессор автоматически закроет продолжающийся инцидент, если он не получил обновления для TRACK_ID этого инцидента в течение определенного периода времени. Укажите нужное время истечения (в секундах) при настройке Детектор инцидентов для задания такого поведения. Даже если GeoEvents удовлетворяющие условию закрытия процессора не были получены, инциденты завершаются и переходят в закрытое состояние, если обновление не было получено до времени истечения срока действия. Укажите нулевое значение для времени истечения для отключения автоматического истечения для инцидентов, созданных процессором.
Для ознакомления с более полной информацией по процессору Детектор инцидентов см. руководство Введение в GeoEvent, в руководствах по GeoEvent.
Пересечение
Процессор Пересечение может быть использован для создания геометрии, представляющий пересечение GeoFence и геометрии GeoEvent. Геометрия GeoEvent считается базовой – геометрия GeoFence оценивается для определения существования пересечения.
Примечание:
Пересечение двух геометрий обычно меньше равно геометрическому размеру рассматриваемых геометрий. Например, если связанной с GeoEvent геометрией является точка, то даже если геометрией заданный GeoFence является полилиния или полигон, пересечением (если таковое существует) должна быть точка. Если связанной с GeoEvent геометрией является полилиния и заданной геометрией GeoFence является полигон, то пересечением, скорее всего, будет линия, но также может быть и точка.
Пересечение требует задания двух дискретных геометрий. Вы не сможете, например, использовать регулярные выражения для задания нескольких различных геозон и получить пересечение каждой GeoFence со связанной с обрабатываемым событием GeoEvent геометрией.
Процессор может быть сконфигурирован либо на замену геометрии GeoEvent обнаруженным пересечением, либо на запись пересекающейся геометрии в новое поле. Добавление нового поля в GeoEvent изменяет схему GeoEvent, что требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор.
Для ознакомления с более полной информацией по процессору Пересечение см. руководство Введение в GeoEvent в руководствах по GeoEvent.
Никаких действий
Процессор Никаких действий не выполняет никаких операций над поступающими в него событиями GeoEvent и никак на них не влияет. События GeoEvent проходят через этот процессор, как будто его не существует. Этот процессор можно использовать в сервисе GeoEvent как заглушку или заполнитель фактического процессора, который вы хотите настроить позже, что позволяет Вам в это время разрабатывать и тестировать другие части сервиса GeoEvent.
Процессор Никаких действий может быть полезен также и в других сценариях, включая следующие:
- Обнаружение и устранение проблем в некорректно функционирующем опубликованном сервисе GeoEvent. Настройка процессора Никаких действий на не выполнение никаких операций эффективно удаляет его из сервиса GeoEvent, не заставляя рабочий процесс сервиса GeoEvent выполнять перерисовку.
- Проектирование рабочего процесса обработки и фильтрации в сервисе GeoEvent до разработки индивидуального компонента завершено. По завершении разработки компонентов, процессор Никаких действий можно перенастроить на другой тип процессора.
- Демонстрация временного выключения обработки данных, осуществляемой тем или иным компонентом сервиса GeoEvent. Посредством настройки существующего процессора на тип Никаких действий и вновь публикуя сервис GeoEvent, можно выделить обработку, осуществляемую дополнительным модулем GeoEvent.
Проецирование
Данные событий часто выражают значения координат в географическом пространстве, используя широту и долготу. Процессор Проецирование можно использовать для проецирования геометрии GeoEvent из его родной системы координат в другую систему пространственной привязки. Например, вы можете захотеть явно спроецировать данные событий с целью рассмотрения их значений координат в контексте определённой системы координат.
Для того чтобы процесс импорта данных в виде геозон был успешным, рекомендуется уточнить информацию об исходной системе координат потоковых данных и о том, как они соотносятся с другими пространственными данными. ArcGIS for Server и GeoEvent обычно проецируют геометрию по мере необходимости, поэтому пространственные оценки проводятся в общей пространственной привязке.ArcGIS for Server будет проецировать данные, которые он получает, для соответствия пространственной привязке сервиса пространственных объектов, например, до создания или обновления объектов. Дополнительный модуль GeoEvent будет проецировать пространственные данные на лету, прежде чем оценивать данные на пересечение с GeoFence.
Используйте этот процессор, когда вы хотите явно спроектировать GeoEvents до выполнения шагов дополнительной фильтрации или обработки в сервисе GeoEvent.
Процессор требует, чтобы поле, содержащее геометрию, было задано. Вы можете задать либо имя поля GeoEvent, либо тег, применённый к полю в определении GeoEvent, который идентифицирует поле геометрии. Процессор также требует Well Known Identifier (WKID) системы координат, в которую будут проецироваться входные данные. Например, WKID для системы координат WGS 1984 World Geographic равен 4326.
Примечание:
Для получении более подробной информации о поддерживаемых системах координат см. Использование пространственной привязки.
Процессор Проецирование может быть настроен либо на замену геометрии GeoEvent спроектированной геометрией, либо на размещение спроектированной геометрии в новом поле. Добавление нового поля в GeoEvent изменяет схему GeoEvent, что требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор.
Для ознакомления с более полной информацией по процессору Проецирование, см. руководство Введение в GeoEvent в руководствах по GeoEvent.
Упрощение
Процессор Упрощение может быть использован для коррекции связанной с GeoEvent геометрии с целью приведения геометрии в топологическое соответствие с ее типом. Упрощение не имеет эффекта для точечной геометрии. Геометрия мультиточек замкнёт все вершины на сетке, подходящей для пространственной привязки геометрии, а затем удалит дублирующиеся вершины. Полилинейная и полигональная геометрии с самопересекающимися сегментами будут реконструированы со множеством путей или колец для создания топологически корректных составных полилиний или полигонов.
Упрощение – это не то же самое, что генерализация. Упрощение удаляет ненужные вершины вдоль топологически правильного сегмента линии или изменяет форму геометрии для снижения детальности и получения геометрии для более эффективного отображения карт в мелких масштабах. Задачей упрощения является создание объекта, который действителен и допустим для вставки в базу геоданных. Объекты, созданные в сеансе редактирования ArcGIS for Desktop, уже являются топологически правильными и простыми. Объекты, опрошенные в сервисе объектов, не требуют упрощения перед их обработкой в сервисе GeoEvent.
Процессор Упрощение требует наличия поля GeoEvent с заданной геометрией события. Вы можете задать либо имя поля GeoEvent, либо тег, применённый к полю в определении GeoEvent, который идентифицирует поле геометрии.
Процессор может быть сконфигурирован либо на замену геометрии GeoEvent упрощённой геометрией, либо на размещение упрощённой геометрии в новом поле. Добавление нового поля в GeoEvent изменяет схему GeoEvent, что требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор.
Для ознакомления с более полной информацией по процессору Упрощение, см. руководство Введение в GeoEvent в руководствах по GeoEvent.
Построитель симметричной разницы
Процессор Построитель симметричной разницы может быть использован для обрезания или удаления пересекающейся части геометрии GeoEvent и GeoFence из объединения двух геометрий. Симметричной разницей двух геометрий является по существу эксклюзивное выражение OR.
Построитель симметричной разницы требует задания двух дискретных геометрий. Вы не сможете, например, использовать регулярные выражения для задания нескольких различных геозон и получить симметричную разницу для набора геометрий. Процессор также требует, чтобы геометрии имели один тот же тип – поэтому, например, вы не будете в состоянии вычислить симметричную разницу между точкой и полилинией в виде объединения двух.
Процессор может быть сконфигурирован либо на замену геометрии GeoEvent вычисленной симметричной разницей, либо на размещение симметричной разницы в новом поле геометрии. Добавление нового поля в GeoEvent изменяет схему GeoEvent, что требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор.
Для ознакомления с более полной информацией по процессору Построитель симметричной разницы, см. руководство Введение в GeoEvent в руководствах по GeoEvent.
Детектор пробелов трека
Процессор Детектор пробелов трека может использоваться для определения отсутствия событий в потоковых данных. Подобно Детектор инцидентов, события GeoEvents, отправленные из Детектора пробелов трека не являются копиями (или производными) GeoEvents полученных процессором. Каждое событие GeoEvent в дополнительном модуле GeoEvent имеет соответствующий набор свойств, таких как определение GeoEvent, используемое для построения события GeoEvent.
События GeoEvents, отправляемые в процессор Детектор пробелов трека, должны иметь определение GeoEvent с TRACK_ID. Процессор использует это помеченное тегом поле для определения, когда GeoEvents больше не будут поступать. Процессор должен получить по меньшей мере одно GeoEvent с заданным TRACK_ID, прежде чем он сможет обнаружить отсутствие GeoEvents для этого трека.
Для Track Gap вам следует задать как интервал продолжительности разрыва, так и интервал обнаружения разрыва:
- Продолжительность пробела (в секундах) задает количество секунд ожидания процессора до того как определить, что ожидаемые данные не были получены.
- Интервал определения пробелов определяет количество секунд в каждом интервале опроса.
Например, полагая, что процессор пробелов в треке настроен с интервалом обнаружения разрыва 120 секунд и длительностью разрыва 300 секунд, процессор будет проверять свой внутренний реестр полученных геособытий каждые две минуты (120 секунд), чтобы увидеть, существует ли в реестре какой-либо TRACK_ID, который не наблюдался бы в течение последних пяти минут (300 секунд).
Интервал обнаружения разрыва также контролирует, как часто уведомления генерируются. Когда режим уведомления установлен на Непрерывный, новое событие TrackGap будет генерироваться при каждом опросе внутреннего реестра процессора для каждого ожидаемого, но не полученного в последнее время, TRACK_ID. Если вы предпочитаете одиночное уведомление, когда разрыв обнаружен первый раз, с последующим вторым событием, чтобы уведомить вас, когда ожидаемые GeoEvents будут получены снова, задайте режим уведомления При изменении.
Наконец, при настройке процессора пробелов трека можно указать поле GeoEvent, которое содержит геометрию. Если имя поля GeoEvent указано, то процессор будет добавлять геометрию из самого последнего полученного GeoEvent в события TrackGap, которые он генерирует. Например, если поток данных сообщал о положении транспортных средств и процессор был настроен на интервал в 30 секунд для определения пробела длительностью более 120 секунд после получения последнего отчета, то его можно настроить на включение последнего известного местоположения транспортного средства.
Построитель объединения
Процессор Построитель объединения может быть использован для создания геометрического объединения связанной с GeoEvent геометрии с одной или несколькими геометриями, импортированными как геозоны. Этот процессор требует наличия поля GeoEvent с заданной геометрией события. Вы можете задать либо имя поля GeoEvent, либо тег, применённый к полю в определении GeoEvent, который идентифицирует поле геометрии.
Процессор может быть сконфигурирован либо на замену геометрии GeoEvent объединением заданных геометрий, либо на размещение объединения в новом поле геометрии. Добавление нового поля в GeoEvent изменяет схему GeoEvent, что требует от дополнительного модуля GeoEvent создания нового определения GeoEvent. Новое определение GeoEvent будет управляться дополнительным модулем GeoEvent и будет удалено, если изменения вносятся в процессор или в сервис GeoEvent, в котором участвует процессор.
В отличие от других процессоров, таких как Разница, Симметричная разница и Пересечение, которые работают только с двумя дискретными геометриями, процессор Построитель объединения принимает регулярное выражение, что позволяет указать несколько различных геозон. Следовательно, вы можете получить объединение полученной геометрии GeoEvent с одной или несколькими геометриями, импортированными как геозоны.
Для ознакомления с более полной информацией по процессору Построитель объединения, см. руководство Введение в GeoEvent в руководствах по GeoEvent.