分类移动事件 (情报)

描述

识别输入点轨迹数据集中的转弯事件、加速事件和速度。

使用方法

  • 要执行该工具,输入要素参数值必须采用投影坐标系,并且必须启用时间。

    此工具将识别以下事件:

    • 左转或右转
    • 左侧或右侧 U 形转弯
    • 加速
    • 减速
    • 起始
    • 停止
    • 速度(以英里/小时为单位)
    • 速度(以千米/小时为单位)
    • 轨迹中当前点与先前点之间的距离差
    • 轨迹中当前点与先前点之间的时差
    • 当前点所在的感兴趣区域的名称(如果提供了感兴趣区域要素类

  • 转弯使用曲率点数参数进行计算。每个点评估为一系列三角形,这些三角形使用当前点以及在指定点数参数值处的当前点之前和之后的点计算得出。然后计算 Menger 曲线,以检测转弯。

  • 曲率点数参数的默认值已针对典型汽车轨迹进行优化,假设采样速率大约为一秒。对于行驶速度大于汽车的车辆或采样间隔不是每秒一次的数据,可能需要更改曲率点数参数。例如,对于使用每五秒采样一次的个人 GPS 设备的人员,可以降低点数值。表示每秒采样一次的飞机的数据可以将曲率参数值下调为 1.5 或更低,以考虑飞机转弯所需的大量时间和空间。

  • 速度通过将两点之间的距离除以行驶该距离所需的时间计算。当车辆的速度为零时,将识别为停靠点。起点根据点从停止位置加速的时间确定。

  • 输出要素类将包含以下字段:

    • track_id - 将点关联到轨迹的唯一标识符。该字段派生自 ID 字段参数。
    • time - 与点轨迹要素关联的时间。该字段派生自在图层属性中指定的时间字段。
    • POINT_X - 与当前要素关联的 x 坐标。
    • POINT_Y - 与当前要素关联的 y 坐标。
    • distance_diff - 轨迹中先前要素与当前要素之间的距离。距离采用输入坐标系的单位进行计算。
    • time_diff - 轨迹中先前要素与当前要素之间的秒数差。
    • speed - 采用每秒输入坐标系的线性单位的速度。
    • speed_MPH - 轨迹中先前要素到当前要素的速度(以英里/小时为单位)。
    • speed_KMPH - 轨迹中先前要素到当前要素的速度(以公里/小时为单位)。
    • acc_event - 加速事件。具体的加速事件如下:
      • 加速起点 - 轨迹开始加速的点。
      • 制动起点 - 轨迹开始减速的点。
      • 加速 - 点轨迹在先前点和当前点之间的速度不断提高。该事件必须在“加速起点”之后。
      • 制动 - 点轨迹在先前点和当前点之间的速度逐渐降低。该事件必须在“制动终点”之后。
      • 加速终点 - 加速事件停止的点。通常,该事件在“行驶中”或制动事件之前。
      • 制动终点 - 制动事件停止的点。通常,该事件在“已停止”或加速事件之前。
      • 已停止 - 点轨迹未移动。速度必须等于 0 mph 或 0 kph。
      • 行驶中 - 点轨迹的移动速度不属于上述任何类别。
    • turn_event - 转弯事件。具体的转弯事件包括左转、右转、左侧 U 形转弯、右侧 U 形转弯和行驶中。

    如果可选感兴趣区域参数值具有关联的要素类,将填充 roi_id 字段。该字段将包含点相交的感兴趣区域。

语法

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 字段分类为“行驶中”。

要确定事件是否满足转弯事件条件,需要基于三个点来计算 Menger 曲线。这三个点之间的距离在点数参数中进行指定。默认曲率参数值 2 适用于汽车和行人。对于飞机等高速车辆,可能需要使用较小的值或增加点数参数值。

Double
number_of_points
(可选)

计算 Menger 曲线时,位于给定点之前和之后的要评估点数。使用采样速率(亚秒)较高的数据时,可能需要增加点数参数值,以考虑在该短暂时间内可能发生的移动减少。假设每秒对输入数据采样一次,默认值 5 适用于汽车和行人。

Long
regions_of_interest
(可选)

感兴趣区域。此可选输入要素图层必须为面要素类。如果提供了此项,roi 字段将添加到输出要素类参数。

Feature Layer
roi_id_field
(可选)

来自感兴趣区域参数的字段,包含每个感兴趣区域的唯一标识符。

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: 是

相关主题