注:
目前,此功能仅在 Map Viewer 经典版(之前称为 Map Viewer)中受支持。 该功能将在新 Map Viewer 的未来版本中提供。
计算动态统计数据工具可针对表示一个或多个移动实体且已启用时间的点计算动态统计数据和描述符。 启用时间的点数据必须包含表示时刻的要素。
工作流示意图
使用 GeoAnalytics Tools 进行的分析
通过跨多个 ArcGIS GeoAnalytics Server 计算机和核心组件的分布式处理来运行使用 GeoAnalytics Tools 进行的分析。GeoAnalytics Tools 和 ArcGIS Enterprise 中标准要素分析工具的参数和功能不同。要了解有关这些差别的详细信息,请参阅要素分析工具差别。
术语
术语 | 描述 |
---|---|
测地线 | 在球体上绘制的线。 在地球上绘制的测地线表示地球大地水准面的曲率。 |
平面 | 在平面上(即笛卡尔平面)上测量的直线距离。 这也被称为欧氏距离。 |
即时 | 由开始时间表示的单个时间点且无结束时间。 |
细分 | 轨迹段是轨迹中两个连续观测点之间的路径。 |
轨迹 | 已启用时间且时间类型为时刻的要素序列。 要素由轨迹标识符字段确定处于序列中,并按时间进行排序。 例如,某个城市拥有一支扫雪车队,每 10 分钟记录一次车辆的位置。 车辆 ID 可以表示不同的轨迹。 |
示例
城市正在监控扫雪车作业,并希望更好地了解车辆的运行情况。 借助计算动态统计数据工具,可以确定空闲位置和空闲时间、随时间变化的平均速度和最大速度、总行驶距离以及其他统计数据。
用法说明
计算动态统计数据工具将启用时间的点图层作为输入,并使用动态统计数据和测量值来丰富点。 计算基于输入要素时间和几何值。
计算动态统计数据的结果为输入点的副本,其中每个计算的统计数据对应一个新字段。
可以指定一个或多个字段用于标识轨迹。轨迹由一个或多个轨迹字段的唯一组合表示。例如,如果将字段 flightID 和 Destination 用作轨迹标识符,则要素 ID007、Solden 和 ID007、Tokoyo 将分别处于两个独立的轨迹,原因是其 Destination 字段值不同。
将使用由选择要在计算中使用的点数参数定义的当前观测点和若干先前观测点来计算以 Min-、Max-、Avg- 或 Tot- 开头的统计数据。 将始终仅使用当前观测点和先前观测点来计算其他统计数据,而不考虑指定的点数。 可以将此参数视为从当前观测点开始向后移动时间所涉及的观测点数。 例如,如果选择 5 作为点数并请求速度统计数据组,则将使用当前观测点和前 4 个观测点来计算每个观测点的 MinSpeed、MaxSpeed 和 AvgSpeed 值,而仅使用当前观测点和先前观测点来计算每个点处的 Speed 值。 点数必须大于1,默认值为 3。
如果轨迹历史记录中的观测点数小于点数,则将使用轨迹历史记录中的所有观测点来计算以 Min-、Max-、Avg- 或 Tot- 开头的统计数据。
默认情况下,将尽可能为每个输入点计算所有受支持的统计数据。 可选择使用选择一个或多个动态统计数据参数复选框以包括或排除统计数据组。
下表介绍了针对每个组计算的统计数据。 术语轨迹历史记录窗口是指由选择要在计算中使用的点数参数定义的所有观测点。
- 距离
统计数据 描述 距离
从先前观测点行驶到当前观测点的距离。
总距离
轨迹历史记录窗口中观测点之间的行驶距离总和。
最小距离
轨迹历史记录窗口中观测点之间的最小行驶距离。
最大距离
轨迹历史记录窗口中观测点之间的最大行驶距离。
平均距离
轨迹历史记录窗口中观测点之间的平均行驶距离。
- 速度
统计数据 描述 速度
从先前观测点行驶到当前观测点的速度。
最小速度
轨迹历史记录窗口中观测点之间的最小速度。
最大速度
轨迹历史记录窗口中观测点之间的最大速度。
平均速度
轨迹历史记录窗口中观测点之间的距离总和除以轨迹历史记录窗口中观测点之间的持续时间总和。
- 加速度
统计数据 描述 加速度
当前速度与先前速度之间的差值除以当前持续时间。
最小加速度
在轨迹历史记录窗口中计算的最小加速度。
最大加速度
在轨迹历史记录窗口中计算的最大加速度。
平均加速度
轨迹历史记录窗口中当前速度与前几个速度之间的差值除以轨迹历史记录窗口中观测点之间的持续时间总和。
- 持续时间
统计数据 描述 持续时间
自前一观测点起经历的时间。
总持续时间
轨迹历史记录窗口中持续时间的总和。
最短持续时间
轨迹历史记录窗口中的最短持续时间。
最长持续时间
轨迹历史记录窗口中的最长持续时间。
平均持续时间
轨迹历史记录窗口中持续时间的总和除以点数。
- Elevation
统计数据 描述 Elevation
观测点的当前高程。
高程变化
当前高程与先前高程之间的差值。
总高程变化
轨迹历史记录窗口中点之间的高程变化总和。 其必须为负值。
最小高程
轨迹历史记录窗口中的最小高程。
最大高程
轨迹历史记录窗口中的最大高程。
平均高程
轨迹历史记录窗口中高程的总和除以点数。
- 坡度
统计数据 描述 坡度
当前观测点和先前观测点之间的高程变化与距离之比。
最小坡度
轨迹历史记录窗口中的最小坡度。
最大坡度
轨迹历史记录窗口中的最大坡度。
平均坡度
轨迹历史记录窗口中坡度的总和除以点数。
- 空闲
统计数据 描述 空闲
如果当前观测点与先前观测点之间的距离小于空闲距离容差值,并且当前观测点与先前观测点之间的持续时间至少为空闲时间容差值,则为 True。 如果不满足这两个条件之一或全部条件,则为 False。
总空闲时间
轨迹历史记录窗口中符合空闲条件的持续时间总和。
空闲时间百分比
检测到处于空闲状态的时间的百分比。
- 方位角
统计数据 描述 方位角
从先前观测点到当前观测点的行驶角度。
将不会为每个轨迹中的第一个要素计算统计数据。 将不会为每个轨迹中的前两个要素计算加速度组中的统计数据。
结果值将采用距离单位、持续时间单位、速度单位、加速度单位和高程单位参数指定的单位。 默认值为米、秒、米/秒 (m/s) 和米/平方秒 (m/s²)。
有两种距离方法可供选择:平面和测地线。 默认设置为测地线。 平面方法使用欧氏平面测量距离,并且不会跨日期变更线计算统计数据。 当您使用测地线方法计算距离并且可以平移空间参考时,可适时跨日期变更线计算统计数据。
应用时间界限会以定义的间隔对轨迹进行分割。 例如,如果将时间界限设置为 1 天,开始于 1990 年 1 月 1 日上午 9:00,则各个轨迹都会在每天上午 9:00 被截断。 此分割是一种加快计算速度的快速方法,因为它可以快速创建较小的轨迹以进行分析。 如果您的分析更适合按重复的时间界限进行分割,则建议使用大数据处理。 可以使用时间间隔和用于对齐时间间隔的时间参数来指定可选的时间界限分割。
如果选中使用当前地图范围,则仅对当前地图范围中可见的要素进行分析。如果未选中,则将分析输入图层中的所有输入要素,包括超出当前地图范围的要素。
局限性
输入必须为具有已启用时间的类型时刻要素的点图层。 任何不具备时间或几何的要素都不会包含在输出图层中。
计算动态统计数据的工作原理
以下部分将介绍计算动态统计数据工具的功能。
等式和计算
下表汇总了上例的统计数据计算。 所有计算均在点 ID p5 处进行,并且使用轨迹历史记录窗口 4。 计算包括点 ID p2、p3、p4 和 p5。 如果观测点在 1 分钟内的移动距离小于 32 米,则该观测点视为空闲。
统计数据 | 公式 | 示例 |
---|---|---|
距离 | 35 m | |
总距离 | 80 + 30 + 35 = 145 m | |
速度 | 距离/持续时间 | 35 / 60 = 0.58 m/s |
平均速度 | 总距离/总持续时间 | 145 / 180 m/s |
加速度 | (0.58 – 0.5) / 60 = 0.001 m/s2 | |
平均加速度 | (速度 (最后一个) – 速度 (第一个)) / 总持续时间 | (0.58 – 1.33) / 60 = -0.01 m/s2 |
持续时间 | 60 s | |
总持续时间 | 60 + 60 + 60 = 180 s | |
Elevation | 5 m | |
高程变化 | 5 – 4 = 1 m | |
总高程变化 | 5 – 0 = 5 m | |
坡度 | 高程变化/距离 | 1 / 35 |
平均坡度 | 总高程变化/总距离 | 5 / 145 |
空闲 | False | |
总空闲时间 | 60 秒 | |
空闲时间百分比 | 1 / 3 | |
方位角 | 0 |
ArcGIS API for Python 示例
可通过 ArcGIS API for Python 获取计算动态统计数据工具。
本示例可以计算送货卡车的距离和空闲统计数据。
# Import the required ArcGIS API for Python modules
import arcgis
from arcgis.gis import GIS
# Connect to your ArcGIS Enterprise portal and confirm that GeoAnalytics is supported
portal = GIS("https://myportal.domain.com/portal", "gis_publisher", "my_password", verify_cert=False)
if not portal.geoanalytics.is_supported():
print("Quitting, GeoAnalytics is not supported")
exit(1)
# Search for and list the big data file shares in your portal
search_result = portal.content.search("", "Big Data File Share")
# Look through the search results for the big data file share of interest
bd_layer = next(x for x in search_result if x.title == "bigDataFileShares_TruckingGPSPoints")
# Run the Calculate Motion Statistics tool
result = arcgis.geoanalytics.data_enrichment.calculate_motion_statistics(input_layer = bd_layer,
track_fields = "truckID",
track_history_window = 4,
motion_statistics="Distance,Idle", dist_method="Geodesic",
idle_tol_dist="500",
idle_tol_unit="Meters",
idle_time_tol="30",
idle_time_tol_unit="Minutes",
time_boundary_split="1",
split_unit="Days",
time_bound_ref="655213515000",
distance_unit="Feet",
duration_unit="Seconds",
output_name = "CMS_results")
# Visualize the results if you are running Python in a Jupyter Notebook
processed_map = portal.map()
processed_map.add_layer(result)
processed_map
类似工具
借助计算动态统计数据,可针对表示移动实体且启用时间的点要素计算描述符,例如速度、加速度、方位角等。 其他工具或许在解决略有差异的类似问题时十分有用。
Map Viewer 经典版 分析工具
如果您尝试将多变量格网中的属性连接到点图层,请使用从多变量格网丰富工具。
ArcGIS Pro 分析工具
ArcGIS Pro 也提供计算动态统计数据工具。
要从 ArcGIS Pro 运行该工具,则工程的活动门户必须运行 ArcGIS Enterprise 10.9 或更高版本。 对于 10.9,您必须使用相应帐户登录到门户,该帐户应具有在门户中执行空间分析的权限。
计算动态统计数据可执行与 ArcGIS Pro 中的分类移动事件工具类似的功能。