描述
可根据指定起点的连通性或可遍历性返回追踪网络中的所选要素。
追踪网络的追踪功能用于分析网络中的路径。可遍历性指通过已连接同时满足配置要求的 要素建立的路径。
默认情况下,追踪结果将作为选择返回,并包含整个线要素。要返回部分要素结果,可将结果类型参数设置为聚合几何。当将起点或障碍放置在具有中跨连通性的交汇点上时,追踪结果将返回边要素的部分元素。当障碍沿边放置时,追踪结果可以在具有中跨连通性的最近交汇点处停止。然后,可以将追踪生成的结果选择集或输出要素类传播到另一个地图、传递到网络的逻辑示意图,或者将其用作另一个工具或追踪的输入。
使用方法
必须启用网络拓扑。
在使用企业级地理数据库时,输入追踪网络必须来自要素服务;不支持来自数据库连接的追踪网络。
由于追踪工具依赖于网络拓扑,如果追踪范围内存在脏区,则无法保证追踪结果准确。待追踪区域的网络拓扑必须经过验证,才能反映对网络进行的最近编辑或更新。
对于条件障碍、函数障碍、函数和输出条件,当使用分配给日期字段的网络属性时,日期值应采用格式 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 | 指定要执行的追踪的类型。
| 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 追踪类型时使用。
| String |
shortest_path_network_attribute_name (可选) | 用于计算路径的网络属性的名称。运行最短路径追踪类型时,使用数字网络属性(例如形状长度)计算最短路径。基于成本和距离的路径都可以进行计算。运行最短路径追踪时,此参数为必需项。 | String |
include_barriers (可选) | 指定追踪结果中是否包含可遍历性障碍要素。
| Boolean |
validate_consistency (可选) | 指定如果在任何遍历的要素中遇到脏区是否返回错误。这是保证追踪通过网络中状态一致要素的唯一方法。要移除脏区,请验证网络拓扑。
| Boolean |
ignore_barriers_at_starting_points (可选) | 指定是否在追踪配置中忽略起点处的障碍。
| Boolean |
allow_indeterminate_flow (可选) | 指定是否追踪具有不确定或未初始化流向的要素。此参数仅在运行上溯追踪或下溯追踪时使用。
| Boolean |
condition_barriers [Name, Operator, Type, Value, Combine Using,...] (可选) | 基于与网络属性的比较,对要素设置可遍历性障碍条件。条件障碍使用网络属性、运算符和类型以及属性值。例如,当要素的 Code 属性等于 ArtificialPath 的特定值时,停止追踪。当要素满足此条件时,追踪将停止。如果要使用多个属性,可使用 Combine Using 组件来定义“和”或“或”条件。 条件障碍组件如下:
Operator 组件如下:
Type 组件如下:
Combine Using 组件如下:
| Value Table |
function_barriers [Function, Attribute, Operator, Value, Use Local Values,...] (可选) | 基于函数对要素设置可遍历性障碍。函数障碍可用于执行以下操作:限制追踪距离起点的行程或设置停止追踪的最大值。例如,所经过的每条线的长度和为目前经过的总距离。当经过的总长度达到指定值时,追踪将停止。 函数障碍组件如下:
Function 组件如下:
Operator 组件如下:
Use Local Values 组件如下:
| Value Table |
traversability_scope (可选) | 指定要强制使用的可遍历性的类型。可遍历性范围用于确定是否在交汇点和/或边处强制使用可遍历性。例如,在游憩步道网络中,如果条件障碍定义为当路径类型为“砾石”并且可遍历性范围设置为仅交汇点时停止追踪,则即使遇到砾石路径,追踪也不会停止,因为该路径类型仅适用于边。换句话说,此参数向追踪指示是忽略交汇点、忽略边还是将交汇点和边都包含在追踪中。
| String |
functions [[Function, Attribute, Filter Name, Filter Operator, Filter Type, Filter Value],...] (可选) | 用于将计算函数应用于追踪结果。 函数组件如下:
Function 组件选项如下:
例如,起点要素的值为 20。下一个要素的值为 30。如果使用 MIN 函数,结果为 20;使用 MAX, 则为 30;ADD,则为 50;AVERAGE,则为 25;COUNT,则为 2;而 SUBTRACT,则为 -10。 Filter Operator 组件选项如下:
Filter Type 组件选项如下:
| Value Table |
output_conditions [[Name, Operator, Type, Value, Combine Using],...] (可选) | 根据网络属性返回的要素类型。例如,如果将追踪配置为“过滤掉除水龙头要素外的所有要素”,那么未分配“水龙头”属性的追踪要素均不会包含在结果中。任何追踪的要素都会返回到结果选择集中。如果要使用多个属性,可使用 Combine Using 选项来定义 And 或 Or 条件。 输出条件组件如下:
Operator 组件选项如下:
Type 组件选项如下:
Combine Using 组件选项如下:
| Value Table |
result_types [result_types,...] (可选) | 指定追踪返回的结果的类型。
| String |
selection_type | 指定如何应用所选内容以及如果已存在已选内容要执行的操作。
| String |
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 (可选) | 指定是否将使用现有追踪配置来填充追踪工具的参数。
注:此参数需要追踪网络版本 2 或更高版本。 | Boolean |
trace_config_name (可选) | 指定将用于定义追踪属性的追踪配置的名称。仅当将 use_trace_config 参数设置为 USE_TRACE_CONFIGURATION 时,才会启用此参数。 注:此参数需要追踪网络版本 2 或更高版本。 | String |
派生输出
名称 | 说明 | 数据类型 |
updated_trace_network | 更新的追踪网络。 | 任意值 |
代码示例
使用 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: 是