Выявление инцидентов

Выявление инцидентов


Этот инструмент работает со слоем с поддержкой времени, содержащим точечные, линейные, полигональный объекты или таблицы, которые представляют текущий момент времени. Используя последовательно упорядоченные объекты, называемые треками, этот инструмент определяет объекты, являющиеся интересующими вас инцидентами. Инциденты определяются по заданным вами условиям.

Сначала инструмент определяет, какие объекты относятся к треку, используя одно или несколько полей. Используя время каждого объекта, треки последовательно упорядочиваются, затем применяется условие инцидента. Объекты, соответствующие начальным условиям инцидента, обозначаются как инциденты. Вы можете дополнительно применить конечное условия инцидента; когда оно true, объект перестает быть инцидентом. Результаты возвращаются вместе с оригинальными объектами - с новыми столбцами с именем инцидента - и показывают, какие объекты удовлетворяют условиям инцидента. Вы можете получить все исходные объекты или только объекты-инциденты.

Например, предположим у вас есть GPS-координаты урагана, получаемые каждые 10 минут. Каждое GPS-измерение записывает название урагана, его положение, время записи и скорость ветра. Используя эти поля, вы можете создать инцидент, когда любое измерение скорости ветра превышает 208 км/ч становится инцидентом с названием Catastrophic. Если конечное условие не задано, инцидент завершается, если объект больше не удовлетворяет начальным условиям (скорость ветра становится ниже 208).

Еще один пример: предположим, вы отслеживаете концентрацию химических соединений в локальном источнике водоснабжения и записываете значения в поле contaminateLevel. Вы знаете, что рекомендованные уровни должны быть меньше 0.01 мг/л, а опасные уровни превышают 0.03 мг/л. Чтобы выявить, когда значение было выше 0.03mg/L и пометить это как инцидент, который будет оставать инцидентом, пока значение не снизится до нормы, нужно создать инцидент с начальным условием contaminateLevel > 0.03 и конечным условием contaminateLevel < 0.01. Это позволит отметить все последовательности, где значения превосходят 0.03мг/л, пока они не вернуться к значению менее, чем 0.01.

Выбрать слой для выявления инцидентов в


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

Кроме выбора слоя из вашей карты, можно щелкнуть Выбрать слои в нижней части ниспадающего списка, чтобы найти свои ресурсы для набора данных или слоя объектов файлового хранилища больших данных.

Выберите одно или более полей для идентификации треков


Поля, представляющие идентификатор трека. Для представления уникальных значений трека можно использовать одно или несколько полей.

Например, если вы создаете треки ураганов, в качестве поля трека можно использовать его имя.

Постройте выражение условия для обозначения начала инцидента


Добавьте условие, используя конструктор выражений, для определения инцидентов. Если указанное условие становится true, объект рассматривается как инцидент. Если конечное условие не задано, инцидент заканчивается, когда начальное условие перестает быть true.

Например, предположим, вы хотите получать предупреждение, когда сумма полей concentration_1 и concentration_2 становится больше значения concentration_3. Для этого примените условие ($feature["concentration_1"] + $feature["concentration_2"]) > $feature["concentration_3"]).

Если вам интересно, как концентрация изменялась с течением времени и хотите получать предупреждения, когда текущее значение concentration_1 становится больше, чем два предыдущих измерения concentration_2, можно использовать выражение типа $feature["concentration_1"] > $track.field["concentration_2"].history(-3,-1).

Построение выражения условия для обозначения окончания инцидента


Дополнительно добавьте условие, используя конструктор выражений, для определения окончания инцидента. Если конечное условие становится true, объект перестает быть инцидентом. Если конечное условие не задано, инцидент заканчивается, когда начальное условие перестает быть true.

Например, предположим, вы хотите получать предупреждение, когда сумма полей concentration_1 и concentration_2 становится больше значения concentration_3, при этом инцидент должен окончиться, когда concentration_4 становится меньше concentration_1. Для этого примените стартовое условие ($feature["concentration_1"] + $feature["concentration_2"]) > ($join["income"] * .20) и конечное условие ($feature["concentration_4"] < $feature["concentration_1"]).

Если вы хотите, чтобы инцидент закончился, когда значение текущего concentration_1 и четырех предыдущих было больше первого измерения, можно использовать выражение типа $track.field["concentration_1"].history(-5) > $track.field["concentration_1"].history(0).

Выберите способ представления выходных данных


Во всех случаях в выходных данных к исходным объектам присоединяются дополнительные поля. Если два способа возврата объектов:

  • Возвращать только инциденты - возвращаются только объекты-инциденты. Объекты, не являющиеся инцидентами, не возвращаются.
  • Возвращать все объекты - используется по умолчанию. Возвращаются все объекты входных данных.

Имя слоя результата


Имя слоя, который будет добавлен в Мои ресурсы и на карту. Имя слоя по умолчанию зависит от имени инструмента и имени входного слоя. Если слой уже существует, произойдет сбой.

С помощью ниспадающего списка поля Сохранить результат в вы можете задать имя папки в разделе Мои ресурсы, в которую будет записан результат.