Skip To Content

Атрибутивные фильтры

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

В GeoEvent Server поддерживаются следующие операторы атрибутов:

  • Равно (=) – данный оператор сохраняет события GeoEvents, значения атрибутов которых равны заданному значению, например:
    IdString = 3XAB891
  • Не равно (!=) – данный оператор сохраняет события GeoEvents, значения атрибутов которых не равны заданному значению, например:
    StatusString != Err
    Примечание:

    Операторы равенства (=) и неравенства (!=) не следует применять для чисел с плавающей точкой. Например, не создавайте выражения фильтра вида Radius = 3.14159. Вместо него воспользуйтесь операторами Больше (>), Меньше (<) или другим оператором.

  • Больше (>) – Данный оператор сохраняет события GeoEvents, значения атрибутов которых больше заданного значения, например:
    Speed > 50
  • Больше или равно (>=) – Данный оператор сохраняет события GeoEvents, значения атрибутов которых больше или равно заданному значению, например:
    Speed >= 50
  • Меньше (<) – Данный оператор сохраняет события GeoEvents, значения атрибутов которых меньше заданного значения, например:
    Altitude < 1000
  • Меньше или равно (<=) – Данный оператор сохраняет события GeoEvents, значения атрибутов которых меньше или равно заданному значению, например:
    Altitude <= 1000
    Примечание:

    Операторы Больше (>), Меньше (<) и другие не следует применять к строковым значениям. Например, не создавайте выражения фильтра вида Company > ABC. Вместо этого используйте операторы Равно (=) или Не равно (!=) и включите всю строку в выражение.

  • IN – Данный оператор сохраняет события GeoEvents, когда указанное значение поля существует в разделенном запятыми списке значений, например:
    StatusCode IN HK1,HK3,HK5
  • MATCHES – Данный оператор сохраняет события GeoEvents, когда указанное значение поля совпадает с регулярным выражением, например:
    StatusCode MATCHES ^HK[135]

    Примечание:

    Указанное регулярное выражение оценивается либо как совпадающее, либо как не совпадающее с полным значением поля события; частичные совпадения не поддерживаются. В примере выше, если StatusCode содержит дополнительные символы за пределами одной цифры, то в выражение придётся включить .* для совпадения с любыми конечными символами в значении атрибута.

  • EXISTS — Данный оператор сохраняет события GeoEvents, когда указанное значение поля существует в полученной схеме события, например:
    Geometry EXISTS
    .
  • ISNULL — Данный оператор сохраняет события GeoEvents, когда указанное значение поля содержит пустое (null) значение, например:
    Geometry ISNULL
Примечание:

Значения строковых атрибутов могут быть нулевыми или пустыми. Строка, длина которой равна нулю (0), определяется как пустая строка. Строковый объект, значение которого не определено, является нулевой строкой. Чтобы проверить, является ли строка нулевой, используйте оператор ISNULL. Чтобы проверить, является ли строка строкой с нулевой длиной, т.е. пустой, используйте оператор MATCHES с регулярным выражением ^$.