Сводка
Находит местоположения, где движущиеся объекты остановились или задержались, используя заданные пороги времени и расстояния.
Иллюстрация
Использование
Этот инструмент геообработки доступен с версией ArcGIS Enterprise 10.8 или более новой.
Входным слоем должен быть слой точек с включенным временем, представляющих определенный момент времени.
Местоположения задержек определяются как последовательные наблюдения небольшого или полного отсутствия движения в течение определенного периода времени. В зависимости от области применения, это могут быть точки стоянки или выявления простоя.
В следующей таблице приведена терминология, используемая в инструменте Найти местоположения задержек:
Термин Описание Местоположение задержки
Объекты, представляющие период неподвижности трека в соответствии с заданными параметрами времени и расстояния. Это результат работы инструмента, представляющего объекты задержек в виде точек, выпуклых оболочек или усредненных центров.
Трек
Последовательность пространственных объектов, у которых включено время с мгновенным типом времени. Пространственные объекты определяются как последовательность при помощи идентификатора трека и упорядочены во времени. Например, у городской коммунальной службы может быть парк снегоуборочной техники, в котором записывается местоположение каждого трактора каждые 10 минут. ID транспортного средства может представлять собой отдельные треки.
Наблюдение
Точка в треке.
Геодезический
Линия, нарисованная на сфере. Геодезическая линия, нарисованная на глобусе, представляет собой кривизну геоида Земли.
Планарный
Расстояние по прямой линии, как измеренное на плоской поверхности (то есть на декартовой плоскости). Это также называется Евклидовым расстоянием.
Момент
Отдельный момент времени, заданный начальным временем и не имеющий конечного времени.
Интервал
Длительность, заданная начальным и конечным значениями времени.
Результатами будут точечные объекты, представляющие моменты времени, или площадные объекты, представляющие интервалы времени. Начало и конец интервала определяются временем первого и последнего объекта в задержке.
Все объекты, не имеющие временных атрибутов, будут исключены из анализа.
Местоположения задержки могут быть обнаружены только в треках с несколькими объектами.
Местоположения задержки определяются при помощи и значения времени (Допуск времени), и значения расстояния (Допуск расстояния). Во-первых, инструмент назначает объекты треку с помощью уникального идентификатора. Порядок трека определяется временем появления объектов. Затем вычисляется расстояние между первым и следующим наблюдением в треке. Пространственные объекты считаются частью задержки, если две последовательно расположенные во времени точки остаются в пределах заданного расстояния в течение, по крайней мере, заданного времени. При обнаружении двух объектов, являющихся частью задержки, первый объект в задержке используется в качестве исходной точки, и инструмент находит последовательные объекты, находящиеся в пределах указанного расстояния от исходной точки в задержке. Как только все объекты в пределах указанного расстояния найдены, инструмент собирает объекты задержки и вычисляет их усредненный центр. Объекты до и после текущей задержки добавляются к задержке, если они находятся в пределах заданного расстояния от местоположения усредненного центра задержки. Этот процесс продолжается до конца трека.
Вы можете указать одно или более полей для идентификации треков. Треки представлены с помощью уникальной комбинации одного или нескольких полей трека.
По умолчанию местоположения задержек создаются с использованием геодезического метода для расчета расстояний. Рекомендуется использовать геодезическое расстояние в следующих случаях:
- Треки пересекают международную линию перемены даты – При использовании геодезического метода входные слои, пересекающие международную линию перемены даты, будут иметь треки, надлежащим образом пересекающие эту линию. Это значение по умолчанию. Ваш входной слой или пространственная привязка обработки должны быть настроены на пространственную привязку, поддерживающую переход через международную линию перемены даты, например, глобальную проекционную привязку типа World Cylindrical Equal Area.
- Набор данных находится не в локальной проекции — Если входные данные находятся в локальной проекции, используйте метод плоскостного расстояния. Например, с помощью плоскостного метода можно исследовать местоположения задержек в пределах одного штата. Для входного слоя или обработки должна быть установлена пространственная привязка, локальная для вашего набора данных.
Выходные положения задержек могут быть представлены четырьмя способами. В следующей таблице приведен пример каждого из них:
Тип выходных данных Описание Пример Все объекты
Возвращается каждый объект. Итоговые объекты имеют мгновенный тип времени.
Объекты, относящиеся к задержке, отображаются синим цветом. Объекты, не относящиеся к задержке, отображаются серым цветом.
Для этого выходного типа вычисляется только статистика подсчета количества. Количество представляет число объектов, принадлежащих одной задержке. Объекты без задержек будут иметь количество 0.
Объекты задержки
Возвращаются только те объекты, которые являются частью задержки. Итоговые объекты имеют мгновенный тип времени.
Для этого выходного типа вычисляется только статистика подсчета количества. Количество представляет число объектов, принадлежащих одной задержке.
Усредненные центры
Каждая задержка имеет одну возвращенную точку, представляющую усредненный центр задержки по расстоянию и времени. Итоговые объекты имеют интервальный тип времени.
Количество объектов в задержке вычисляется всегда. При необходимости можно рассчитать статистику по этому типу объекта задержки. По умолчанию, статистика не вычисляется.
Выпуклые оболочки
Каждая задержка представляет собой выпуклую оболочку объектов задержки. Итоговые объекты имеют интервальный тип времени.
Количество объектов в задержке вычисляется всегда. При необходимости можно рассчитать статистику по этому типу объекта задержки. По умолчанию, статистика не вычисляется.
Помимо полей входного слоя и указанного типа суммарной статистики, во все выходные объекты включаются следующие поля:
Имя поля Описание count
Число пространственных объектов в задержке
dwellid
Уникальный идентификатор задержки, к которому принадлежит объект
meanx
Среднее значение координат x, которые составляют задержку
meany
Среднее значение координат y, которые составляют задержку
meandistance
Среднее расстояние между последовательными точками в местоположении задержки
instant_datetime
Время создания отдельного объекта, когда выходной тип - объекты задержки, усредненный центр или все объекты
start_datetime
Время начала, созданное, когда выходной тип - выпуклая оболочка
end_datetime
Время окончания, созданное, когда выходной тип - выпуклая оболочка
Если выходной тип - Все объекты, для результатов, относящихся к задержке, приведенные выше поля будут вычислены. Результаты, которые не относятся к задержке, вернут значение 0 для поля count, поле instant_datetime вернет значение времени входного объекта, а все остальные поля вернут значение null.
Если вычисляется выпуклая оболочка, а местоположение задержки является полностью неподвижным (одно уникальное местоположение) или состоит из двух уникальных точек, небольшое значение, основанное на допуске пространственной привязки, используемой в анализе, будет использоваться в качестве ширины, высоты или диаметра для создания выходных полигонов вместо выпуклых оболочек. Эти полигоны используются для визуализации и не отражают пространственный экстент задержки. Примеры таких ситуаций описаны в следующей таблице:
Ситуация Описание Пример Совпадение (одна пространственно-уникальная точка)
Если входные объекты располагаются друг на друге (совпадают), итоговая выпуклая оболочка будет недопустимым полигоном.
В этом примере совпадающие входные объекты отображены красной точкой в центре желтого полигона. Желтый полигон представляет итоговую выходную выпуклую оболочку для совпадающих точек. Синий полигон показывает, как выглядит истинная выпуклая оболочка, когда в одном местоположении размещения находятся четыре несовпадающие точки.
Коллинеарность (две пространственно-уникальные точки)
Если входные объекты расположены вдоль линии (чаще всего с двумя пространственно-уникальными точками), то итоговая выпуклая оболочка будет недопустимым полигоном.
В этом примере коллинеарные точки показаны красными точками внутри желтого полигона. Желтый полигон представляет итоговую выпуклую оболочку для коллинеарных точек.
Разбивать треки можно следующими способами:
- Разбиение по времени - основано на времени между входными данными. Применение времени разбиения приводит к разделению любого трека, если входные данные выходят за указанное время. Например, если у вас есть пять объектов с одним и тем же идентификатором трека и временами [01:00, 02:00, 03:30, 06:00, 06:30], и вы установите время разбиения равным 2 часам, любые объекты длительностью более двух часов друг от друга будут разделены. В данном примере, результатом будет трек с [01:00, 02:00, 03:30] и трек с [06:00, 06:30], поскольку разница между 03:30 и 6:00 больше, чем два часа.
- Разделение по временной границе - основано на заданных интервалах. Применение временного интервала разделяет треки на заданные интервалы. Например, если вы выбрали в границу в 1 день, начиная с 9:00 1 января , 1990 каждый трек будет обрезан в 9:00 утра AM каждого дня. Такое разбиение позволяет ускорить обработку, так как небольшие треки для анализа создаются быстрее. Если разбиение на повторяющиеся интервалы может влиять на результаты анализа и рекомендуется для обработки больших данных.
- Разбиение по расстоянию - основано на расстоянии между входными данными. Применение расстояния разбиения приводит к разделению любого трека, если входные данные выходят за указанное расстояние. Например, если вы установили разбивку по расстоянию, равному 5 километрам, каждая последовательность пространственных объектов, превышающая 5 километров, будет выделена в отдельный трек.
- Выражение разбиения - основывается на выражении Arcade. Применение выражения разбиения позволяет разбить треки на основе значений, геометрии или времени. Например, вы можете разбивать треки в случаях, когда значение поля более чем вдвое превышает предыдущее значение трека. Для этого, используя пример поля WindSpeed, вы можете использовать следующее выражение:var speed = TrackFieldWindow("WindSpeed", -1, 1); 2* speed[0] < speed[1]. Треки будут разбиваться, если предыдущее значение (speed[0]) составляет меньше половины текущего.
Можно применить одновременно одну, две, три или четыре опции разбиения. Во всех приведенных ниже примерах используется разбиение промежутков. Результаты, полученные при применении разбиения по времени через 6 часов, временной границы в 1 день и по расстоянию в 16 километров, будут следующими:
Опция разбиения Описание Шесть входных точек со временем и местоположением
Входные точки с одинаковым идентификатором. Расстояние между точками показано над пунктирной линией, а время измерения каждой точки подписывается под точками. Есть четыре разделения на временной линии. Красными разделителями показана временная граница в 1 день с 12:00. Синий разделитель соответствует разделению по расстоянию расстояние между двумя точками превышает 16 км. Фиолетовый разделитель отображает разбиение по времени, если временное расстояние между двумя последовательными точками превышает 6 часов.
Пример без разбиения по времени или расстоянию
Пример с разбиением по времени через шесть часов. Все пространственные объекты, отстоящие дальше чем на два часа, разбиваются в отдельные треки.
Пример с границей по времени в 1 день, начиная с полуночи. Через каждый однодневный интервал, начиная с указанного времени (в данном случае - с 12:00), создается трек.
Пример с разбиением по расстоянию через 16 километров. Все пространственные объекты, отстоящие дальше чем на 16 километров (объекты в моменты 5:00 и 6:00), разбиваются на отдельные треки.
Пример с разбиением по времени через 6 часов и границей по времени в 1 день в 12:00. Все объекты, отстоящие дальше, чем на 6 часов, либо пересекающие временной отрезок в 12:00, разбиваются на отдельные треки.
Пример с разбиением по времени через 6 часов и по расстоянию через 16 км. Все пространственные объекты, отстоящие дальше чем на 6 часов (6:00 и 7:00) или на 16 км, разбиваются на отдельные треки.
Пример с разбиением по расстоянию через 16 км и границей по времени в 1 день в 12:00 Все объекты, отстоящие дальше, чем на 16 км, либо пересекающие временной отрезок в 12:00, разбиваются на отдельные треки.
Пример с разбиением по расстоянию через 16 км, разбиением по времени через 6 часов и границей по времени в 1 день в 12:00 Все объекты, отстоящие дальше, чем на 16 км, либо дальше, чем на 6 часов или пересекающие временной отрезок в 12:00, разбиваются на отдельные треки.
При выборе параметров для расчета местоположений задержек учитывайте тип наблюдения и масштаб задержки, которую хотите найти. Ниже приведены примеры того, как можно изменить параметры для поиска задержек в данных о перемещениях объектов:
- Объекты кораблей имеют поля vesselID и tripID.
- Используйте поля vesselID и tripID в качестве идентификаторов, чтобы рассчитать местоположения задержек на отдельных маршрутах.
- Используйте допуск по времени в 1 час и допуск по расстоянию в 1 морскую милю, чтобы определить, где суда остаются в пределах 1 морской мили в течение не менее 1 часа.
- У трекеров животных есть поля animalID.
- Используйте поле animalID в качестве идентификатора для сравнения местоположений задержек конкретных животных.
- Чтобы определить ареал животного, используйте допуск времени 3 дня и допуск расстояния 10 миль, которые помогут обнаружить места обитания наблюдаемых животных.
- Для меньшей области интереса используйте допуск времени 2 часа и допуск расстояния 100 метров.
- Объекты кораблей имеют поля vesselID и tripID.
Вы можете повысить производительность инструмента Найти местоположение задержки, выполнив одно или несколько из следующих действий:
- Установите параметр среды Экстент так, чтобы вы анализировали только интересующие вас данные.
- Выходные результаты в виде Объектов задержки или Усредненного центра.
- Максимально возможно разделите треки, добавив входные данные Поле трека.
- Используйте плоскостной метод для расчета расстояния вместо геодезического.
- Разбивайте треки, используя параметры Разбиение по времени, Разделение по временной границе и Разбиение по расстоянию. Использование параметра Разделение по временной границе обеспечивает наилучшую производительность.
- Используйте локальные данные там, где запускается анализ.
Этот инструмент геообработки работает на 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.FindDwellLocations(input_features, output_name, track_fields, distance_method, distance_tolerance, time_tolerance, output_type, {summary_statistics}, {data_store}, {time_boundary_split}, {time_boundary_reference})
Parameter | Объяснение | Тип данных |
input_features | Точка треков, начиная с которой можно искать задержки. Входными данными должен быть слой с включенным временем, объекты которого представляют определенные моменты времени. | Feature Set |
output_name | Имя выходного сервиса пространственных объектов. | String |
track_fields [track_fields,...] | Одно или несколько полей, используемых для идентификации уникальных треков. | Field |
distance_method | Определяет, как будут рассчитываться расстояния между объектами задержки.
| String |
distance_tolerance | Максимальное расстояние между точками, относящимися к одному местоположению задержки. | Linear Unit |
time_tolerance | Минимальная продолжительность времени, которая будет считаться одним местоположением задержки. При поиске задержек учитываются как время, так и расстояние. Параметр Допуск расстояния задает расстояние. | Time Unit |
output_type | Определяет, как будут возвращаться данные объектов задержек.
| String |
summary_statistics [summary_statistics,...] (Дополнительный) | Статистика, которая будет рассчитываться по определенным полям.
| Value Table |
data_store (Дополнительный) | Задает ArcGIS Data Store, где будут сохраняться выходные данные. По умолчанию – SPATIOTEMPORAL_DATA_STORE. Все результаты, находящиеся в хранилище пространственно-временных больших данных, будут храниться в системе WGS84. Результаты в реляционном хранилище данных сохраняют свои систему координат.
| String |
time_boundary_split (Дополнительный) | Временной промежуток, на который делятся входные данные для анализа. Временные границы позволяют анализировать значения в пределах заданного отрезка времени. Например, если вы выбрали границу в 1 день, и задали дату начала 1 января 1980, треки будут разделяться в начале каждого дня. | Time Unit |
time_boundary_reference (Дополнительный) | Базовое время, используемое для деления входных данных для анализа. Временные границы будут созданы для всего диапазона времени, а время начала отсчета не обязательно должно быть в самом начале. Если базовое время не задано, используется 1 января 1970. | Date |
Производные выходные данные
Name | Объяснение | Тип данных |
output | Выходная точка или полигон местоположения задержки. | Набор записей |
Пример кода
В следующем скрипте окна Python показано, как используется инструмент FindDwellLocations.
# Name: FindDwellLocations.py
# Description: Find the mean centers representing locations where ships have
# stayed within 15 miles across 4 hours of travel
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://sampleserver6.arcgisonline.com/arcgis/rest/services/Hurricanes/MapServer/0"
outputName = "AtlanticShips_DwellLocations"
trackIdentifier = "SHIPID"
distance = "15 Miles"
timeDuration = "4 Hours"
outputType = "MEAN_CENTERS"
statistics = [["SPEED", "MEAN"]]
# Execute Find Dwell Locations
arcpy.geoanalytics.FindDwellLocations(inFeatures, outFeatures, trackIdentifier,
"GEODESIC", distance, timeDuration,
outputType, statistics,
"RELATIONAL_DATA_STORE")
Environments
- Выходная система координат
Система координат, используемая при анализе. Если данный параметр не указан, анализ будет выполнен во входной системе координат. Для Инструменты GeoAnalytics готовые результаты будут храниться в пространственно-временном хранилище данных в системе координат WGS84.
Информация о лицензиях
- Basic: Требуется ArcGIS GeoAnalytics Server
- Standard: Требуется ArcGIS GeoAnalytics Server
- Advanced: Требуется ArcGIS GeoAnalytics Server