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

Сводка

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

Иллюстрация

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

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

  • Этот инструмент геообработки доступен с версией ArcGIS Enterprise 10.6 или более новой.

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

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

    Трек

    Последовательность пространственных объектов, у которых включено время с мгновенным типом времени. Пространственные объекты определяются как последовательность при помощи идентификатора трека и упорядочены во времени. Например, у городской коммунальной службы может быть парк снегоуборочной техники, в котором записывается местоположение каждой снегоуборочные машины каждые 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 и позволяют отслеживать изменения.

    Более подробно о выражениях GeoAnalytics Server 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.

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

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

  • Этот инструмент геообработки работает на ArcGIS GeoAnalytics Server. Анализ выполняется на вашем GeoAnalytics Server, а результаты сохраняются в ресурсы на вашем ArcGIS Enterprise.

  • При работе инструментов GeoAnalytics Server, анализ выполняется на GeoAnalytics Server. Для оптимальной производительности сделайте данные доступными для GeoAnalytics Server через векторные слои, размещенные на вашем портале ArcGIS Enterprise или через файловое хранилище больших данных. Данные, которые не являются локальными для GeoAnalytics Server, будут перемещены на GeoAnalytics Server до начала анализа. Это означает, что для запуска инструмента потребуется больше времени, а в некоторых случаях перемещение данных с ArcGIS Pro на GeoAnalytics Server может завершиться ошибкой. Порог сбоя зависит от скорости сети, а также от размера и сложности данных. Соответственно рекомендуется всегда предоставлять доступ к данным или создавать файловое хранилище больших данных.

    Более подробно о публикации локаторов на портале

    Более подробно о создании файловых хранилищ больших данных в Server Manager

Синтаксис

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

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

Record Set
output_name

Имя выходного сервиса пространственных объектов.

String
track_fields
[track_fields,...]

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

Field
start_condition

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

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

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

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

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

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

Задает ArcGIS Data Store, где будут сохраняться выходные данные. По умолчанию – SPATIOTEMPORAL_DATA_STORE. Все результаты, находящиеся в хранилище пространственно-временных больших данных, будут храниться в системе WGS84. Результаты в реляционном хранилище данных сохраняют свои систему координат.

  • SPATIOTEMPORAL_DATA_STOREРезультаты будут храниться в хранилище больших пространственно-временных данных. Это значение по умолчанию.
  • RELATIONAL_DATA_STOREРезультаты будут храниться в хранилище реляционных данных.
String
time_boundary_split
(Дополнительный)

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

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

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

Date

Производные выходные данные

NameОбъяснениеТип данных
output

Выходные объекты, которые соответствуют заданному условию.

Набор записей

Пример кода

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

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

#-------------------------------------------------------------------------------
# Name: DetectIncidents.py
# Description: Detect Incidents when wind speed is greater than 100 miles per hour
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Hurricanes/MapServer/0"
outFS = "HurricaneTracks_Incidents"
trackIdentifier = "STAGE"
start_condition = "$feature['WINDSPEED'] > 100"
# Execute Reconstruct Tracks
arcpy.geoanalytics.DetectIncidents(inFeatures, outFS, trackIdentifier, calcExpression)

Environments

Выходная система координат

Система координат, используемая при анализе. Если данный параметр не указан, анализ будет выполнен во входной системе координат. Для Инструменты GeoAnalytics готовые результаты будут храниться в пространственно-временном хранилище данных в системе координат WGS84.

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

  • Basic: Требуется ArcGIS GeoAnalytics Server
  • Standard: Требуется ArcGIS GeoAnalytics Server
  • Advanced: Требуется ArcGIS GeoAnalytics Server

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