Выявление инцидентов (GeoAnalytics Desktop)

Сводка

Создает слой, который определяет объекты, удовлетворяющие полученному условию.

Иллюстрация

Диаграмма рабочего процесса Выявление инцидентов
Рабочий процесс Выявление инцидентов

Использование

  • Следующая таблица определяет терминологию для инструмента Выявление инцидентов:

    ТерминОписание

    Трек

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

    Инцидент

    Пространственный объект, который соответствует интересующим вас условиям.

    Мгновенный

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

    Интервал

    Длительность, заданная начальным и конечным значениями времени.

    Интересующий пространственный объект

    Описывает анализируемый пространственный объект. В процессе анализа анализируются все пространственные объекты.

  • Инциденты являются объектами, удовлетворяющими определенному условию.

  • Инструмент Выявление инцидентов создает новые выходные данные. Он не изменяет входные данные.

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

  • Используются только входные объекты, имеющие временную метку. Любые объекты, не имеющие временной метки, будут исключены.

  • Треки представлены с помощью уникальной комбинации полей трека. Например, если поля flightID и Destination используются в качестве идентификаторов трека, объекты [ID007, Solden] и [ID007, Tokyo] попадут в два отдельных трека, поскольку они имеют отличающиеся значения в поле Destination.

  • Условия создаются с помощью выражений Arcade. Необходимо начальное условие, конечное является дополнительным. Если используется только начальное условие, инцидент начинается когда начальное условие определяется как true, и заканчивается, когда начальное условие определяется как false. Например, если значения на треке: [0, 10, 15, 20, 40, 10, 12, -2, -12] и начальным условием является $feature["values"] > 15, объектами инцидентов будут объекты со значением [True], то есть [0: False, 10: False, 15: False, 20: True, 40: True, 10: False, 12: False, -2: False, -12: False], где только значения выше 15 будут считаться инцидентами. Если вы примените конечное условие: $feature["values"] < 0, результатами будут [0: False, 10: False, 15: False, 20: True, 40: True, 10: True, 12: True, -2: False, -12: False]. В этом примере, инцидент начинается, когда выполняется стартовое условие, затем каждый последующий объект становится инцидентом, пока конечное условие не станет true. Эти примеры показаны в следующей таблице:

    Положение123456789

    Значение

    0

    10

    15

    20

    40

    10

    12

    -2

    -12

    Начало: $feature["values"] > 15 и нет Конца

    False

    False

    False

    True

    True

    False

    False

    False

    False

    Начало: $feature["values"] > 15 и Конец: $feature["values"] < 0

    False

    False

    False

    True

    True

    True

    True

    False

    False

    Применение временного интервала разделяет треки на заданные интервалы. Например, если вы выбрали интервал в 1 день, начиная с 9 утра 1 января , 1990 каждый трек будет обрезан в 9 утра каждого дня и проанализирован в пределах этого сегмента. Такое разбиение позволяет ускорить обработку, так как небольшие треки для анализа создаются быстрее. Если разбиение на повторяющиеся интервалы может влиять на результаты анализа, рекомендуется использовать обработку больших данных.

  • Условия создаются при помощи выражения Arcade и позволяют отслеживать изменения. Более подробно см. Выражения Arcade в настольных инструментах геоаналитики.

  • У трека может быть несколько инцидентов.

  • Выходные объекты возвращают поля во входные данные, а также создают следующие дополнительные поля:

    • IncidentID – уникальный идентификатор, присвоенный объекту, являющемуся инцидентом.
    • IncidentStatus – строковое поле, представляющее статус инцидента. Значением будет null, если объект не является инцидентом, Started, если объект является первым инцидентом, удовлетворяющим начальному условию, OnGoing, если объект все ещё является инцидентом, и Ended, когда объект перестаёт быть инцидентом. У одного трека может быть множество сегментов инцидентов. Например, трек с такими значениями [0, 10, 15, 20, 40, 10, 12, -2, -12] и начальным условием $feature["values"] > 15 приведет к следующим значениям IncidentStatus: [0: null, 10: null, 15: null, 20: Started, 40: OnGoing, 10: Ended, 12: null, -2: null, -12: null].
    • IncidentDuration – время, в миллисекундах, когда произошел инцидент. Вычисляется как разница между интересующим объектом и объектом, ставшим инцидентом.
    • Instant_Datetime – время, в которое случается объект.

  • Объекты на треке расставлены в последовательность по времени. Начиная с первого объекта, начальное условие проверяется, пока оно не станет истинным. Как только объект начинает соответствовать стартовым условиям, проводится оценка следующих объектов, пока стартовое условие не будет определено как false (если не задано конечное условие) или пока конечное условие не станет true (если указано конечное условие). Как только условие выполняется, инцидент заканчивается, и процесс начинается заново. В одном треке может быть несколько фрагментов инцидентов. Например, для трека со значениями [10, 20, 30, 40, 50, 10, 20, 30, 40, 50, 10, 20] и начальным условием $feature["values"] > 20, будет найдено два сегмента инцидентов [10: null, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null, 30: Started, 40: OnGoing, 50: OnGoing, 10: Ended, 20: null].

  • Длительность инцидента вычисляется в миллисекундах, как время объекта минус начало инцидента. Длительность вычисляется только в случае, если статусом объекта является Started, OnGoing или Ended. Длительность объекта со статусом Started всегда равна 0.

  • Можно повысить производительность инструмента Выявление инцидентов, выполнив одно или несколько из следующих действий:

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

  • Этот инструмент геообработки работает от Spark. Анализ выполняется на настольном компьютере с использованием нескольких ядер параллельно. См. Информация по инструментами GeoAnalytics Desktop, чтобы узнать больше о выполнении анализа.

  • При запуске инструментов GeoAnalytics Desktop анализ выполняется на настольном компьютере. Для оптимальной производительности данные должны быть доступны на настольном компьютере. Если вы используете размещенный векторный слой, рекомендуется использовать ArcGIS GeoAnalytics Server. Если данные находятся не на жестком диске, для запуска инструмента потребуется больше времени. Для использования ArcGIS GeoAnalytics Server в целях выполнения анализа см. раздел Инструменты геоаналитики.

Синтаксис

DetectIncidents(input_layer, output, track_fields, start_condition, {end_condition}, {output_mode}, {time_boundary_split}, {time_boundary_reference})
ParameterОбъяснениеТип данных
input_layer

Входные объекты, которые содержат потенциальные инциденты.

Table View
output

Новый выходной набор данных, содержащий инциденты.

Feature Class;Table
track_fields
[track_fields,...]

Поле или поля, которые будут использоваться для идентификации уникальных треков.

Field
start_condition

Условие, которое будет использоваться для идентификации инцидентов. Выражения пишутся на Arcade, могут содержать операторы [+ - * / ] и несколько полей.

Calculator Expression
end_condition
(Дополнительный)

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

Calculator Expression
output_mode
(Дополнительный)

Укажите объекты которые будут возвращаться.

  • ALL_FEATURESБудут возвращены все входные объекты. Используется по умолчанию.
  • INCIDENTSБудут возвращены только объекты, определенные, как инциденты.
String
time_boundary_split
(Дополнительный)

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

Time Unit
time_boundary_reference
(Дополнительный)

Время начала отсчета, используемое для разбиения входных данных для анализа. Временные границы будут созданы для всего диапазона времени, а время начала отсчета не обязательно должно быть в самом начале. Если время начала отсчета не установлено, используется 1 января 1970 года.

Date

Пример кода

DetectIncidents, пример (окно Python)

В следующем скрипте окна Python показано, как используется инструмент DetectIncidents.

#-------------------------------------------------------------------------------
# Name: DetectIncidents.py
# Description: Detect Incidents when wind speed is greater than 100 miles per hour
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Weather.gdb"
# Set local variables
inFeatures = "Hurricanes"
out = "HurricaneTracks_Incidents"
trackIdentifier = "STAGE"
start_condition = "$feature['WINDSPEED'] > 100"
# Execute Reconstruct Tracks
arcpy.gapro.DetectIncidents(inFeatures, out, trackIdentifier, calcExpression)

Информация о лицензиях

  • Basic: Нет
  • Standard: Нет
  • Advanced: Да

Связанные разделы