捕捉轨迹 (GeoAnalytics Desktop)

摘要

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

插图

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

使用情况

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

    术语描述

    轨迹

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

    观测

    轨迹中的一个点。

    节点

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

    方向

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

    连通性

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

    可遍历

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

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

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

  • 注:

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

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

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

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

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

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

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

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

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

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

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

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

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

    字段名描述

    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 Set
输入线图层

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

Feature Set
输出要素类

将包含匹配点的要素类。

Feature Class
轨迹字段

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

Field
搜索距离

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

Linear Unit
连通性字段匹配

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

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

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

Field
距离法
(可选)

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

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

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

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

Value Table
输出模式
(可选)

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

  • 所有要素系统将返回所有输入点要素,无论它们是否与线要素匹配。 这是默认设置。
  • 匹配要素系统仅会返回与线要素匹配的输入点要素。
String

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})
名称说明数据类型
input_points

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

Feature Set
input_lines

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

Feature Set
out_feature_class

将包含匹配点的要素类。

Feature Class
track_fields
[track_fields,...]

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

Field
search_distance

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

Linear Unit
connectivity_field_matching
[connectivity_field_matching,...]

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

  • 唯一 ID - 包含每个线要素的唯一 ID 值的线图层字段
  • 起始节点 - 包含起始节点值的线图层字段
  • 终止节点 - 包含终止节点值的线图层字段
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(双向)和 ""(无)。 如果未指定任何值,则应假定该线为双向线。

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

Value Table
output_mode
(可选)

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

  • ALL_FEATURES系统将返回所有输入点要素,无论它们是否与线要素匹配。 这是默认设置。
  • MATCHED_FEATURES系统仅会返回与线要素匹配的输入点要素。
String

代码示例

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 a .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.MakeFeatureLayer_management(inputLyrx, "Snowplows Layer")

# ApplySymbologyFromLayer sets the time using the .lyrx file definition
arcpy.ApplySymbologyFromLayer_management(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: 是

相关主题