追踪 (追踪网络)

描述

可根据指定起点的连通性或可遍历性返回追踪网络中的所选要素。

追踪网络的追踪功能用于分析网络中的路径。可遍历性指通过已连接同时满足配置要求的 要素建立的路径。

默认情况下,追踪结果将作为选择返回,并包含整个线要素。要返回部分要素结果,可将结果类型参数设置为聚合几何。当将起点或障碍放置在具有中跨连通性的交汇点上时,追踪结果将返回边要素的部分元素。当障碍沿边放置时,追踪结果可以在具有中跨连通性的最近交汇点处停止。然后,可以将追踪生成的结果选择集或输出要素类传播到另一个地图、传递到网络的逻辑示意图,或者将其用作另一个工具或追踪的输入。

了解有关追踪追踪网络的详细信息

使用方法

  • 必须启用网络拓扑。

  • 在使用企业级地理数据库时,输入追踪网络必须来自要素服务;不支持来自数据库连接的追踪网络。

  • 由于追踪工具依赖于网络拓扑,如果追踪范围内存在脏区,则无法保证追踪结果准确。待追踪区域的网络拓扑必须经过验证,才能反映对网络进行的最近编辑或更新。

  • 对于条件障碍、函数障碍、函数和输出条件,当使用分配给日期字段的网络属性时,日期值应采用格式 yyyy-mm-dd hh:mm:ss,例如,2020-10-12 18:45:31

语法

arcpy.tn.Trace(in_trace_network, trace_type, starting_points, {barriers}, {path_direction}, {shortest_path_network_attribute_name}, {include_barriers}, {validate_consistency}, {ignore_barriers_at_starting_points}, {allow_indeterminate_flow}, {condition_barriers}, {function_barriers}, {traversability_scope}, {functions}, {output_conditions}, {result_types}, selection_type, {clear_all_previous_trace_results}, {trace_name}, {aggregated_points}, {aggregated_lines}, {out_network_layer}, {use_trace_config}, {trace_config_name})
参数说明数据类型
in_trace_network

将运行追踪的追踪网络。在使用企业级地理数据库时,输入追踪网络必须来自要素服务;不支持来自数据库连接的追踪网络。

Trace Network; Trace Network Layer
trace_type

指定要执行的追踪的类型。

  • CONNECTED将使用从一个或多个起点开始并沿着已连接要素向外跨越的已连接追踪。
  • UPSTREAM将使用能够发现网络中某位置上游的要素的上溯追踪。这种类型的追踪需要设置流向。
  • DOWNSTREAM将使用能够发现网络中某位置下游的要素的下溯追踪。这种类型的追踪需要设置流向。
  • SHORTEST_PATH将使用可查找网络中两个起点之间的最短路径(无论流向为何)的最短路径追踪。遍历路径的成本取决于为 shortest_path_network_attribute_name 参数设置的网络属性。
String
starting_points

使用追踪位置窗格中的起点工具创建的要素图层,或包含一个或多个表示追踪起点的记录的表或要素类。默认情况下使用 TN_Temp_Starting_Points 要素类,并且当使用追踪位置窗格中的起点工具创建起点时,会在工程的默认地理数据库中生成该要素类。

Feature Layer; Table View
barriers
(可选)

包含一个或多个要素,表示防止追踪遍历超出此点的追踪障碍的表或要素类。默认情况下使用 TN_Temp_Barriers 要素类,并且当使用追踪位置窗格中的障碍工具创建障碍时,会在工程的默认地理数据库中生成该要素类。

Feature Layer; Table View
path_direction
(可选)

指定追踪路径的方向。遍历路径的成本取决于 shortest_path_network_attribute_name 参数值。此参数仅在运行 SHORTEST_PATH 追踪类型时使用。

  • NO_DIRECTION将使用两个起点之间的路径(无论流向为何)。这是默认设置。
  • PATH_UPSTREAM将使用两个起点之间的上游路径。
  • PATH_DOWNSTREAM将使用两个起点之间的下游路径。
String
shortest_path_network_attribute_name
(可选)

用于计算路径的网络属性的名称。运行最短路径追踪类型时,使用数字网络属性(例如形状长度)计算最短路径。基于成本和距离的路径都可以进行计算。运行最短路径追踪时,此参数为必需项。

String
include_barriers
(可选)

指定追踪结果中是否包含可遍历性障碍要素。

  • INCLUDE_BARRIERS追踪结果中将包含可遍历性障碍要素。这是默认设置。
  • EXCLUDE_BARRIERS追踪结果中将不包含可遍历性障碍要素。
Boolean
validate_consistency
(可选)

指定如果在任何遍历的要素中遇到脏区是否返回错误。这是保证追踪通过网络中状态一致要素的唯一方法。要移除脏区,请验证网络拓扑。

  • VALIDATE_CONSISTENCY如果在任何遍历的要素中遇到脏区,追踪将返回错误。这是默认设置。
  • DO_NOT_VALIDATE_CONSISTENCY无论是否在遍历的要素中遇到脏区,追踪都将返回结果。
Boolean
ignore_barriers_at_starting_points
(可选)

指定是否在追踪配置中忽略起点处的障碍。

  • IGNORE_BARRIERS_AT_STARTING_POINTS追踪过程中将忽略起点处的障碍。
  • DO_NOT_IGNORE_BARRIERS_AT_STARTING_POINTS追踪过程中不会忽略起点处的障碍。这是默认设置。
Boolean
allow_indeterminate_flow
(可选)

指定是否追踪具有不确定或未初始化流向的要素。此参数仅在运行上溯追踪或下溯追踪时使用。

  • TRACE_INDETERMINATE_FLOW将追踪具有不确定流向或未初始化流向的要素。
  • IGNORE_INDETERMINATE_FLOW不会追踪具有不确定流向或未初始化流向的要素。这是默认设置。
Boolean
condition_barriers
[Name, Operator, Type, Value, Combine Using,...]
(可选)

基于与网络属性的比较,对要素设置可遍历性障碍条件。条件障碍使用网络属性、运算符和类型以及属性值。例如,当要素的 Code 属性等于 ArtificialPath 的特定值时,停止追踪。当要素满足此条件时,追踪将停止。如果要使用多个属性,可使用 Combine Using 组件来定义“和”或“或”条件。

条件障碍组件如下:

  • Name - 按系统中定义的任何网络属性进行过滤。
  • Operator - 从大量不同的运算符中进行选择。
  • Type - 从在 Name 组件中指定的值中选择特定值或网络属性。
  • Value - 提供会基于运算符值导致终止的输入属性类型的特定值。
  • Combine Using - 如果要添加多个属性,则设置此值。您可以使用 And 或 Or 条件来对它们进行组合。

Operator 组件如下:

  • IS_EQUAL_TO该属性等于该值。
  • DOES_NOT_EQUAL该属性不等于该值。
  • IS_GREATER_THAN该属性大于该值。
  • IS_GREATER_THAN_OR_EQUAL_TO该属性大于或等于该值。
  • IS_LESS_THAN该属性小于该值。
  • IS_LESS_THAN_OR_EQUAL_TO该属性小于或等于该值。

Type 组件如下:

  • SPECIFIC_VALUE按特定值过滤。
  • NETWORK_ATTRIBUTE按网络属性过滤。

Combine Using 组件如下:

  • AND合并条件障碍。
  • OR满足任一条件障碍时使用“或”。
Value Table
function_barriers
[Function, Attribute, Operator, Value, Use Local Values,...]
(可选)

基于函数对要素设置可遍历性障碍。函数障碍可用于执行以下操作:限制追踪距离起点的行程或设置停止追踪的最大值。例如,所经过的每条线的长度和为目前经过的总距离。当经过的总长度达到指定值时,追踪将停止。

函数障碍组件如下:

  • Function - 从大量计算函数中进行选择。
  • Attribute - 选择按系统中定义的任何网络属性进行过滤。
  • Operator - 从大量运算符中进行选择。
  • Value - 提供将导致终止的输入属性类型(若发现)的特定值。
  • Use Local Values - 计算每个方向的值,而不是整体全局值。例如,对于计算形状长度总和的函数障碍,如果值大于或等于 4,则追踪终止。在全局情况下,遍历两条值为 2 的边之后,形状长度总和即已达到 4,因此追踪会停止。如果使用局部值,每条路径上的局部值会变化,因此追踪会持续得更远。

Function 组件如下:

  • AVERAGE输入值的平均值。
  • COUNT要素数目。
  • MAX输入值的最大值。
  • MIN输入值的最小值。
  • ADD加上这些值。
  • SUBTRACT减去这些值。

Operator 组件如下:

  • IS_EQUAL_TO该属性等于该值。
  • DOES_NOT_EQUAL该属性不等于该值。
  • IS_GREATER_THAN该属性大于该值。
  • IS_GREATER_THAN_OR_EQUAL_TO该属性大于或等于该值。
  • IS_LESS_THAN该属性小于该值。
  • IS_LESS_THAN该属性小于该值。

Use Local Values 组件如下:

  • TRUE使用局部值。
  • FALSE使用全局值。这是默认设置。
Value Table
traversability_scope
(可选)

指定要强制使用的可遍历性的类型。可遍历性范围用于确定是否在交汇点和/或边处强制使用可遍历性。例如,在游憩步道网络中,如果条件障碍定义为当路径类型为“砾石”并且可遍历性范围设置为仅交汇点时停止追踪,则即使遇到砾石路径,追踪也不会停止,因为该路径类型仅适用于边。换句话说,此参数向追踪指示是忽略交汇点、忽略边还是将交汇点和边都包含在追踪中。

  • BOTH_JUNCTIONS_AND_EDGES可遍历性将同时应用于交汇点和边。这是默认设置。
  • JUNCTIONS_ONLY可遍历性将仅应用于交汇点。
  • EDGES_ONLY可遍历性将仅应用于边。
String
functions
[[Function, Attribute, Filter Name, Filter Operator, Filter Type, Filter Value],...]
(可选)

用于将计算函数应用于追踪结果。

函数组件如下:

  • Function - 从大量计算函数中进行选择。
  • Attribute - 选择按系统中定义的任何网络属性进行过滤。
  • Filter Name - 按属性名称过滤函数结果。
  • Filter Operator - 从大量运算符中进行选择。
  • Filter Type - 从大量的过滤类型中进行选择。
  • Filter Value - 提供输入过滤属性的特定值。

Function 组件选项如下:

  • AVERAGE输入值的平均值。
  • COUNT要素数目。
  • MAX输入值的最大值。
  • MIN输入值的最小值。
  • ADD各值的总和。
  • SUBTRACT各值之间的差值。

例如,起点要素的值为 20。下一个要素的值为 30。如果使用 MIN 函数,结果为 20;使用 MAX, 则为 30;ADD,则为 50;AVERAGE,则为 25;COUNT,则为 2;而 SUBTRACT,则为 -10。

Filter Operator 组件选项如下:

  • IS_EQUAL_TO该属性等于该值。
  • DOES_NOT_EQUAL该属性不等于该值。
  • IS_GREATER_THAN该属性大于该值。
  • IS_GREATER_THAN_OR_EQUAL_TO该属性大于或等于该值。
  • IS_LESS_THAN该属性小于该值。
  • IS_LESS_THAN该属性小于该值。

Filter Type 组件选项如下:

  • SPECIFIC_VALUE按特定值过滤。
  • NETWORK_ATTRIBUTE按网络属性过滤。
Value Table
output_conditions
[[Name, Operator, Type, Value, Combine Using],...]
(可选)

根据网络属性返回的要素类型。例如,如果将追踪配置为“过滤掉除水龙头要素外的所有要素”,那么未分配“水龙头”属性的追踪要素均不会包含在结果中。任何追踪的要素都会返回到结果选择集中。如果要使用多个属性,可使用 Combine Using 选项来定义 And 或 Or 条件。

输出条件组件如下:

  • Name - 按系统中定义的任何网络属性进行过滤。
  • Operator - 从大量运算符中进行选择。
  • Type - 从在 Name 组件中指定的值中选择特定值或网络属性。
  • Value - 提供会基于运算符值导致终止的输入属性类型的特定值。
  • Combine Using - 如果要添加多个属性,则设置此值。您可以使用 And 或 Or 条件来对它们进行组合。

Operator 组件选项如下:

  • IS_EQUAL_TO该属性等于该值。
  • DOES_NOT_EQUAL该属性不等于该值。
  • IS_GREATER_THAN该属性大于该值。
  • IS_GREATER_THAN_OR_EQUAL_TO该属性大于或等于该值。
  • IS_LESS_THAN该属性小于该值。
  • IS_LESS_THAN该属性小于该值。

Type 组件选项如下:

  • SPECIFIC_VALUE按特定值过滤。
  • NETWORK_ATTRIBUTE按网络属性过滤。

Combine Using 组件选项如下:

  • AND组合条件。
  • OR满足任一条件时使用“或”。
Value Table
result_types
[result_types,...]
(可选)

指定追踪返回的结果的类型。

  • SELECTION 追踪结果将作为相应网络要素上的选择集返回。这是默认设置。
  • AGGREGATED_GEOMETRY 追踪结果按几何类型聚合,并存储在活动地图的图层中显示的要素类中。
  • NETWORK_LAYERS追踪结果将被作为图层组内的选择集添加到要素图层。
String
selection_type

指定如何应用所选内容以及如果已存在已选内容要执行的操作。

  • NEW_SELECTION生成的选择内容将替换当前选择内容。这是默认设置。
  • ADD_TO_SELECTION当存在一个选择内容时,会将生成的选择内容添加到当前选择内容中。如果不存在选择内容,该选项的作用与新选择内容选项的作用相同。
  • REMOVE_FROM_SELECTION将生成的选择内容从当前选择内容中移除。如果不存在选择内容,该选项不起作用。
  • SUBSET_SELECTION将生成的选择内容与当前选择内容进行组合。只有两者共同的记录才会被选取。
  • SWITCH_SELECTION生成的选择内容将被切换。将所选的结果从当前选择内容中移除,同时将未选取的结果添加到当前选择内容中。如果不存在选择内容,该选项的作用与新选择内容选项的作用相同。
String
clear_all_previous_trace_results
(可选)

指定将内容从选定用来存储聚合几何的要素类中截断,还是追加到该要素类中。此参数仅适用于聚合几何结果类型。

  • CLEAR_ALL_PREVIOUS_TRACE_RESULTS 将截断用于存储聚合追踪几何的要素类。将仅写入当前追踪操作的输出几何。这是默认设置。
  • DO_NOT_CLEAR_ALL_PREVIOUS_TRACE_RESULTS当前追踪操作的输出几何将追加到用于存储聚合几何的要素类。
Boolean
trace_name
(可选)

追踪操作的名称。此值将存储在输出要素类的 TRACENAME 字段中,以协助识别追踪结果。此参数仅适用于聚合几何结果类型。

String
aggregated_points
(可选)

包含聚合结果几何的输出多点要素类。默认情况下,将使用名为 Trace_Results_Aggregated_Points 的系统生成要素类填充该参数,该要素类将存储在工程的默认地理数据库中。

如果该要素类不存在,则系统会自动创建。也可以使用现有要素类存储聚合几何。如果使用非默认要素类,则该要素类必须是多点要素类,并且包含名为 TRACENAME 的字符串字段。此参数仅适用于聚合几何结果类型。

Feature Class
aggregated_lines
(可选)

包含聚合结果几何的输出折线要素类。默认情况下,将使用名为 Trace_Results_Aggregated_Lines 的系统生成要素类填充该参数,该要素类将存储在工程的默认地理数据库中。

如果该要素类不存在,则系统会自动创建。也可以使用现有要素类存储聚合几何。如果使用非默认要素类,则该要素类必须是折线要素类,并且包含名为 TRACENAME 的字符串字段。此参数仅适用于聚合几何结果类型。

Feature Class
out_network_layer
(可选)

输出图层组的名称,其中包含具有由追踪返回的要素选择集的要素图层。该图层将提供在 模型构建器Python 中使用追踪输出的访问权限。

此参数仅适用于网络图层结果类型。

Group Layer
use_trace_config
(可选)

指定是否将使用现有追踪配置来填充追踪工具的参数。

  • USE_TRACE_CONFIGURATION追踪将使用现有追踪配置来定义追踪的属性。将忽略除 trace_config_namestarting_pointsbarriers 之外的所有参数。
  • DO_NOT_USE_TRACE_CONFIGURATION追踪将不使用追踪配置来定义追踪的属性。这是默认设置。
注:

此参数需要追踪网络版本 2 或更高版本。

Boolean
trace_config_name
(可选)

指定将用于定义追踪属性的追踪配置的名称。仅当将 use_trace_config 参数设置为 USE_TRACE_CONFIGURATION 时,才会启用此参数。

注:

此参数需要追踪网络版本 2 或更高版本。

String

派生输出

名称说明数据类型
updated_trace_network

更新的追踪网络。

任意值

代码示例

Trace 示例(Python 窗口)

使用 Trace 函数在名为 HydroNetwork 的追踪网络上运行下溯追踪。

import arcpy
arcpy.Trace_tn(r"C:\MyProject\NHD.gdb\Hydro\HydroNetwork", 
               "DOWNSTREAM", r"C:\MyProject\NHD.gdb\TN_Temp_Starting_Points")

环境

此工具不使用任何地理处理环境。

许可信息

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

相关主题