Этот инструмент работает со слоем с поддержкой времени, содержащим точечные, линейные, полигональный объекты или таблицы, которые представляют текущий момент времени. Используя последовательно упорядоченные объекты, называемые треками, этот инструмент определяет объекты, являющиеся интересующими вас инцидентами. Инциденты определяются по заданным вами условиям.
Сначала инструмент определяет, какие объекты относятся к треку, используя одно или несколько полей. Используя время каждого объекта, треки последовательно упорядочиваются, затем применяется условие инцидента. Объекты, соответствующие начальным условиям инцидента, обозначаются как инциденты. Вы можете дополнительно применить конечное условия инцидента; когда оно 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)
.
Во всех случаях в выходных данных к исходным объектам присоединяются дополнительные поля. Если два способа возврата объектов:
Имя слоя, который будет добавлен в Мои ресурсы и на карту. Имя слоя по умолчанию зависит от имени инструмента и имени входного слоя. Если слой уже существует, произойдет сбой.
С помощью ниспадающего списка поля Сохранить результат в вы можете задать имя папки в разделе Мои ресурсы, в которую будет записан результат.