实时和大数据分析中的可用。
计算动态统计数据工具 根据追踪 ID 和开始时间选项指定的关键字段来计算观测的动态统计数据和测量值。 计算包括距离、时间跨度、高度、速度、加速度、航向、坡度和空闲(根据开始时间的时间值和基于点的事件的几何)。
示例
一座城市正在监控扫雪车作业,城市官员希望更好地了解车辆的运行情况。 计算动态统计数据工具可用于确定空闲位置和空闲时间、平均速度和最大速度、观测点之间的平均行程距离以及其他统计数据。
用法说明
使用计算动态统计数据工具时,请谨记以下信息:
- 计算动态统计数据工具提供了状态存储深度参数,该参数用于指定用于计算动态统计数据的每条轨迹的观测点数量选项的值。 该值用于指定在状态存储中缓存的每条轨迹的观测点数量。 当轨迹的新观测点数到达指定值时,将删除同一轨迹的较早观测点。 工具使用状态存储中的这些观测点于计算动态统计数据。
- 例如,如果状态存储深度设置为运动统计数据根据每条轨迹最后 5 个观测点进行计算选项,则将使用当前观测点和前四个观测点计算统计数据(如最小加速度、最大速度及每个观测点的平均行程距离)。
- 每条轨迹需要至少三个观测点才能计算加速度值,因此该参数必须设置为大于或等于 3 的正整数。
- 并非所有的动态统计数据都需要使用状态存储中的所有观测点进行计算。 例如,“静止”统计数据仅使用当前观测点和上一个观测点进行计算。
- 工具会输出所有输入观测点数据。 因此,对于每条轨迹的首个观测点,由于其在状态存储中没有前面的观测点,因此动态统计数据将显示为空值。 在轨迹中的观测点达到状态存储深度值前,将使用状态存储中的可用观测点计算动态统计数据。 观测点达到状态存储深度值后,即会基于指定的观测点数量计算动态统计数据。
- 在实时分析中,计算动态统计数据工具提供了一个参数,用于确定轨迹观测点的最长保留时间选项。 超过开始时间选项指定的关键字段所设定的时间后,状态存储中的观测点将被删除。
- 例如,若设定为一小时,则所有开始时间值超过当前时间一小时之外的观测点都将从状态存储中删除。
- 如果此参数导致状态存储中的观测点被删除,且每条轨迹中剩余的观测点少于两个,则无法为当前观测点计算统计数据。 每条轨迹至少需要三个观测点才能计算加速度统计数据。
- 该工具具有两个参数,用于确定观测点是否处于空闲状态。 在用户界面中,这些参数显示为如果观测点的移动量小于或等于 <空闲距离容差(距离单位)> 且距离上一观测点的观测时间超过 <空闲时间容差(时间单位)>,则视为空闲。
- 如果当前观测点与上一观测点的距离小于或等于空闲距离容差参数值,且两个观测点的时间间隔大于空闲时间容差参数值,则空闲状态设为 True。 如果不满足上述任一条件或两个条件,则空闲状态设为 False。
- 例如,如果将空闲距离容差设为 50 米,空闲时间容差设为 5 秒,则当前观测点与上一观测点的距离为 45 米且两次观测点的开始时间间隔为 6 秒时,该观测点将被视为处于空闲状态。 若当前观测点与上一观测点的时间间隔为 5 秒,则不视为处于空闲状态,因为仅满足空闲距离容差的条件。
- 输出动态统计数据的计量单位取决于空闲距离容差和空闲时间容差参数值的计量单位。 例如,如果将空闲距离容差设置为750米,空闲时间容差设置为 10 分钟,则输出距离字段单位为米,输出时间跨度字段单位为分钟,输出速度字段单位为米每分钟。
- 方法参数可定义距离和其他空间的计算方式。 具体包括如下选项:
- 平面 - 将生成欧氏计算。 欧氏距离在二维笛卡尔平面中进行测量,该平面用来计算平坦表面(即笛卡尔平面)上两点之间的直线距离。 欧氏距离是更常见的距离计算类型,特别适合于分析投影坐标系中要素周围的距离,这些要素集中于相对较小的区域,例如一个 UTM 带。 欧氏距离也称为平面距离。
- 测地线 - 将生成测地线计算。 测地线距离表示地球的实际形状(即椭圆体,更准确地说是大地水准面)。 并会计算曲面(大地水准面)上而不是平坦表面(笛卡尔平面)上两点间的距离。 在下列情况下,请考虑使用测地线计算:
- 输入要素处于分散状态(覆盖多个 UTM 带、大面积区域或整个地球)。
- 输入要素的空间参考(或地图投影)为保留其他属性(如面积)使距离发生变形。
- 在实时分析中,该工具将以全状态方式运行,从而使其能够将连续观测点相互比较以计算运动统计数据,例如,当前位置、速度、高度以及其他统计数据与上一观测点的差异。
- 在实时分析中,计算动态统计数据工具将为每个追踪 ID 保留当前观测点的状态存储。 状态存储深度参数用于确定每条轨迹的状态存储大小。 当接收到新的观测点时,将会对其与相同追踪 ID(如果存在)的当前观测点进行比较,以计算动态属性。 如果新观测点的时间戳比状态存储中当前观测点的时间戳更新,则将替换当前观测点。 如果新观测点的时间戳与相同追踪 ID 的当前观测点的时间戳相同,则该工具无法区分这两个观测点。 这意味着该工具不会将状态存储中的当前观测点替换为新观测点,也不会将新观测点添加至状态存储,并且将对此追踪 ID 的未来观测点与保留在状态存储中的当前观测点进行比较,直到具有较晚时间戳的新观测点到达为止。 当出现这种情况时,该工具将记录警告。
- 在大数据分析中,可以在指定一个或多个字段来标识轨迹(为轨迹 ID 选项指定的字段除外)。 追踪由一个或多个追踪字段的唯一组合表示。
参数
以下是计算动态统计数据工具的参数:
参数 | 描述 | 数据类型 |
---|---|---|
输入图层 | 用于计算动态统计数据的点观测数据。 该数据集必须包含为轨迹 ID 和开始时间选项定义的关键字段。 | 要素 |
空闲时间跨度容差 | 用于确定空闲状态的空闲时间跨度容差值。 如果当前观测点与上一观测点的距离小于或等于空闲距离容差参数值,且两个观测点的时间间隔大于空闲时间容差参数值,则空闲状态设为 True。 如果不满足上述任一条件或两个条件,则空闲状态设为 False。 | 字符串 |
空闲距离容差 | 用于确定空闲状态的空闲距离容差值。 如果当前观测点与上一观测点的距离小于或等于空闲距离容差参数值,且两个观测点的时间间隔大于空闲时间容差参数值,则空闲状态设为 True。 如果不满足上述任一条件或两个条件,则空闲状态设为 False。 | 字符串 |
状态存储深度 | 每条轨迹在状态存储中缓存的观测点数量,包括当前观测点。 动态统计数据基于状态存储中的观测点进行计算。 例如,如果将状态存储深度设置为 3,则每次处理一个观测点时,动态统计数据(如平均速度)的计算将基于当前观测点和前两个观测点的速度值。 然而,并非所有动态统计数据都会使用状态存储中的所有观测点,例如,“空闲状态”仅使用当前观测点和前一个观测点的数据。 注:对于每条轨迹的首个观测点,由于其在状态存储中没有前面的观测点,因此动态统计数据将显示为空值。 在轨迹中的观测点达到状态存储深度值前,将使用状态存储中的所有可用观测点计算动态统计数据。 观测点达到状态存储深度值后,即会基于指定的观测点数量计算动态统计数据。 例如,如果将状态存储深度值设为 3,则每条轨迹的第一个观测点的动态统计数据为空(根据轨迹 ID 选项中指定的关键字段)。 第二个观测点的动态统计数据将基于当前观测点和前一个观测点计算。 从第三个观测点起,动态统计数据将使用所有可用的观测点数据(每条轨迹三个观测点)。 | 整型 |
方法 | 指定距离计算方法将为测地线还是平面(欧氏)。 注:如果选择平面,则必须投影输入点。 在计算距离之前,可以使用投影工具来投影输入要素。 | 字符串 允许值:平面 | 测地线 |
最大保留时间 (仅限实时分析) | 超过开始时间选项指定的关键字段所设定的时间后,状态存储中的观测点将被删除。 例如,若设定为一小时,则所有开始时间超过当前时间一小时之外的观测点都将从状态存储中删除。 警告:如果此参数导致状态存储中的观测点被删除,且每条轨迹中剩余的观测点少于两个,则无法为当前观测点计算统计数据。 每条轨迹至少需要三个观测点才能计算加速度统计数据。 | 字符串 |
追踪 ID 字段 (仅限大数据分析) | 用于唯一标识将要处理的要素的字段。 如果指定了轨迹 ID 字段,则轨迹 ID 值会自动应用于输入图层值。 | 字段 |
输出图层
输出图层将包含附加到每个要素原始属性的以下所述属性。 请注意,某些统计数据仅使用前一个和当前的观测点计算,而其他统计数据则使用状态存储中的所有观测点。
注:
输出动态统计数据的计量单位取决于空闲距离容差和空闲时间容差参数值的计量单位。 例如,如果将空闲距离容差设置为750米,空闲时间容差设置为 10 分钟,则输出距离字段单位为米,输出时间跨度字段单位为分钟,输出速度字段单位为米每分钟。
字段名 | 描述 | 计算方式 | 字段类型 |
---|---|---|---|
Distance | 从前一个观测点开始行驶的距离。 | 当前和前一个观测点 | Float64 |
TotalDistance | 从状态存储中最早的观测点到当前观测点的总行驶距离。 | 状态存储中的所有观测点 | Float64 |
MinDistance | 观测点之间的最小行驶距离。 | 状态存储中的所有观测点 | Float64 |
MaxDistance | 观测点之间的最大行驶距离。 | 状态存储中的所有观测点 | Float64 |
AvgDistance | 观测点之间的平均行驶距离。 | 状态存储中的所有观测点 | Float64 |
Speed | 自前一个观测点起的当前速度。 | 当前和前一个观测点 | Float64 |
CumSpeed | 累积速度。 | 状态存储中的所有观测点 | Float64 |
MinSpeed | 最小速度。 | 状态存储中的所有观测点 | Float64 |
MaxSpeed | 最大速度。 | 状态存储中的所有观测点 | Float64 |
AvgSpeed | 平均速度。 | 状态存储中的所有观测点 | Float64 |
TimeSpan | 自前一个观测点起经历的时间。 | 当前和前一个观测点 | Float64 |
TotalTimeSpan | 从状态存储中最早的观测点到当前观测点所经过的总时间。 | 状态存储中的所有观测点 | Float64 |
MinTimeSpan | 观测点之间经过的最短时间。 | 状态存储中的所有观测点 | Float64 |
MaxTimeSpan | 观测点之间经过的最长时间。 | 状态存储中的所有观测点 | Float64 |
AvgTimeSpan | 观测点之间的平均时间跨度。 | 状态存储中的所有观测点 | Float64 |
CurrentHeight | 观测点的当前高度。 | 当前观测点 | Float64 |
ChangeHeight | 与前一个观测点相比的高度变化。 | 当前和前一个观测点 | Float64 |
TotalChangeHeight | 从状态存储中最早的观测点到当前观测点的高度总变化。 注:其必须为负值。 | 状态存储中的所有观测点 | Float64 |
MinHeight | 观测到的最小高度。 | 状态存储中的所有观测点 | Float64 |
MaxHeight | 观测到的最大高度。 | 状态存储中的所有观测点 | Float64 |
AvgHeight | 观测到的平均高度。 | 状态存储中的所有观测点 | Float64 |
Slope | 自前一个观测点起的当前行驶坡度。 | 当前和前一个观测点 | |
MinSlope | 最小坡度。 | 状态存储中的所有观测点 | Float64 |
MaxSlope | 最大坡度。 | 状态存储中的所有观测点 | Float64 |
AvgSlope | 平均坡度。 注:平均坡度是基于从状态存储中最早观测点开始的坡度计算的。 如果状态存储深度值为 3,则平均坡度为从观测点 1 到观测点 2 的坡度以及从观测点 2 到观测点 3 的坡度的平均值。 | 状态存储中的所有观测点 | Float64 |
Acceleration | 自前一个观测点起的加速度。 | 仅使用当前和前一个观测点,并且需要前一个观测点已计算速度。 | Float64 |
TotalAcceleration | 从状态存储中最早的观测点到当前观测点的总加速度。 | 状态存储中的所有观测点 | Float64 |
MinAcceleration | 最小加速度。 | 状态存储中的所有观测点 | Float64 |
MaxAcceleration | 最大加速度。 | 状态存储中的所有观测点 | Float64 |
AvgAcceleration | 平均加速度。 注:平均加速度是基于从状态存储中最早观测点开始的加速度计算的。 如果状态存储深度值为 3,则平均加速度为从观测点 1 到观测点 2 的加速度以及从观测点 2 到观测点 3 的加速度的平均值。 | 状态存储中的所有观测点 | Float64 |
Idling | 根据当前观测点和前一个观测点之间的距离以及时间跨度,指定轨迹是否处于空闲状态。 | 当前和前一个观测点 | 布尔 |
TotalIdleTime | 自状态存储中最早观测点以来累计检测到的空闲时间总量。 | 状态存储中的所有观测点 | Float64 |
PercentageIdleTime | 自状态存储中最早观测点以来检测到的空闲时间占总时间的百分比。 | 状态存储中的所有观测点 | Float64 |
Heading | 大地方位角。 此为旅行方向的角度(大地方位角,指从北方顺时针测量的角度)。 | 当前和前一个观测点 | Float64 |