Подпись | Описание | Тип данных |
Входной слой | Точечные объекты со временем,для которых вычисляется статистика. | Feature Layer |
Выходной класс пространственных объектов |
Выходной класс пространственных объектов или слой, содержащий точки с новыми полями для каждой вычисляемой статистики передвижения. | Feature Class |
Поля трека |
Одно или несколько полей, используемых для идентификации отдельных записей. | Field |
Окно истории отслеживания (Дополнительный) |
Число наблюдений (включая текущее), которое будет использовано для суммарной статистики. По умолчанию 3, это означает, что суммарная статистика будет вычислена в каждой точке трека, используя текущее наблюдение и предыдущие два. Этот параметр не влияет на моментальную статистику и классификацию неактивности. | Long |
Вычислить статистику движения (Дополнительный) | Задает группу, содержащую вычисляемую статистику, которая будет записана в результат. Если значение не задано, будет вычислена вся статистика всех групп.
| String |
Метод расстояний (Дополнительный) | Задает метод измерения расстояния, который будет использован при вычислении статистики передвижения.
| String |
Допуск расстояния холостого хода (Дополнительный) | Максимальное расстояние, на которое должны отстоять две последовательные точки в треке, чтобы считаться неактивными. Параметр используется вместе с параметром Допуск времени простоя для определения простоя элемента. Параметр Допуск расстояния простоя требуется, если для параметра Статистика движения указано Простой или если будет рассчитываться статистика во всех группах. | Linear Unit |
Допуск времени простоя (Дополнительный) | Минимальная продолжительность, в течении которого две последовательные точки в треке должны находиться рядом, чтобы считаться неактивными. Параметр используется вместе с параметром Допуск расстояния простоя для определения простоя элемента. Параметр Допуск времени простоя требуется, если для параметра Статистика движения указана группа статистики Простой или если будет рассчитываться статистика во всех группах. | Time Unit |
Установка временного шага (Дополнительный) | Временной промежуток, на который делятся входные данные для анализа. Временные границы позволяют анализировать значения в пределах заданного отрезка времени. Например, если вы используете временные границы в 1 день, начиная с 1 января , 1980, треки будут разбиты в начале каждого дня. Этот параметр доступен только с ArcGIS Enterprise версии 10.6 и позже. | Time Unit |
Реперная точка временных шагов (Дополнительный) | Базовое время, используемое для деления входных данных для анализа. Временные границы будут созданы для всего диапазона времени, а время начала отсчета не обязательно должно быть в самом начале. Если базовое время не задано, используется 1 января 1970. | Date |
Единицы измерения расстояния (Дополнительный) | Задает единицы измерения значений расстояния в выходном классе объектов.
| String |
Единицы измерения продолжительности (Дополнительный) | Задает единицы измерения, в которых будет выражаться продолжительность в выходном классе объектов.
| String |
Единицы измерения скорости (Дополнительный) | Задает единицы измерения, в которых будет выражаться скорость в выходном классе объектов.
| String |
Единицы измерения ускорения (Дополнительный) | Задает единицы измерения, в которых будет выражаться ускорение в выходном классе объектов.
| String |
Единицы измерения высот (Дополнительный) | Задает единицы измерения, в которых будет выражаться высота в выходном классе объектов.
| String |
Краткая информация
Вычисляет статистику движения для точек в классе пространственных объектов с включенным временем.
Иллюстрация
Использование
Результатом работы инструмента Вычислить статистику передвижения является копия входных точек с новым полем для каждой вычисленной статистики.
Вы можете указать одно или более полей для идентификации уникальных записей, также называемых треками. Треки представлены с помощью уникальной комбинации одного или нескольких полей трека. Например, если поля flightID и Destination используются в качестве идентификаторов трека, объекты ID007, Solden, ID007 и Tokoyo попадут в два отдельных трека, поскольку содержат разные значения в поле Destination.
По умолчанию все поддерживаемые статистические данные будут рассчитываться для каждой входной точки, если это возможно. Кроме того, вы можете выбрать одну или несколько групп статистических данных для расчета с помощью параметра Статистика передвижений.
Для группы Расстояния будут рассчитаны следующие поля статистики:
- Distance- Расстояние, пройденное от предыдущего наблюдения к текущему.
- TotDistance- Сумма расстояний, пройденных между наблюдениями в окне истории треков.
- MinDistance- Минимальное расстояние, пройденное между наблюдениями в окне истории треков.
- MaxDistance- Максимальное расстояние, пройденное между наблюдениями в окне истории треков.
- AvgDistance- Среднее значение расстояния, пройденного между наблюдениями в окне истории треков.
Для группы Скорость будут рассчитаны следующие поля статистики:
- Speed- Скорость перемещения от предыдущего наблюдения к текущему.
- MinSpeed- Минимальная скорость между наблюдениями в окне истории треков.
- MaxSpeed- Максимальная скорость между наблюдениями в окне истории треков.
- AvgSpeed- Сумма расстояний между наблюдениями в окне истории треков, деленная на сумму продолжительностей между наблюдениями в окне истории треков.
Для группы Ускорение будут рассчитаны следующие поля статистики:
- Acceleration- Разница между текущей скоростью и предыдущей скоростью делится на текущую продолжительность.
- MinAcceleration- Минимальное ускорение, рассчитанное в окне истории треков.-
- MaxAcceleration- Максимальное ускорение, рассчитанное в окне истории треков.
- AvgAcceleration- Разница между текущей и первой скоростями в окне истории треков делится на сумму продолжительностей между наблюдениями в окне истории треков.
Для группы Продолжительность будут рассчитаны следующие поля статистики:
- Duration- Время, прошедшее с момента предыдущего наблюдения.
- TotDuration- Сумма продолжительностей в окне истории треков.
- MinDuration- Минимальная продолжительность в окне истории треков.
- MaxDuration- Максимальная продолжительность в окне истории треков.
- AvgDuration- Сумма продолжительностей в окне истории трека, деленная на количество длительностей, вычисленных в окне истории трека.
Для группы Высота будут рассчитаны следующие поля статистики:
- Elevation- Текущая высота наблюдения.
- ElevChange- Разница между текущей высотой и предыдущей высотой.
- TotElevChange- Сумма изменений высоты между точками в окне истории треков. Значение может быть отрицательным.
- MinElevation- Минимальная высота в окне истории треков.
- MaxElevation- Максимальная высота в окне истории треков.
- AvgElevation- Сумма высот в окне истории трека, деленная на количество наблюдений в окне истории трека.
Для группы Уклон будут рассчитаны следующие поля статистики:
- Slope- Отношение изменения высоты к расстоянию между текущим и предыдущим наблюдениями.
- MinSlope- Минимальный уклон в окне истории треков.
- MaxSlope- Максимальный уклон в окне истории треков.
- AvgSlope- Сумма уклонов в окне истории трека, деленная на количество уклонов, вычисленных в окне истории трека.
Для группы Простой будут рассчитаны следующие поля статистики:
- Idling- True, если расстояние между текущим наблюдением и предыдущим меньше, чем значение параметра Допуск расстояния неактивности, а продолжительность между текущим наблюдением и предыдущим больше, чем значение параметра Допуск времени неактивности. False, если одно или оба из этих условий не выполняются.
- TotIdleTime- Сумма длительностей в окне истории треков, удовлетворяющих критериям простоя.
- PctIdleTime- Процентное время обнаруженного простоя.
Для группы Направление будет рассчитано следующее поле статистики:
- Bearing- Угол перемещения от предыдущего наблюдения к текущему наблюдению.
Статистика, начинающаяся с Min, Max, Avg или It, будет рассчитываться с использованием текущего наблюдения и ряда предыдущих наблюдений, определенных параметром Окно истории трека. Другие статистические данные всегда рассчитываются с использованием только текущего и предыдущего наблюдения и не учитывают значения Окна истории треков. Например, если вы зададите значение Окна истории треков равным 5 и запросите группу статистики Скорость, то текущее наблюдение и предыдущие 4 наблюдения будут использоваться для вычисления полей MinSpeed, MaxSpeed и AvgSpeed для каждого наблюдения, в то время как поле Speed будет вычисляться только с использованием текущего и предыдущего наблюдений в каждой точке. Значение параметра Окно истории трека должно быть больше 1. Значение по умолчанию равно 3.
На приведенной ниже диаграмме показан трек с шестью точечными объектами. Статистика рассчитывается на основе высоты каждого объекта, расстояния и времени.
В следующей таблице приведены статистические расчеты для приведенной выше диаграммы. Все вычисления оцениваются в точке 5, а окно истории трека равно 3. Наблюдение считается неактивным, если оно переместилось менее чем на 32 метра за 1 минуту.
Статистика Формула Пример Расстояние
35 м
Общее расстояние
80 + 30 + 35 = 145 м
Скорость
Расстояние / Продолжительность
35 / 60 = 0.58 м/с
Средняя скорость
Общее расстояние / Общая продолжительность
145 / 180 м/с
Ускорение
(0.58 – 0.5) / 60 = 0.001 м/с2
Среднее ускорение
(Скорость (последняя) – Скорость (первая)) / (Общая продолжительность)
(0.58 – 1.33) / 60 = -0.01 м/с2
Продолжительность
60 с
Общая продолжительность
60 + 60 + 60 = 180 с
Высоты
5 м
Изменение высоты
5 – 4 = 1 м
Общее изменение высоты
5 – 0 = 5 м
Уклон
Изменение высоты / Расстояние
1 / 35
Средний уклон
Общее изменение высоты / Общее расстояние
5 / 145
Неактивность
False
Общее время простоя
60 с
Процентное время простоя
1 / 3
Направление
0
Если в истории трека меньше наблюдений, чем значение параметра Окно истории трека, статистика, начинающаяся с Min, Max, Avg или Tot, будет рассчитана с использованием всех наблюдений в истории трека.
Статистика не будет рассчитываться для первого объекта в каждом треке. Статистика в группе Ускорение не будет рассчитываться для первых двух объектов в каждом треке.
Результирующие значения будут в единицах, заданных параметрами Единицы измерения расстояний, Единица измерения времени, Единицы измерения скорости, Единицы измерения ускорения и Единицы измерения высоты.
При вычислении статистики по большим трекам можно использовать параметр Разбиение по временной границе для разделения больших треков на меньшие треки для повышения производительности.
Этот инструмент геообработки работает от Spark. Анализ выполняется на настольном компьютере с использованием нескольких ядер параллельно. См. Информация по инструментами GeoAnalytics Desktop, чтобы узнать больше о выполнении анализа.
При запуске инструментов GeoAnalytics Desktop анализ выполняется на настольном компьютере. Для оптимальной производительности данные должны быть доступны на настольном компьютере. Если используется размещенный векторный слой, рекомендуется применить ArcGIS GeoAnalytics Server. Если данные находятся не на жестком диске, для запуска инструмента потребуется больше времени. Чтобы использовать ArcGIS GeoAnalytics Server для выполнения анализа, см. GeoAnalytics Tools.
Вы можете повысить производительность работы инструмента Вычислить статистику передвижения, выполнив одно или несколько следующих действий:
- Установите параметр среды Экстент так, чтобы вы анализировали только интересующие вас данные.
- Уменьшите значений параметра Окно истории трека.
- Используйте параметр Разбиение по временной границе для разбиения больших треков на определенные интервалы времени.
- Используйте локальные данные там, где запускается анализ.
Параметры
arcpy.geoanalytics.CalculateMotionStatistics(input_layer, out_feature_class, track_fields, {track_history_window}, {motion_statistics}, {distance_method}, {idle_dist_tolerance}, {idle_time_tolerance}, {time_boundary_split}, {time_boundary_reference}, {distance_unit}, {duration_unit}, {speed_unit}, {acceleration_unit}, {elevation_unit})
Имя | Описание | Тип данных |
input_layer | Точечные объекты со временем,для которых вычисляется статистика. | Feature Layer |
out_feature_class |
Выходной класс пространственных объектов или слой, содержащий точки с новыми полями для каждой вычисляемой статистики передвижения. | Feature Class |
track_fields [track_fields,...] |
Одно или несколько полей, используемых для идентификации отдельных записей. | Field |
track_history_window (Дополнительный) |
Число наблюдений (включая текущее), которое будет использовано для суммарной статистики. По умолчанию 3, это означает, что суммарная статистика будет вычислена в каждой точке трека, используя текущее наблюдение и предыдущие два. Этот параметр не влияет на моментальную статистику и классификацию неактивности. | Long |
motion_statistics [motion_statistics,...] (Дополнительный) | Задает группу, содержащую вычисляемую статистику, которая будет записана в результат. Если значение не задано, будет вычислена вся статистика всех групп.
| String |
distance_method (Дополнительный) | Задает метод измерения расстояния, который будет использован при вычислении статистики передвижения.
| String |
idle_dist_tolerance (Дополнительный) | Максимальное расстояние, на которое должны отстоять две последовательные точки в треке, чтобы считаться неактивными. Этот параметр используется вместе с параметром idle_time_tolerance для определения простоя элемента. Параметр idle_dist_tolerance требуется, если для параметра motion_statistics указана группа статистики IDLE или если будет рассчитываться статистика во всех группах. | Linear Unit |
idle_time_tolerance (Дополнительный) | Минимальная продолжительность, в течении которого две последовательные точки в треке должны находиться рядом, чтобы считаться неактивными. Этот параметр используется вместе с параметром idle_dist_tolerance для определения простоя элемента. Параметр idle_time_tolerance требуется, если для параметра motion_statistics указана группа статистики IDLE или если будет рассчитываться статистика во всех группах. | Time Unit |
time_boundary_split (Дополнительный) | Временной промежуток, на который делятся входные данные для анализа. Временные границы позволяют анализировать значения в пределах заданного отрезка времени. Например, если вы используете временные границы в 1 день, начиная с 1 января , 1980, треки будут разбиты в начале каждого дня. Этот параметр доступен только с ArcGIS Enterprise версии 10.6 и позже. | Time Unit |
time_boundary_reference (Дополнительный) | Базовое время, используемое для деления входных данных для анализа. Временные границы будут созданы для всего диапазона времени, а время начала отсчета не обязательно должно быть в самом начале. Если базовое время не задано, используется 1 января 1970. | Date |
distance_unit (Дополнительный) | Задает единицы измерения значений расстояния в выходном классе объектов.
| String |
duration_unit (Дополнительный) | Задает единицы измерения, в которых будет выражаться продолжительность в выходном классе объектов.
| String |
speed_unit (Дополнительный) | Задает единицы измерения, в которых будет выражаться скорость в выходном классе объектов.
| String |
acceleration_unit (Дополнительный) | Задает единицы измерения, в которых будет выражаться ускорение в выходном классе объектов.
| String |
elevation_unit (Дополнительный) | Задает единицы измерения, в которых будет выражаться высота в выходном классе объектов.
| String |
Пример кода
В следующем автономном скрипте показано использование функции CalculateMotionStatistics.
# Name: CalculateMotionStatistics.py
# Description: Calculate speed, acceleration, and bearing for hurricane tracks.
# Import system modules
import arcpy
arcpy.env.workspace = "C:/data/Weather.gdb"
# Enable time on the input features using an .lyrx file.
# To create the .lyrx file, add your layer to a map, open the layer properties
# and enable time. Then right-click the layer and select Share As Layer File.
inputLyrx = r'C:\data\Hurricanes.lyrx'
# MakeFeatureLayer converts the .lyrx to features
hurricanesInputLayer = arcpy.management.MakeFeatureLayer(inputLyrx, "Hurricanes_layer")
# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.management.ApplySymbologyFromLayer(hurricanesInputLayer, inputLyrx)
# Set local variables
trackField = "name"
out = "Hurricanes_MotionStats"
# Run Calculate Motion Statistics
arcpy.gapro.CalculateMotionStatistics(hurricanesInputLayer, out, trackField, 5,
["SPEED", "ACCELERATION", "BEARING"],
"GEODESIC")