Классифицировать события движения (Разведка)

Краткая информация

Идентифицирует события поворота, ускорения и скорости из входного набора данных точек трека.

Иллюстрация

Иллюстрация инструмента Классифицировать события движения

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

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

    Инструмент будет распознавать следующие события:

    • Правый или левый поворот
    • Правый или левый разворот
    • Ускорение
    • Замедление
    • Начало
    • Остановка
    • Скорость в милях в час
    • Скорость в км в час
    • Направление ОТ
    • Направление ДО

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

    Дополнительно, регион расположения точки интереса.

  • Повороты аннотируются на основе направления движения. Повороты могут быть распределены по следующим категориям:

    • Правый поворот
    • Левый поворот
    • Правый разворот
    • Левый разворот
    • Остановлен
    • Передвижение

    Повороты вычисляются с помощью параметров Кривизна и Количество точек. Каждая точка оценивается на основе направления от предыдущей точки трека к текущей точке и от текущей точки к следующей точке. Если значение выходит за пределы заданного параметром Кривизна, оно рассмотривается как поворот. Иначе рассматривается как прямолинейное движение. Для треков, представляющих крупные объекты, такие как самолеты или корабли, рекомендуется увеличить значение параметра Число точек, чтобы учесть большее время, необходимое для выполнения поворота.

    Вычисление направления

    Направление вычисляется от предыдущей точки трека к текущей точке, и от текущей точки к следующей точке, разница используется для определения поворотов.

  • Значения по умолчанию для параметров Кривизна и Количество точек оптимизированы для типичных автомобильных трасс, предполагая частоту отбора данных примерно раз в секунду. Для транспортных средств, которые движутся быстрее, чем автомобили, или данных, которые отбираются с интервалом не один раз в секунду, может потребоваться изменение значения параметров Кривизна или Количество точек. Например, для персонального GPS-устройства, которое производит отбор данных каждые пять секунд, увеличьте значение параметра Количество точек. Для данных, поступающих с самолета, отбор которых производится один раз в секунду, можно уменьшить значение параметра Кривизна до 10 или ниже, чтобы учесть большее количество времени и пространства, которое требуется самолету для выполнения поворота.

    Различие радиусов поворота между крупными и мелкими объектами

    Небольшим объектам, таким как люди или машины, требуется меньшее расстояние для поворота, чем более крупным объектам, таким как самолеты и корабли.

  • Скорость вычисляется путем деления расстояния между точками на количество времени, необходимое для прохождения этого расстояния. Остановки определяются, когда транспортное средство имеет нулевую скорость. Начало движения определяется с момента, когда точки разгоняются из остановленного положения.

    Поле acc_event вычисляется с использованием разницы между текущей и предыдущей точками трека и текущей и следующей точками. К событиям ускорения относятся следующие:

    • Событие начала ускорения – точка, где скорость на треке начинает увеличиваться. Текущей точке предшествует точка равной скорости, за ней следует точка с более высокой скоростью.
    • Событие начала торможения – точка, где скорость на треке начинает уменьшаться. Текущей точке предшествует точка равной скорости, за ней следует точка с более низкой скоростью.
    • Ускорение – Точка, в которой путь имеет увеличивающуюся скорость между предыдущей точкой и текущей точкой. Это должно произойти после начала ускорения и до его завершения.
    • Торможение – точка, в которой путь имеет убывающую скорость между предыдущей точкой и текущей точкой. Это должно произойти после начала торможения и до его завершения.
    • Событие окончания ускорения – точка, в которой событие ускорения прекращается. Текущая точка имеет более высокую скорость, чем предыдущая, а следующая - такую же или более низкую скорость. Обычно за этим следует либо движение, либо событие торможения.
    • Событие окончания торможения – точка, в которой событие торможения прекращается. Текущая точка имеет более низкую скорость, чем предыдущая, а следующая - такую же или более высокую. Обычно за этим следует событие остановки или ускорения.
    • Остановка – Точка пути не движется. Скорость должна быть равна 0 миль в час или 0 км в час.
    • Рабочий ход – точка трека движется со скоростью, которая не попадает ни в одну из предыдущих категорий.

    Вычисления событий ускорения и торможения

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

  • Выходной класс объектов будет содержать следующие поля:

    • track_id– уникальный идентификатор, связывающий точку с треком. Это поле является производным от параметра Поле ID (ID Field).
    • time– время, связанное с объектом точки трека. Это поле является производным от поля времени, заданного в свойствах слоя.
    • POINT_X– координата x, связанная с текущим объектом.
    • POINT_Y– координата y, связанная с текущим объектом.
    • distance_diff– расстояние между предыдущим объектом на треке и текущим объектом. Это расстояние вычисляется в единицах системы координат входных данных.
    • time_diff– разница в секундах между предыдущим объектом на треке и текущим объектом.
    • speed– скорость в линейных единицах входной системы координат в секунду.
    • speed_MPH– скорость в милях в час на участке трека от предыдущего объекта трека до текущего объекта.
    • speed_KMPH– скорость в километрах в час на участке трека от предыдущего объекта трека до текущего объекта.
    • acc_event– события ускорения. К событиям ускорения относятся следующие:
      • Событие начала ускорения
      • Событие начала торможения
      • Ускорение
      • Торможение
      • Событие конца ускорения
      • Событие конца торможения
      • Остановлен
      • Передвижение
    • turn_event– событие поворота. Определенные события поворотов включают следующее:
      • Левый поворот
      • Правый поворот
      • Левый разворот
      • Правый разворот
      • Остановлен
      • Передвижение
    • from_bearing– направление от предыдущей точки трека к текущей точке.
    • to_bearing– направление от текущей точки трека к следующей точке.

    Если необязательное значение параметра Области интереса имеет связанный класс пространственных объектов, то поле roi_id будет заполнено. Это поле будет включать область интереса, которую пересекает эта точка.

  • Поля from_bearing и to_bearing в основном предназначены для понимания напрвленности движения и помогают применять символы для правильного отображения направления движения. Главное отличие этим полей состоит в том, что поле from_bearing содержит обратный угол от текущей до предыдущей точки трека.

Параметры

ПодписьОписаниеТип данных
Входные объекты

Точечный векторный слой с поддержкой времени и полем, содержащим аннотацию пути, с которым связана каждая из точек. Геометрия, идентификатор объекта, имя пути (трека) и время будут перенесены на выходной класс объектов. Входные данные должны быть в системе координат проекции.

Feature Layer
Поле ID

Поле Входных объектов для получения уникальных идентификаторов точек трека (пути). Это поле будет скопировано в выходной класс объектов.

Field
Выходной класс пространственных объектов

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

Feature Class
Кривизна
(Дополнительный)

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

Повороты вычисляются с помощью параметров Кривизна и Количество точек. Каждая точка оценивается на основе направления от предыдущей точки трека к текущей точке и от текущей точки к следующей точке. Если значение выходит за пределы заданного параметром Кривизна, оно рассмотривается как поворот. Иначе рассматривается как прямолинейное движение. Для треков, представляющих крупные объекты, рекомендуется увеличить значение параметра Число точек, чтобы учесть большее время, необходимое для выполнения поворота.

Double
Число точек
(Дополнительный)

Количество оцениваемых точек до и после заданной точки при расчете разницы направления. При использовании данных с высокой частотой отбора данных (субсекунда) вам может потребоваться увеличить значение параметра Количество точек, чтобы учесть «пониженное» движение, которое возможно за этот короткий промежуток времени. Значение 1 подходит для автомобилей и пешеходов, если предполагается отбор входных данных с частотой один раз в секунду. Большие значения необходимы для самолетов и кораблей, следует использовать предложенное по умолчанию значение 5.

Long
Область интереса
(Дополнительный)

Области интереса Этот входной векторный слой должен быть классом полигональных объектов. Если значение указано, поле roi будет добавлено к параметру Выходной класс объектов.

Feature Layer
ID Поле областей интереса
(Дополнительный)

Поле из параметра Области интереса, содержащее уникальные идентификаторы для каждой области интереса.

Field

arcpy.intelligence.ClassifyMovementEvents(in_features, id_field, out_featureclass, {curvature}, {number_of_points}, {regions_of_interest}, {roi_id_field})
ИмяОписаниеТип данных
in_features

Точечный векторный слой с поддержкой времени и полем, содержащим аннотацию пути, с которым связана каждая из точек. Геометрия, идентификатор объекта, имя пути (трека) и время будут перенесены на выходной класс объектов. Входные данные должны быть в системе координат проекции.

Feature Layer
id_field

Поле Входных объектов для получения уникальных идентификаторов точек трека (пути). Это поле будет скопировано в выходной класс объектов.

Field
out_featureclass

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

Feature Class
curvature
(Дополнительный)

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

Повороты вычисляются с помощью параметров curvature и number_of_points. Каждая точка оценивается на основе направления от предыдущей точки трека к текущей точке и от текущей точки к следующей точке. Если значение выходит за пределы заданного параметром curvature, оно рассмотривается как поворот. Иначе рассматривается как прямолинейное движение. Для треков, представляющих крупные объекты, рекомендуется увеличить значение параметра number_of_points, чтобы учесть большее время, необходимое для выполнения поворота.

Double
number_of_points
(Дополнительный)

Количество оцениваемых точек до и после заданной точки при расчете разницы направления. При использовании данных с высокой частотой отбора (несколько раз в секунду) вам может потребоваться увеличить значение параметра number_of_points, чтобы учесть «пониженное» движение, которое возможно за этот короткий промежуток времени. Значение 1 подходит для автомобилей и пешеходов, если предполагается отбор входных данных с частотой один раз в секунду. Большие значения необходимы для самолетов и кораблей, следует использовать предложенное по умолчанию значение 5.

Long
regions_of_interest
(Дополнительный)

Области интереса Этот входной векторный слой должен быть классом полигональных объектов. Если значение указано, поле roi будет добавлено к параметру out_featureclass.

Feature Layer
roi_id_field
(Дополнительный)

Поле из параметра regions_of_interest, содержащее уникальные идентификаторы для каждой области интереса.

Field

Пример кода

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

В следующем автономном скрипте Python показано использование функции ClassifyMovementEvents.

# Name: ClassifyMovementEvents.py
# Description: Identify movement events in a point track dataset. 

# Import system modules 
import arcpy 

arcpy.env.workspace = "C:/data/Tracks.gdb"

# Set local variables 
source_features = "Known_Tracks"
output_movement_events = "MovementEvents"
id_field = "device_id"
regions_of_interest = "Named_Areas_Of_Interest"
roi_name = "counties"

# Execute tool
arcpy.ClassifyMovementEvents_intelligence(source_features,
                                          output_point_features,
                                          id_field,
                                          regions_of_interest,
                                          roi_name)

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

  • Basic: Нет
  • Standard: Нет
  • Advanced: Да

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