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

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

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

Иллюстрация

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • Событие начала ускорения – точка, где скорость на треке начинает увеличиваться. Текущей точке предшествует точка равной скорости, за ней следует точка с более высокой скоростью.

    • Событие начала замедления – точка, где скорость на треке начинает уменьшаться. Текущей точке предшествует точка равной скорости, за ней следует точка с более низкой скоростью.

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

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

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

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

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

    • Остановка – Точка пути не движется. Скорость должна быть равна 0 миль в час или 0 км в час.

    • Рабочий ход – точка трека движется со скоростью, которая не попадает ни в одну из предыдущих категорий.

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

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

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

    Если отмечен параметр Создать идентификаторы событий поворота, выходная таблица атрибутов будет включать поле turn_event_id, содержащее уникальный идентификатор, созданный для каждого уникального события поворота. Если с поворотным событием связано несколько объектов, каждый объект будет иметь одно и то же значение turn_event_id.

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

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

  • Если для параметра Представление пространственных объектов поворотов установлено значение Поворот посередине, все элементы событий поворота, которые имеют одно и то же значение turn_event_id, будут агрегированы в усредненном центре объектов. Это редуктивный процесс, который удалит все связанные объекты и оставит единственный объект в вычисленном усредненном центре события поворота. Из-за деструктивного характера этого параметра его лучше всего использовать с включенным параметром Исключить неповоротные события.

Параметры

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

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

Feature Layer
Поле ID

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

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

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

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

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

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

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

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

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

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

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

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

Field
Создать идентификаторы событий поворота
(Дополнительный)

Указывает, будут ли создаваться идентификаторы событий поворота для выходного класса пространственных объектов.

  • Отмечено - будут созданы уникальные идентификаторы событий поворота.
  • Не отмечено - уникальные идентификаторы событий поворота создаваться не будут. Это значение по умолчанию

Boolean
Исключить неповоротные события
(Дополнительный)

Указывает, будут ли исключены объекты со значением Передвижение в поле turn_event.

  • Отмечено — объекты со значением Передвижение в поле turn_event будут исключены.
  • Не отмечено — объекты со значением Передвижение в поле turn_event не будут исключены; будут возвращены все объекты. Это значение по умолчанию

Boolean
Представление пространственных объектов поворотов
(Дополнительный)

Определяет, как будут представлены выходные события поворота.

  • Все объектыВсе точки, связанные с событием поворота, будут возвращены. Это значение по умолчанию
  • Середина поворотаБудет возвращен усредненный центр событий поворота.
String

arcpy.intelligence.ClassifyMovementEvents(in_features, id_field, out_featureclass, {curvature}, {number_of_points}, {regions_of_interest}, {roi_id_field}, {include_turn_ids}, {exclude_non_turn_events}, {turn_events_representation})
ИмяОписаниеТип данных
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
include_turn_ids
(Дополнительный)

Указывает, будут ли создаваться идентификаторы событий поворота для выходного класса пространственных объектов.

  • INCLUDE_TURN_IDSБудут созданы уникальные идентификаторы событий поворота.
  • NO_TURN_IDSУникальные идентификаторы событий поворота создаваться не будут. Это значение по умолчанию
Boolean
exclude_non_turn_events
(Дополнительный)

Указывает, следует ли фильтровать объекты со значением Передвижение в поле turn_event.

  • ONLY_TURN_EVENTSОбъекты со значением Передвижение в поле turn_event будут исключены.
  • ALL_FEATURESОбъекты со значением Передвижение в поле turn_event не будут исключены; будут возвращены все объекты. Это значение по умолчанию
Boolean
turn_events_representation
(Дополнительный)

Определяет, как будут представлены выходные события поворота.

String

Пример кода

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"

# Run tool
arcpy.intelligence.ClassifyMovementEvents(source_features,
                                          output_point_features,
                                          id_field,
                                          regions_of_interest,
                                          roi_name)