Вычислить статистику движения (GeoAnalytics)

Сводка

Вычисляет статистику движения для точек в классе пространственных объектов с включенным временем.

Иллюстрация

Иллюстрация инструмента Вычислить статистику передвижения
Точки с включенным временем обогащаются данными передвижения.

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

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

  • Результатом работы инструмента Вычислить статистику передвижения является копия входных точек с новым полем для каждой вычисленной статистики.

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

    Для группы Простой будут рассчитаны следующие поля статистики:

    • IdlingTrue если расстояние между текущим наблюдением и предыдущим меньше, чем значение параметра Допуск расстояния неактивности, а продолжительность между текущим наблюдением и предыдущим больше, чем значение параметра Допуск времени неактивности. 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

    Idling

    False

    Общее время простоя

    60 с

    Процентное время простоя

    1 / 3

    Курс

    0

  • Если в истории трека меньше наблюдений, чем значение параметра Окно истории трека, статистика, начинающаяся с Min, Max, Avg или Tot, будет рассчитана с использованием всех наблюдений в истории трека.

  • Статистика не будет рассчитываться для первого объекта в каждом треке. Статистика в группе Ускорение не будет рассчитываться для первых двух объектов в каждом треке.

  • Результирующие значения будут в единицах, заданных параметрами Единицы измерения расстояний, Единица измерения времени, Единицы измерения скорости, Единицы измерения ускорения и Единицы измерения высоты.

  • При вычислении статистики по большим трекам можно использовать параметр Разбиение по временной границе для разделения больших треков на меньшие треки для повышения производительности.

  • Этот инструмент геообработки работает на 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.CalculateMotionStatistics(input_layer, output_name, 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}, {data_store})
ParameterОбъяснениеТип данных
input_layer

Точечные объекты со временем,для которых вычисляется статистика.

Feature Set
output_name

Имя итогового слоя.

String
track_fields
[track_fields,...]

Одно или более полей для идентификации отдельных записей.

Field
track_history_window
(Дополнительный)

Число наблюдений (включая текущее), которое будет использовано для суммарной статистики. По умолчанию 3, это означает, что суммарная статистика будет вычислена в каждой точке трека, используя текущее наблюдение и предыдущие два. Этот параметр не влияет на моментальную статистику и классификацию неактивности.

Long
motion_statistics
[motion_statistics,...]
(Дополнительный)

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

  • DISTANCEБудут вычислены расстояние между текущим и предыдущим наблюдением, а также максимальное, минимальное, среднее и общее расстояние в окне истории трека.
  • DURATIONБудут вычислены продолжительность между текущим и предыдущим наблюдением, а также максимальная, минимальная, средняя и общая продолжительность в окне истории трека.
  • SPEEDБудут вычислены скорость перемещения между текущим и предыдущим наблюдением, а также максимальная, минимальная и, средняя скорость в окне истории трека.
  • ACCELERATIONБудут вычислены ускорение между текущей скоростью и предыдущей скоростью, а также максимальное, минимальное и среднее ускорение в окне истории трека.
  • ELEVATIONБудут вычислены текущая высота, изменение высоты между текущим и предыдущим наблюдением, а также максимальное, минимальное, среднее и общее изменение высоты в окне истории трека.
  • SLOPEБудут вычислены уклон между текущим и предыдущим наблюдением, а также максимальный, минимальный и средний уклон в окне истории трека.
  • IDLEБудет вычислена неактивность элемента, а также процент времени неактивности в окне истории трека.
  • BEARINGБудет вычислен угол передвижения между текущим и предыдущим наблюдением.
String
distance_method
(Дополнительный)

Задает метод измерения расстояния, который будет использован при вычислении статистики передвижения.

  • GEODESICБудет использовано геодезическое расстояние. Это значение по умолчанию
  • PLANARБудет использовано планарное расстояние.
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. Этот параметр доступен только с ArcGIS Enterprise версии 10.6 и позже.

Date
distance_unit
(Дополнительный)

Задает единицы измерения значений расстояния в выходном классе объектов.

  • METERSЕдиницы измерения – метры. Это значение по умолчанию
  • KILOMETERSЕдиницы измерения – километры.
  • MILESЕдиницы измерения – мили.
  • NAUTICAL_MILESЕдиницы измерения – морские мили.
  • YARDSЕдиницы измерения – ярды.
  • FEETЕдиницы измерения – футы.
String
duration_unit
(Дополнительный)

Задает единицы измерения значений продолжительности в выходном классе объектов.

  • YEARSЕдиницы измерения – годы.
  • MONTHSЕдиницы измерения – месяцы.
  • WEEKSЕдиницы измерения – недели.
  • DAYSЕдиницы измерения – дни.
  • HOURSЕдиницы измерения – часы.
  • MINUTESЕдиницы измерения – минуты.
  • SECONDSЕдиницы измерения – секунды. Это значение по умолчанию
  • MILLISECONDSЕдиницы измерения – миллисекунды.
String
speed_unit

Задает единицы измерения значений скорости в выходном классе объектов.

  • METERS_PER_SECONDЕдиницы измерения – метры в секунду. Это значение по умолчанию
  • MILES_PER_HOURЕдиницы измерения – мили в час.
  • KILOMETERS_PER_HOURЕдиницы измерения – километры в час.
  • FEET_PER_SECONDЕдиницы измерения – футы в секунду.
  • NAUTICAL_MILES_PER_HOURЕдиницы измерения – морские мили в час.
String
acceleration_unit
(Дополнительный)

Задает единицы измерения значений ускорения в выходном классе объектов.

  • METERS_PER_SECOND_SQUAREDЕдиницы измерения – метры в секунду в квадрате. Это значение по умолчанию
  • FEET_PER_SECOND_SQUAREDЕдиницы измерения – футы в секунду в квадрате.
String
elevation_unit
(Дополнительный)

Задает единицы измерения значений высоты в выходном классе объектов.

  • METERSЕдиницы измерения – метры. Это значение по умолчанию
  • KILOMETERSЕдиницы измерения – километры.
  • MILESЕдиницы измерения – мили.
  • NAUTICAL_MILESЕдиницы измерения – морские мили.
  • YARDSЕдиницы измерения – ярды.
  • FEETЕдиницы измерения – футы.
String
data_store
(Дополнительный)

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

String

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

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

Выходной класс точечных объектов со статистикой передвижений.

Набор объектов

Пример кода

CalculateMotionStatistics пример (автономный скрипт)

Скрипт Python, демонстрирующий выполнение функции CalculateMotionStatistics.

# Name: CalculateMotionStatistics.py
# Description: Calculate speed, acceleration, and bearing for hurricane tracks.
# Requirements: ArcGIS GeoAnalytics Server
# Import system modules
import arcpy
# Set local variables
inFeatures = "https://mydomain.com/server/rest/services/DataStoreCatalogs/bigDataFileShares_Hurricanes/BigDataCatalogServer/all"
out = "Hurricanes_MotionStats"
trackField = "name"
# Execute Calculate Motion Statistics
arcpy.geoanalytics.CalculateMotionStatistics(inFeatures, out, trackField, 5, 
                                             ["SPEED", "ACCELERATION", "BEARING"], 
                                             "GEODESIC")

Environments

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

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

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

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

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