捕捉轨迹 (GeoAnalytics Desktop)

摘要

用于将输入轨迹点捕捉到线。 启用时间的点数据必须包含表示时刻的要素。 分析需要具有指示起始节点和终止节点的字段的可遍历线。

插图

“捕捉轨迹”工具图示
将显示已与线匹配的启用时间的轨迹点。

使用情况

  • 下表列出了捕捉轨迹工具中使用的术语:

    术语描述

    轨迹

    已启用时间且时间类型为时刻的要素序列。 系统将通过使用轨迹标识符字段及其时间顺序来确定要素处于序列中。 例如,某个城市拥有一支扫雪车队,每 30 秒记录一次车辆的位置。 车辆 ID 可以表示不同的轨迹。

    观测

    轨迹中的一个点。

    节点

    节点是线要素的端折点,用于指示线的方向。 线的起点是起始节点,线的终点是终止节点。

    方向

    线的方向。 方向指的是一条线在起始节点和终止节点之间行进的方式。

    连通性

    连通性描述了如何对线进行连接以表示可遍历的网络。 线将根据其起始节点和终止节点值进行连接。 点基于连通性无法到达的线将不被视为匹配。

    可遍历

    如果线由共同节点进行连接,则这些线为可遍历线。 例如,如果线 A 的起始节点与线 B 的终止节点相同,则这些线为可遍历线。

  • 该工具需要以下参数输入图层:

    • 输入点图层 - 输入点图层必须为启用时间的观测点,用于表示时刻。 没有有效时间戳的轨迹观测点将从分析中排除。
    • 输入线图层 - 输入线图层必须包含具有以下连通性信息的字段,并且必须在连通性字段匹配参数中进行指定:
      • Unique ID- 线的唯一标识符
      • From node- 沿线的行程将远离的节点
      • To node- 沿线的行程将移动到的节点

  • 注:

    不支持已授权的 StreetMap Premium 地理数据库要素图层作为 ArcGIS Pro 3.0 的输入。

  • 输入点图层参数值的空间参考必须与输入线图层参数值的空间参考相同。 如果数据集具有不同的空间参考,则请使用输出坐标系环境来指定要在分析中使用的空间参考,或在分析之前对数据集进行投影。

  • 可以指定一个或多个字段用于标识轨迹。 追踪由一个或多个追踪字段的唯一组合表示。 例如,如果将字段 flightIDDestination 用作轨迹标识符,则要素 ID007, SoldenID007, Tokyo 将分别处于两个独立的轨迹,原因是其 Destination 字段值不同。

  • 轨迹必须具有多个观测点才能在分析中使用。 只有一个观测点的轨迹将不匹配。

  • 进行点到线匹配时需考虑到以下事项:

    • 观测点需位于距某线的搜索距离内。 此为最低要求。 未满足搜索距离条件的观测点将不匹配。
    • 观测点可以根据线的连通性对线进行遍历。
    • 观测点将沿着线支持的方向行进。 这是一个可选条件,可在您为方向值匹配参数指定值的情况下提供。 符合此可选条件的结果将更加精确。

  • 使用搜索距离参数可指定观测点与线之间所允许存在的最大距离。 例如,如果您知道 GPS 点的精度大约为 100 米,则请将 100 米指定为搜索距离。

  • 距离法参数将指定搜索距离的计算方式。 一共有两种可用的距离法:

    • 测地线 - 如果空间参考可以连续平移穿过对向子午线,则轨迹将在适当的时候穿过对向子午线。 如果空间参考不可连续平移,则轨迹将被限制在坐标系的范围之内且不可环绕。 这是默认设置。
    • 平面 - 轨迹不会穿过对向子午线。 如果输入数据使用投影坐标系,请使用此选项。

  • 要在输出结果中包括其他线属性,请使用要包括的线字段参数指定字段名称。 这些字段不会被用于分析目的,且仅供您自己使用。 您无法将几何字段包括在输出结果中。

  • 使用方向值匹配参数可定义每个线要素的受支持方向。 例如,某线图层具有一个名为 direction 的字段,其值为 T(向后)、F(向前)、B(双向)和 ""(无)。 尽管方向匹配为可选项,但建议使用该选项以获得精确的结果。 如果未指定方向匹配,则应假定该线为双向线。

  • 该工具将返回捕捉到沿匹配线最近位置的点。 系统不会返回线要素。 线数据集的唯一标识符将可用于匹配结果。 唯一标识符字段将使用连通性字段匹配参数进行指定。 您可以通过引用此字段来识别匹配的线。

  • 可通过以下方式分割轨迹:

    • 时间分割 - 基于输入之间的时间。 当输入数据之间的间隔超过指定时间时,应用时间分割将中断任何轨迹。 例如,如果您拥有 5 个轨迹标识符相同的要素,时间分别为 [01:00, 02:00, 03:30, 06:00, 06:30],并将时间分割设置为 2 个小时,则任何经测量间隔超过 2 小时的要素都将被分割。 在本示例中,结果将为 [01:00, 02:00, 03:30] 和 [06:00, 06:30] 的轨迹,因为 03:30 与 6:00 之间的间隔大于 2 小时。
    • 时间界限分割 - 基于定义的时间间隔。 应用时间界限分割会以定义的间隔对轨迹进行分割。 例如,如果将时间界限设置为 1 天,开始于 1990 年 1 月 1 日上午 9:00,则各个轨迹都会在每天上午 9:00 被截断。 此分割将加快计算时间,因为它会创建较小的轨迹以进行分析。 如果您的分析更适合按重复的时间界限进行分割,则建议使用大数据处理。
    • 距离分割 - 基于输入之间的距离 当输入数据之间的间隔超过指定距离时,应用距离分割将中断任何轨迹。 例如,如果将距离分割设置为 5 千米,则间隔大于 5 千米的连续要素将成为其他轨迹的一部分。
    • 分割表达式 - 基于 Arcade 表达式。 应用分割表达式以基于值、几何或时间值分割轨迹。 例如,可在字段值为轨迹中先前值的两倍以上时分割轨迹。 要实现此目的,利用名为 WindSpeed 的示例字段,您可以使用以下表达式:var speed = TrackFieldWindow("WindSpeed", -1, 1); 2* speed[0] < speed[1]。 将在先前值 (speed[0]) 小于当前值的两倍时对轨迹进行分割。

  • 除了输入点图层参数值中的字段和使用要包括的线字段参数指定的任何线字段外,输出中还将包括以下字段:

    字段名描述

    MatchStatus

    用于指示观测点是否与线匹配。 值为对应匹配要素的 M 和对应不匹配要素的 U

    OrigX

    输入观测点的 x 坐标。 坐标将以输出空间参考的单位进行存储。

    OrigY

    输入观测点的 y 坐标。 坐标将以输出空间参考的单位进行存储。

    MatchX

    线上匹配结果的 x 坐标。 坐标将以输出空间参考的单位进行存储。

    MatchY

    线上匹配结果的 y 坐标。 坐标将以输出空间参考的单位进行存储。

    MatchDist

    观测点的原始位置与匹配位置之间的距离。 距离将根据指定的距离法(测地线或平面)进行计算。 值将以米为单位记录。

    DATE

    观测点的时间戳。

    如果所指定的输出模式参数值为所有要素,则系统将同时返回匹配点和不匹配点。 对于不匹配点,输出结果字段将附加对应数值字段的空值和对应字符串字段的空字符串。 将附加空值的字段为使用要包括的线字段参数指定的线字段、MatchX 字段、MatchY 字段和 MatchDist 字段。

  • 还可使用以下方法完成相似性分析:

    • 使用重新构建轨迹工具将启用时间的轨迹点重新构建为线。
    • 使用捕捉工具将点、多点、线或面捕捉到其他要素。 此工具会修改输入数据。

  • 此地理处理工具由 Spark 作为支持。 可在台式计算机上并行使用多个核来完成分析。 要了解有关运行分析的详细信息,请参阅 GeoAnalytics Desktop 工具的注意事项

  • 运行 GeoAnalytics Desktop 工具时,将在台式计算机上完成分析。 为获得最佳性能,应在桌面上提供数据。 如果使用的是托管要素图层,则建议您使用 ArcGIS GeoAnalytics Server。 如果您的数据不是本地数据,则运行工具需要更长时间。 要使用 ArcGIS GeoAnalytics Server 执行分析,请参阅 GeoAnalytics Tools

参数

标注说明数据类型
输入点图层

将与线匹配的点。 输入必须为启用时间的点图层,用于表示时刻;并且必须包含至少一个用于标识唯一轨迹的字段。

Feature Layer
输入线图层

点将匹配到的线。 输入必须包含其值用于指示线的起始节点和终止节点的字段。

Feature Layer
输出要素类

将包含匹配点的要素类。

Feature Class
轨迹字段

将用于标识唯一轨迹的一个或多个字段。

Field
搜索距离

点与任何被视为匹配的线之间所允许存在的最大距离。 建议您使用小于或等于 75 米的值。 距离较大将导致处理时间较长且结果不够精确。

Linear Unit
连通性字段匹配

将用于定义输入线要素的连通性的线图层字段。

  • Unique ID- 包含每个线要素的唯一 ID 值的线图层字段
  • From Node- 包含起始节点值的线图层字段
  • To Node- 包含终止节点值的线图层字段
Value Table
要包括的线字段
(可选)

输入线图层中将包括在输出结果中的一个或多个字段。

Field
距离法
(可选)

用于指定将用来计算点和线之间距离的方法。

  • 测地线系统将计算测地线距离。 这是默认设置。
  • 平面系统将计算平面距离。
String
方向值匹配
(可选)

将用于定义输入线要素的方向的线图层字段和属性值。 例如,某线图层具有一个名为 direction 的字段,其值为 T(向后)、F(向前)、B(双向)和 ""(无)。 如果未指定任何值,则应假定该线为双向线。

  • Direction Field- 线图层中用于描述行进方向的字段。
  • Forward Value- Direction Field 中用于指示所支持的行进方向为沿线前进的值。
  • Backward Value- Direction Field 中用于指示所支持的行进方向为沿线后退的值。
  • Both Value- Direction Field 中用于指示系统同时支持沿线前进和沿线后退的行进方向的值。
  • None Value- Direction Field 中用于指示沿线不存在受支持的行进方向的值。

Value Table
输出模式
(可选)

用于指定是返回所有输入要素还是仅返回与线要素匹配的输入要素。

  • 所有要素将返回所有输入点要素,不考虑其是否与线要素匹配。 这是默认设置。
  • 匹配要素系统仅会返回与线要素匹配的输入点要素。
String
时间分割
(可选)

时间差距大于按时间分割的持续时间的要素将被分割成单独的轨迹。

Time Unit
距离分割
(可选)

距离差距大于距离分割值的要素将被分割成单独的轨迹。

Linear Unit
时间界限分割
(可选)

用于分割输入数据以进行分析的时间跨度。 您可通过时间界限分析定义的时间跨度内的值。 例如,如果您使用 1 天的时间界限,并将时间界限参考设置为 1980 年 1 月 1 日,则轨迹将在每天开始时被分割。

Time Unit
时间界限参考
(可选)

用于分割输入数据以进行分析的参考时间。 将为整个数据跨度创建时间界限,且不需要在开始时产生参考时间。 如果未指定参考时间,则将使用 1970 年 1 月 1 日。

Date

arcpy.gapro.SnapTracks(input_points, input_lines, out_feature_class, track_fields, search_distance, connectivity_field_matching, {line_fields_to_include}, {distance_method}, {direction_value_matching}, {output_mode}, {time_split}, {distance_split}, {time_boundary_split}, {time_boundary_reference})
名称说明数据类型
input_points

将与线匹配的点。 输入必须为启用时间的点图层,用于表示时刻;并且必须包含至少一个用于标识唯一轨迹的字段。

Feature Layer
input_lines

点将匹配到的线。 输入必须包含其值用于指示线的起始节点和终止节点的字段。

Feature Layer
out_feature_class

将包含匹配点的要素类。

Feature Class
track_fields
[track_fields,...]

将用于标识唯一轨迹的一个或多个字段。

Field
search_distance

点与任何被视为匹配的线之间所允许存在的最大距离。 建议您使用小于或等于 75 米的值。 距离较大将导致处理时间较长且结果不够精确。

Linear Unit
connectivity_field_matching
[connectivity_field_matching,...]

将用于定义输入线要素的连通性的线图层字段。

  • Unique ID- 包含每个线要素的唯一 ID 值的线图层字段
  • From Node- 包含起始节点值的线图层字段
  • To Node- 包含终止节点值的线图层字段
Value Table
line_fields_to_include
[line_fields_to_include,...]
(可选)

输入线图层中将包括在输出结果中的一个或多个字段。

Field
distance_method
(可选)

用于指定将用来计算点和线之间距离的方法。

  • GEODESIC系统将计算测地线距离。
  • PLANAR系统将计算平面距离。
String
direction_value_matching
[direction_value_matching,...]
(可选)

将用于定义输入线要素的方向的线图层字段和属性值。 例如,某线图层具有一个名为 direction 的字段,其值为 T(向后)、F(向前)、B(双向)和 ""(无)。 如果未指定任何值,则应假定该线为双向线。

  • Direction Field- 线图层中用于描述行进方向的字段。
  • Forward Value- Direction Field 中用于指示所支持的行进方向为沿线前进的值。
  • Backward Value- Direction Field 中用于指示所支持的行进方向为沿线后退的值。
  • Both Value- Direction Field 中用于指示系统同时支持沿线前进和沿线后退的行进方向的值。
  • None Value- Direction Field 中用于指示沿线不存在受支持的行进方向的值。

Value Table
output_mode
(可选)

用于指定是返回所有输入要素还是仅返回与线要素匹配的输入要素。

  • ALL_FEATURES将返回所有输入点要素,不考虑其是否与线要素匹配。 这是默认设置。
  • MATCHED_FEATURES系统仅会返回与线要素匹配的输入点要素。
String
time_split
(可选)

时间差距大于按时间分割的持续时间的要素将被分割成单独的轨迹。

Time Unit
distance_split
(可选)

距离差距大于距离分割值的要素将被分割成单独的轨迹。

Linear Unit
time_boundary_split
(可选)

用于分割输入数据以进行分析的时间跨度。 您可通过时间界限分析定义的时间跨度内的值。 例如,如果您使用 1 天的时间界限,并将时间界限参考设置为 1980 年 1 月 1 日,则轨迹将在每天开始时被分割。

Time Unit
time_boundary_reference
(可选)

用于分割输入数据以进行分析的参考时间。 将为整个数据跨度创建时间界限,且不需要在开始时产生参考时间。 如果未指定参考时间,则将使用 1970 年 1 月 1 日。

Date

代码示例

SnapTracks 示例(独立脚本)

以下独立脚本演示了如何使用 SnapTracks 函数。

# Name: SnapTracks.py
# Description: Snap snowplow fleet tracks to roads to uncover areas that 
#              may need more resources for snow removal efforts

# Import system modules
import arcpy

# Enable time on the input features using an .lyrx file.
# To create the .lyrx file, add your layer to a map, open the layer properties 
# and enable time. Then right-click the layer and select Share As Layer File.
inputLyrx = r'C:\data\Snowplow.lyrx'

# MakeFeatureLayer converts the .lyrx to features
snowplowsLayer = arcpy.management.MakeFeatureLayer(inputLyrx, "Snowplows Layer")

# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.management.ApplySymbologyFromLayer(snowplowsLayer, inputLyrx)

# Set local variables
lineLayer = "c:/mydata/Roads.gdb/CityStreets"
trackIdentifier = "vehicle_id"
out = "c:/mydata/OutputDatasets.gdb/Snowplows_snapped_to_streets"
searchDistance = "10 Meters"
connectivityFieldMatching = "unique_ID from_node to_node"
directionValueMatching = "dir_travel F T B #"

# Run Snap Tracks
arcpy.gapro.SnapTracks(snowplowsLayer, lineLayer, out, trackIdentifier, 
                       searchDistance, connectivityFieldMatching, None,
																							"GEODESIC", directionValueMatching, "MATCHED_FEATURES")

许可信息

  • Basic: 否
  • Standard: 否
  • Advanced: 是

相关主题