Пространственные фильтры в сервисе GeoEvent фильтруют записи событий на основе пространственного отношения с геозоной. Геометрии, которые определяют геозону, должны быть импортированы в GeoEvent Server из опубликованного сервиса объектов перед настройкой пространственного фильтра.
Поддерживаются следующие пространственные операторы:
- INSIDE — геометрия записей события считается находящейся внутри геозоны, если она полностью попадает в пределы области, определенной геозоной. Данный оператор определяет, расположена ли точка, связанная с записью события, внутри области интереса.
- OUTSIDE — геометрия записи события считается находящейся за пределами геозоны, если эта геометрия полностью попадает вне границ области, определенной геозоной. Данный оператор определяет, расположена ли точка, связанная с записью события, за пределами области интереса.

- ENTER — геометрия записи события считается входящей в геозону, если эта геометрия попадает внутрь области, определенной геозоной, в то время как предыдущая позиция записи события из того же трека находилась за пределами геозоны. После обнаружения оператора ENTER и получения разрешения для события пройти через фильтр, отслеживаемый объект должен сообщить как минимум об одном событии вне геозоны, перед тем, как будет распознан другой оператор ENTER.
- EXIT — геометрия записи события считается выходящей из геозоны, если эта геометрия попадает за пределы области, определенной геозоной, в то время как предыдущая позиция события из того же трека находилась внутри геозоны. После обнаружения оператора EXIT и получения разрешения для записи события пройти через фильтр, отслеживаемый объект должен сообщить как минимум об одном событии в пределах геозоны, перед тем, как будет распознан другой оператор EXIT.
Примечание:
Пространственный фильтр, настроенный с оператором EXIT, ведет себя несколько иначе, чем Процессор Детектор инцидентов. Оценивая состояние закрытия, процессор Детектор инцидентов сообщает о статусе Завершено для последней наблюдаемой геометрии внутри геозоны. Пространственный фильтр позволяет записи события проходить через фильтр, если ее геометрия находится за пределами геозоны, когда оператор EXIT оценивается как истинный.

Обычно набор геозон определяет области интереса и импортируются из сервиса объектов, предоставляющего полигональные объекты. Геозоны не обязательно должны быть представлены полигональными областями, они также могут быть импортированы из точечных или линейных объектов.
Пространственные операторы ниже могут быть использованы с различными типами геометрий. Эти пространственные операторы возвращают булево значение, указывающее, существует ли описанное отношение между геозоной и геометрией записи события. Некоторые отношения требуют, чтобы геометрия записи события имела ту же размерность, что и геозона, с которым она сравнивается, в то время как другие имеют более гибкие пространственные ограничения. Многие из пространственных операторов ниже являются взаимоисключающими операторами Клементини.
- CONTAINS – геометрия события будет содержать геозону, если геозона является подмножеством геометрии события, и пересечение двух этих геометрий не является пустым. CONTAINS - это логическое противопоставление WITHIN.
Примечание:
Точечная геометрия не может содержать полилинии или полигоны, следовательно невозможно, чтобы точка, и связанное с ней событие включало линию или полигон, импортированное как геозона. Теоретически пространственные отношения, в которых точка содержит точку, или линия содержит линию возможны, но проверять это не рекомендуется Незначительные различия в геометрии, например вызванные несовпадением привязки, могут привести к тому, что точка или линия, которые должны совпадать с геозоной, окажутся не совпадающими, что в свою очередь будет оценено как ложь при построении отношения CONTAINS.

- CROSSES – геометрия события перекрещивается с геозоной, если в геометрии меньшего порядка присутствует пересечение. Две полилинии перекрещиваются, если перекрест присутствует в одной или нескольких точках, при этом, хотя бы одна из них не является конечной точкой. Полилиния и полигон перекрещиваются, если они имеют общую линию или точку внутри полигона, которая не эквивалентна всей полилинии. CROSSES применяется только в отношениях полилиния/полилиния, полилиния/полигон или полигон/полилиния. Если хотя бы одна геометрия пустая – геометрии не перекрещиваются.

- DISJOINT – геометрия события считается разъединенной с геозоной, если обе геометрии не пересекаются. Геометрия события может не совпадать с одной геозоной, но при это иметь пересечения с другой геозоной. При указании пространственного выражения задайте геометрию события, область действия (либо any, либо all) и набор геозон, определенных с помощью соответствия шаблону регулярного выражения (например, SomeCategory/.*) для получения точных результатов.

- EQUALS – геометрия события равна геометрии геозоны, если их симметричная разность является пустым поднабором. Для геометрий симметричная разница относится к частям каждой геометрии, которые не перекрываются друг с другом. Если симметричная разница между геометрией события и геометрией геозон является пустым значением, это означает, что между ними нет различий, что делает их равными. Если вы переберёте каждый сегмент в каждой геометрии для сравнения типа сегмента и координат, и обнаружите, что они являются одинаковыми (с применением кластерных допусков пространственной привязки при определении равенства координат), то две геометрии будут считаться равными.

- INTERSECTS – геометрия события пересекает геометрию геозоны, если две геометрии не разъединены. INTERSECTS является логической противоположностью DISJOINT. Точечное событие, которое находится в области геозоны (полигон), также и пересекает эту геозону. Полилинейное или полигональное событие может пересекать геозону, но не обязательно находится полностью внутри геозоны. Геометрия события может пересекать одну геозону внутри набора геозон и может всё ещё быть DISJOINT ANY (например, разделено одним или более). Геометрия события не DISJOINT ALL пока она пересекает хотя бы одну геозону в наборе.
- OVERLAPS – геометрия события перекрывает геозону, если существует пересечение, чьё измерение является таким же, что и у геометрии, которая рассматривается как пересечение, и не эквивалентно ни геометрии объекта, ни геозоне.OVERLAPS применимо только к отношениям полилиния/полилиния, полигон/полигон и мультиточка/мультиточка. Если хотя бы одна геометрия пустая, геометрии не перекрываются.

Точечная геометрия нарушает условие равнозначности, поэтому точечное местоположение события не может перекрывать геозону, геометрия которой также точечная.
- TOUCHES – геометрия события соприкасается с геозоной, если существует пересечение, и внутренняя часть пересечения пуста. Это означает, что две геометрии только касаются вершинами, которые определяют геометрию, а не точками, располагающимися между вершинами. TOUCHES не определено для отношений точка/точка. Если хотя бы одна геометрия пустая, геометрии не касаются.

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

Узнайте больше о реляционных операторах на странице IRelationalOperator Interface API Reference