Подпись | Описание | Тип данных |
Входные объекты | Точечный векторный слой с поддержкой времени и полем, содержащим аннотацию пути, с которым связана каждая из точек. Геометрия, идентификатор объекта, имя пути (трека) и время будут перенесены на выходной класс объектов. Входные данные должны быть в системе координат проекции. | Feature Layer |
Поле ID | Поле Входных объектов для получения уникальных идентификаторов точек трека (пути). Это поле будет скопировано в выходной класс объектов. | Field |
Выходной класс пространственных объектов | Выходной класс пространственных объектов, который будет содержать вычисленные события движения. | Feature Class |
Кривизна (Дополнительный) | Минимальное значение, необходимое для того, чтобы событие было классифицировано как событие поворота. Если вычисленная кривизна превысит это значение, поле turn_event будет заполнено соответствующим событием поворота, а если вычисленные значения кривизны будут меньше этого значения, то поле turn_event будет классифицировано как Передвижение. Повороты вычисляются с помощью параметров Кривизна и Количество точек. Каждая точка оценивается на основе направления от предыдущей точки трека к текущей точке и от текущей точки к следующей точке. Если значение выходит за пределы, заданные параметром Кривизна, оно рассматривается как поворот. Иначе рассматривается как прямолинейное движение. Для треков, представляющих крупные объекты, рекомендуется увеличить значение параметра Число точек, чтобы учесть большее время, необходимое для выполнения поворота. | Double |
Число точек (Дополнительный) | Количество оцениваемых точек до и после заданной точки при расчете разницы направления. При использовании данных с высокой частотой отбора данных (субсекунда) вам может потребоваться увеличить значение параметра Количество точек, чтобы учесть «пониженное» движение, которое возможно за этот короткий промежуток времени. Значение 1 подходит для автомобилей и пешеходов, если предполагается отбор входных данных с частотой один раз в секунду. Большие значения необходимы для самолетов и кораблей; используйте для них значение 5. | Long |
Область интереса (Дополнительный) | Области интереса Этот входной векторный слой должен быть классом полигональных объектов. Если значение указано, поле roi будет добавлено к параметру Выходной класс объектов. | Feature Layer |
ID Поле областей интереса (Дополнительный) | Поле из параметра Области интереса, содержащее уникальные идентификаторы для каждой области интереса. | Field |
Создать идентификаторы событий поворота (Дополнительный) | Указывает, будут ли создаваться идентификаторы событий поворота для выходного класса пространственных объектов.
| Boolean |
Исключить неповоротные события (Дополнительный) | Указывает, будут ли исключены объекты со значением Передвижение в поле turn_event.
| Boolean |
Представление пространственных объектов поворотов (Дополнительный) | Определяет, как будут представлены выходные события поворота.
| String |
Краткая информация
Идентифицирует события поворота, ускорения и скорости из входного набора данных точек трека.
Иллюстрация
Использование
Для запуска инструмента значение параметра Входные объекты должно находиться в системе координат проекции и поддерживать функцию времени.
Инструмент будет распознавать следующие события:
- Правый или левый поворот
- Правый или левый разворот
- Ускорение
- Замедление
- Начало
- Остановка
- Скорость в милях в час
- Скорость в км в час
- Направление ОТ
- Направление ДО
Дополнительно, будет вычислена разница расстояний и разница во времени между текущей точкой и предыдущей точкой пути.
Дополнительно, будет обозначен регион расположения точки интереса.
Повороты аннотируются на основе направления движения. Повороты можно разделить на следующие категории:
- Правый поворот
- Левый поворот
- Правый разворот
- Левый разворот
- Остановлен
- Передвижение
Повороты вычисляются с помощью параметров Кривизна и Количество точек. Каждая точка оценивается на основе направления от предыдущей точки трека к текущей точке и от текущей точки к следующей точке. Если значение выходит за пределы, заданные параметром Кривизна, оно рассматривается как поворот; в противном случае оно считается путешествием. Для треков, представляющих крупные объекты, такие как самолеты или корабли, рекомендуется увеличить значение параметра Число точек, чтобы учесть большее время, необходимое для выполнения поворота.
Значения по умолчанию для параметров Кривизна и Количество точек оптимизированы для типичных автомобильных трасс, предполагая частоту отбора данных примерно раз в секунду. Для транспортных средств, которые движутся быстрее, чем автомобили, или данных, которые отбираются с интервалом не один раз в секунду, может потребоваться изменение значения параметров Кривизна или Количество точек. Например, для персонального 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, будут агрегированы в усредненном центре объектов. Это редуктивный процесс, который удалит все связанные объекты и оставит единственный объект в вычисленном усредненном центре события поворота. Из-за деструктивного характера этого параметра его лучше всего использовать с включенным параметром Исключить неповоротные события.
Параметры
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 (Дополнительный) | Указывает, будут ли создаваться идентификаторы событий поворота для выходного класса пространственных объектов.
| Boolean |
exclude_non_turn_events (Дополнительный) | Указывает, следует ли фильтровать объекты со значением Передвижение в поле turn_event.
| Boolean |
turn_events_representation (Дополнительный) | Определяет, как будут представлены выходные события поворота. | String |
Пример кода
В следующем автономном скрипте 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)