Инструмент Выявление инцидентов исследует пространственные объекты с временными последовательностями, используя указанное условие. Объекты, соответствующие указанным условиям, обозначаются как инциденты. Результирующий слой показывает выходные объекты в том же формате, как и входные, с дополнительными полями, заявляющими что объект является инцидентом, показывающими статус инцидента, длительность и уникальный идентификатор инцидента.
Схема рабочего процесса
Анализ с помощью Инструменты геоаналитики
Анализ, использующий Инструменты геоаналитики, выполняется с помощью технологии распределенной обработки на нескольких компьютерах и ядрах ArcGIS GeoAnalytics Server. Инструменты геоаналитики и стандартные инструменты анализа объектов в ArcGIS Enterprise имеют разные параметры и возможности. Более подробно об этих различиях см. в разделе Различия между инструментами анализа объектов.
Терминология
Термин | Описание |
---|---|
Отслеживание | Последовательность пространственных объектов, у которых включено время с мгновенным типом времени. Пространственные объекты определяются как последовательность при помощи идентификатора трека и упорядочены во времени. Например, у городской коммунальной службы может быть парк снегоуборочной техники, в котором записывается местоположение каждого трактора каждые 10 минут. У трактора ID может представлять отдельные трактора. |
Инцидент | Пространственный объект, который соответствует интересующим вас условиям. |
Текущий | Отдельный момент времени, заданный начальным временем и не имеющий конечного времени. Необходимо, чтобы входные выявленные инциденты обладали временными метками. |
Интервал | Длительность, заданная начальным и конечным значениями времени. |
Интересующий пространственный объект | Используется для описания анализируемого пространственного объекта. В процессе анализа анализируются все пространственные объекты. |
Примеры
Мониторинг воды и ее загрязняющих веществ – важная роль, которую играют датчики. Каждое измерение датчика включает отметку времени, когда происходит измерение, а также значение для интересующих загрязняющих веществ. У вас есть доступ к данным измерений воды из вашей местной области, с измерениями и меткой времени в каждом месте. Вы хотите найти датчики, которые сообщают о большом увеличении загрязняющих веществ по сравнению с более ранними измерениями.
Примечания по использованию
Выявление инцидентов можно применять к таблицам, точечным, линейным или площадным объектам. Входным слоем должен быть слой с включённым временем, с объектами, представляющими определённый момент времени.
Используются только входные объекты, имеющие временную метку. Любые объекты, не имеющие времени, не будут включены в выходные результаты.
Имя поля или полей, которые использовались для идентификации треков, будут возвращены с результатами.
Вы можете указать одно или более полей для идентификации треков. Треки представлены с помощью уникальной комбинации одного или нескольких полей трека. Например, если поля flightID и Destination используются в качестве идентификаторов трека, следующие объекты [ID007, Solden] и [ID007, Tokoyo] попадут в два отдельных трека, поскольку они имеют отличающиеся значения в поле Destination.
Начальное и конечное условия воздаются при помощи выражения.
Дополнительно можно применить конечное условие. Если вы применяете только начальное условие, инцидент начнётся, когда начальное условие будет проверено, как истинное, и закончится, когда начальное условие будет проверено, как ложное. Например, если значения на треке были: [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]. В данном примере, инцидент начинается, когда удовлетворяется начальное условие, и затем каждый последующий объект является инцидентом, пока конечное условие не примет истинное значение. Эти примеры описаны в приведённой ниже таблице:
Позиция: | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
---|---|---|---|---|---|---|---|---|---|
Значения | 0 | 10 | 15 | 20 | 40 | 10 | 12 | -2 | -12 |
Начало: $feature["values"] > 15 и нет Конца | False | False | False | True | True | True | False | False | False |
Начало: $feature["values"] > 15 и Конец: $feature["values"] < 0 | False | False | False | True | True | True | True | False | False |
Применение временного интервала разделяет треки на заданные интервалы. Например, если вы выбрали интервал в 1 день, начиная с 9:00 1 января , 1990 каждый трек будет обрезан в 9:00 утра каждого дня и проанализирован в пределах этого сегмента. Такое разбиение позволяет ускорить обработку, т.к. небольшие треки для анализа создаются быстрее. Если разбиение на повторяющиеся интервалы может влиять на результаты анализа, рекомендуется использовать обработку больших данных.
Выходные объекты вернут все поля входных данных, а также дополнительные поля:
- 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 – время объекта.
Если опция Использовать текущий экстент карты включена, будут анализироваться только те объекты, которые отображаются в текущем экстенте. Если опция отключена, анализ будет выполнен для всех входных объектов входного слоя, даже если они находятся вне текущего экстента карты.
Ограничения
Входными данными должны быть пространственные объекты, имеющие тип Текущий. Любые объекты, не имеющие временных атрибутов, не будут включены в выходные.
Как работает Выявление инцидентов
Вычисления
Объекты на треке расставлены в последовательность по времени. Начиная с первого объекта, начальное условие проверяется, пока оно не станет истинным. После того, как объект удовлетворяет начальному условию, следующие объекты проверяются, пока начальное условие не станет ложным (если не задано конечное условие), или пока конечное условие не станет истинным (если конечное условие истинно). После того, как это условие выполнено, инцидент заканчивается, и процесс начинается снова. На отдельном треке может быть несколько сегментов инцидентов. Например, для трека со значениями [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 API for Python
Инструмент Выявление инцидентов доступен в ArcGIS API for Python.
В этом примере определяются случаи, когда и где снегоочистители двигались медленнее, чем 10 миль в час; вычисляется среднее значение движущегося окна из пяти значений скорости.
# Import the required ArcGIS API for Python modules import arcgis from arcgis.gis import GIS from arcgis.geoanalytics import find_locations
# Connect to your ArcGIS Enterprise portal and check that GeoAnalytics is supported portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False) if not portal.geoanalytics.is_supported():
print("Quitting, GeoAnalytics is not supported") exit(1)
# Find the big data file share dataset you're interested in using for analysis search_result = portal.content.search("", "Big Data File Share")
# Look through search results for a big data file share with the matching name bd_file = next(x for x in search_result if x.title == "bigDataFileShares_VehicleData")
# Look through the big data file share for snowplow track data snowplows = next(x for x in bd_file.layers if x.properties.name == "Snowplow_tracks")
# Set the tool environment settings arcgis.env.verbose = True arcgis.env.defaultAggregations = True
# Run the tool Detect Incidents output = find_locations.detect_incidents(input_layer = snowplows, track_fields = "plowID, dayOfYear",
start_condition_expression = "Mean($track.field["speed"].window(-5, 0)) < 10", output_name = "Slow_Plow_Incidents")
# Visualize the tool results if you are running Python in a Jupyter Notebook processed_map = portal.map('Fairbanks, AK', 10) processed_map.add_layer(output) processed_map
Похожие инструменты
Используйте Выявление инцидентов для поиска пространственных объектов, являющихся инцидентами. Другие инструменты могут оказаться полезными для решения похожих, но немного отличающихся задач.
Инструменты анализа Map Viewer
Если вы хотите восстановить треки из пространственных объектов с включённым временем, используйте Инструменты геоаналитики Заново создать треки.
Если вы хотите вычислить значения в поле, используйте Инструменты геоаналитики Вычислить поле.
Инструменты анализа ArcGIS Desktop
Инструмент Инструменты геоаналитики Заново создать треки также доступен в ArcGIS Pro.
Инструменты геоаналитики Вычислить поле также доступен и в ArcGIS Pro.
Инструмент Инструменты геоаналитики Выявление инцидентов также доступен в ArcGIS Pro.
Для запуска этого инструмента из ArcGIS Pro, вашим активным порталом должен быть Enterprise 10.6 или более поздний. Вход необходимо выполнить под учетной записью, имеющей права доступа для выполнения GeoAnalytics Анализа объектов.