描述
可根据指定起点的连通性或可遍历性返回所选要素。
您可通过公共设施网络追踪功能分析网络中的路径。该工具可运行根据指定起点的连通性或可遍历性返回所选要素的追踪。可遍历性是指通过已连接或已关联的要素建立的路径,同时满足配置要求。
默认情况下,追踪结果将作为选择返回,并包含整个线要素。要返回部分要素结果,可以指定结果类型参数选项聚合几何。
使用聚合几何选项,沿边放置的起点将从具有中跨连通性或端点的上一个交汇点返回边元素。当在选中包括障碍要素参数的情况下,将障碍沿边放置时,追踪将在所遇到的、具有中跨连通性或线终点的下一个交汇点停止。如果未选中包括障碍要素参数 ,则追踪将在遇到中跨连通性的上一个交汇点或上一个线终点处停止。
然后,可以将追踪生成的结果选择集或输出要素类传播到另一个地图、传递到网络的逻辑示意图,或者将其用作另一个工具或追踪的输入。
使用方法
语法
arcpy.un.Trace(in_utility_network, trace_type, {starting_points}, {barriers}, {domain_network}, {tier}, {target_tier}, {subnetwork_name}, {shortest_path_network_attribute_name}, {include_containers}, {include_content}, {include_structures}, {include_barriers}, {validate_consistency}, {condition_barriers}, {function_barriers}, {traversability_scope}, {filter_barriers}, {filter_function_barriers}, {filter_scope}, {filter_bitset_network_attribute_name}, {filter_nearest}, {nearest_count}, {nearest_cost_network_attribute}, {nearest_categories}, {nearest_assets}, {functions}, {propagators}, {output_assettypes}, {output_conditions}, {include_isolated_features}, {ignore_barriers_at_starting_points}, {include_up_to_first_spatial_container}, {result_types}, selection_type, {clear_all_previous_trace_results}, {trace_name}, {aggregated_points}, {aggregated_lines}, {aggregated_polygons}, {allow_indeterminate_flow}, {validate_locatability}, {use_trace_config}, {trace_config_name})
参数 | 说明 | 数据类型 |
in_utility_network | 将运行追踪的公共设施网络。使用企业级地理数据库时,输入公共设施网络必须来自要素服务;不支持来自数据库连接的公共设施网络。 | Utility Network; Utility Network Layer |
trace_type | 指定要执行的追踪类型。
| String |
starting_points (可选) | 表或要素类,其中包含一个或多个表示追踪起点的记录。该要素类或表必须包含 FEATUREGLOBALID 字段,用于存储来自关联网络要素的信息。要查看特定格式,请使用追踪位置窗格中的起点工具创建起点,并查看默认地理数据库中存储的 UN_Temp_Starting_Points 要素类的方案。 | Feature Layer; Table View |
barriers (可选) | 包含一个或多个要素,表示防止追踪遍历超出此点的追踪障碍的表或要素类。该要素类或表必须包含 FEATUREGLOBALID 字段,用于存储来自关联网络要素的信息。要查看特定格式,请使用追踪位置窗格中的障碍工具创建障碍,并查看默认地理数据库中存储的 UN_Temp_Barriers 要素类的方案。 | Feature Layer; Table View |
domain_network (可选) | 将运行追踪的域网络的名称。运行子网、子网控制器、上溯和下溯追踪类型时,需要此参数。 | String |
tier (可选) | 要开始追踪的层的名称。运行子网、子网控制器、上溯和下溯追踪类型时,需要此参数。 | String |
target_tier (可选) | 输入层流向的目标层名称。如果上溯和下溯追踪的此参数丢失,当到达起始子网边界时,上述追踪将停止。该参数可以使此类追踪在层级结构中继续向上或向下延伸。 | String |
subnetwork_name (可选) | 将运行追踪的子网的名称。运行子网追踪类型时可以使用此参数。如果指定了子网名称,则不需要起点参数(Python 中的 starting_points 参数)。 | String |
shortest_path_network_attribute_name (可选) | 用于计算最短路径的网络属性。运行最短路径追踪类型时,使用数字网络属性(例如形状长度)计算最短路径。基于成本和距离的路径都可以进行计算。运行最短路径追踪时,需要此参数。 | String |
include_containers (可选) | 指定追踪结果中是否包含容器要素。
| Boolean |
include_content (可选) | 指定追踪是否在结果中返回容器的内容。
| Boolean |
include_structures (可选) | 指定追踪结果中是否包含结构要素和对象。
| Boolean |
include_barriers (可选) | 指定追踪结果中是否包含可遍历性障碍要素。即使已在子网定义中进行了预设,可遍历性障碍仍可选。此参数不适用于具备终端的设备要素。
| Boolean |
validate_consistency (可选) | 指定如果在任何遍历的要素中遇到脏区是否返回错误。这是保证追踪通过网络中状态一致要素的唯一方法。要移除脏区,请验证网络拓扑。
| Boolean |
condition_barriers [[Name, Operator, Type, Value, Combine Using],...] (可选) | 基于与网络属性的比较或对类别字符串的检查,对要素设置可遍历性障碍条件。条件障碍使用网络属性、运算符和类型以及属性值。例如,当要素的 Device Status 属性等于 Open 的特定值时,将停止追踪。当要素满足此条件时,追踪将停止。如果您要使用多个属性,可使用 Combine Using 参数来定义 And 或 Or 条件。 条件障碍组件如下:
条件障碍 operator 值选项如下:
条件障碍 Type 值选项如下:
条件障碍 Combine Using 值选项如下:
| Value Table |
function_barriers [[Function, Attribute, Operator, Value, Use Local Values],...] (可选) | 基于函数对要素设置可遍历性障碍。函数障碍可用于执行以下操作:限制追踪距离起点的行程或设置停止追踪的最大值。例如,所经过的每条线的长度和为目前经过的总距离。当经过的总长度达到指定值时,追踪将停止。 函数障碍组件如下:
函数障碍 function 值选项如下:
函数障碍 operator 值选项如下:
函数障碍 Use Local Values 选项如下:
| Value Table |
traversability_scope (可选) | 要强制使用的可遍历性的类型。可遍历性范围指明是否在交汇点、边或这两处强制使用可遍历性。例如,如果定义了用于停止追踪的条件障碍,其中 Device Status 等于 Open 并将遍历范围仅设置为边,则即使追踪遇到开路设备,追踪也不会停止,因为 Device Status 仅适用于交汇点。换言之,此参数会为追踪指明是否要忽略交汇点和/或边。
| String |
filter_barriers [[Name, Operator, Type, Value, Combine Using],...] (可选) | 用于指定针对特定类别或网络属性的追踪停止时间。例如,针对生命周期状态属性等于特定值的要素,追踪停止。此参数用于根据系统中定义的网络属性值设置终止符。如果要使用多个属性,可使用 Combine Using 选项来定义“和”或“或”条件。 过滤器障碍组件如下:
过滤器障碍 operator 值选项如下:
过滤器障碍 Type 值选项如下:
过滤器障碍 Combine Using 值选项如下:
| Value Table |
filter_function_barriers [[Function, Attribute, Operator, Value, Use Local Values],...] (可选) | 用于过滤特定类别的追踪结果。 过滤器函数障碍组件如下:
过滤器函数障碍 function 值选项如下:
过滤器函数障碍 operator 值选项如下:
过滤器函数障碍 Use Local Values 选项如下:
| Value Table |
filter_scope (可选) | 指定是否在交汇点、边或这两处强制使用特定类别的过滤器。例如,如果定义了用于停止追踪的过滤器障碍,其中 Device Status 等于 Open 并将遍历范围仅设置为边,则即使追踪遇到开路设备,追踪也不会停止,因为 Device Status 仅适用于交汇点。换言之,此参数会为追踪指明是否要忽略交汇点和/或边。
| String |
filter_bitset_network_attribute_name (可选) | 将用于按 bitset 过滤的网络属性的名称。此参数仅适用于上溯、下溯和循环追踪类型。此参数可用于在追踪过程中添加特殊逻辑,以便追踪能够更好地反映真实世界的场景。例如,对于循环追踪而言,Phases current 网络属性可以确定该循环是否为实际的电气循环(相同的相在循环 A 中各处均有电流通过),并且追踪结果只返回实际的电气循环。上溯追踪的示例如下;如果追踪配电网络时指定 Phases current 网络属性,则追踪结果将只包含在网络属性中指定的有效路径,而不是所有路径。 | String |
filter_nearest (可选) | 指定是否使用 k-最近邻算法在给定距离内返回一些特定类型的要素。使用此参数时,您可以指定计数、成本以及类别和/或资产类型的集合。
| Boolean |
nearest_count (可选) | filter_nearest 为 FILTER_BY_NEAREST 状态时要返回的要素数量。 | Long |
nearest_cost_network_attribute (可选) | 当filter_nearest为FILTER_BY_NEAREST状态时,将用于计算接近度、成本或距离的数字网络属性(例如形状长度)。 | String |
nearest_categories [nearest_categories,...] (可选) | 当filter_nearest处于FILTER_BY_NEAREST状态时,将返回的类别(例如保护类别)。 | String |
nearest_assets [nearest_assets,...] (可选) | 当 filter_nearest 处于 FILTER_BY_NEAREST 状态时,将返回的资产组和资产类型(例如,ElectricDistributionDevice/Transformer/Step Down)。 | String |
functions [[Function, Attribute, Filter Name, Filter Operator, Filter Type, Filter Value],...] (可选) | 用于将计算函数应用于追踪结果。 函数组件如下:
函数 Function 值选项如下:
例如,起点要素的值为 20。下一个要素的值为 30。如果使用 MINIMUM 函数,结果为 20;使用 MAXIMUM, 则为 30;ADD,则为 50;AVERAGE,则为 25;COUNT,则为 2;而 SUBTRACT,则为 -10。 Filter Operator 值选项如下:
函数 Filter Type 值选项如下:
| Value Table |
propagators [[Attribute, Substitution Attribute, Function, Operator, Value],...] (可选) | 指定要传播的网络属性以及传播将在追踪过程中的发生方式。传播的类属性表示子网控制器上已传播至子网余下要素的关键值。例如,在配电模型中,您可传播相位值。 传播程序组件如下:
传播程序 function 值选项如下:
传播程序 operator 值选项如下:
注:此参数仅可通过 Python 获得。 | Value Table |
output_assettypes [output_assettypes,...] (可选) | 过滤要包含在结果中的输出资产类型 - 例如,仅返回架空变压器。 | String |
output_conditions [[Name, Operator, Type, Value, Combine Using],...] (可选) | 指定按网络属性或类别返回的要素类型。例如,如果将追踪配置为“过滤掉除水龙头要素外的所有要素”,那么未分配水龙头类别的追踪要素均不会包含在结果中。任何追踪的要素都会返回到结果选择集中。如果要使用多个属性,可使用 Combine Using 选项来定义“和”或“或”条件。 输出条件组件如下:
输出条件 operator 值选项如下:
输出条件 Type 值选项如下:
输出条件 Combine Using 值选项如下:
| Value Table |
include_isolated_features (可选) | 指定追踪结果中是否包含孤立要素。此参数仅在运行隔离追踪时使用。
注:在使用企业级地理数据库时,隔离追踪类型需要 ArcGIS Enterprise 10.7 或更高版本。 | Boolean |
ignore_barriers_at_starting_points (可选) | 指定是否在追踪配置中忽略起点处的动态障碍。这在执行上游保护设备追踪并使用所发现的保护设备(屏障)作为起始点以找到后续上游保护设备时可能非常有用。
| Boolean |
include_up_to_first_spatial_container (可选) | 指定是否将所返回的容器限制为仅限追踪结果中每个网络元素遇到次数最多并包括第一个空间容器的容器。如果没有遇到空间容器,但是给定网络元素存在非空间容器,则所有非空间容器都将包含在结果中。仅当 Include Containers 已启用时,此参数才适用。
| Boolean |
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 |
aggregated_polygons (可选) | 包含聚合结果几何的输出面要素类。默认情况下,将使用名为 Trace_Results_Aggregated_Polygons 的系统生成要素类填充该参数,该要素类将存储在工程的默认地理数据库中。 如果该要素类不存在,则系统会自动创建。也可以使用现有要素类存储聚合几何。如果使用非默认要素类,则该要素类必须是面要素类,并且包含名为 TRACENAME 的字符串字段。此参数仅适用于聚合几何结果类型。 | Feature Class |
allow_indeterminate_flow (可选) | 指定是否追踪具有不确定流向的要素。此参数仅在运行上溯追踪或下溯追踪时使用。
注:此参数需要公共设施网络版本 5 或更高版本。 | Boolean |
validate_locatability (可选) | 指定如果遇到非空间交汇点或边对象并且遍历对象的关联层次结构中没有必要的包含、附件或连通性关联,是否在追踪操作期间返回错误。此参数确保可以通过与要素或其他可定位对象的关联来定位追踪或更新子网操作返回的非空间对象。
注:此参数需要公共设施网络版本 4 或更高版本。 | Boolean |
use_trace_config (可选) | 指定是否将使用现有追踪配置来填充追踪工具的参数。
注:此参数需要公共设施网络版本 5 或更高版本。 | Boolean |
trace_config_name (可选) | 指定将用于定义追踪属性的追踪配置的名称。仅当将 use_trace_config 参数设置为 USE_TRACE_CONFIGURATION 时,才会启用此参数。 | String |
派生输出
名称 | 说明 | 数据类型 |
out_utility_network | 更新的公共设施网络。 | 公共设施网络 |
代码示例
对配电网络运行下溯追踪,该配电网络位于在相位 A、B 和 C 上叠加变压器负载的中压层。
'''****************************************************************************
Name: DownstreamTrace.py
Description: This script executes a downstream trace on the Medium Voltage tier
that adds up the transformer load on phases A, B, and C.
Created by: Esri
****************************************************************************'''
# Import required modules
import arcpy
# Set local variables
in_utility_network = "NapervilleElectric Utility Network"
trace_type = "DOWNSTREAM"
starting_points = "C:\\MyProject\\Bissell.gdb\UN_Temp_Starting_Points"
barriers = "C:\\MyProject\\Bissell.gdb\UN_Temp_Barriers"
domain_network = "ElectricDistribution"
tier = "Medium Voltage Radial"
include_containers = "INCLUDE_CONTAINERS"
include_structures = "INCLUDE_STRUCTURES"
condition_barriers = "'Device Status' IS_EQUAL_TO SPECIFIC_VALUE 1 #"
functions = "ADD 'Transformer Load' 'Phases Normal' INCLUDES_THE_VALUES SPECIFIC_VALUE 4;ADD 'Transformer Load' 'Phases Normal' INCLUDES_THE_VALUES SPECIFIC_VALUE 2;ADD 'Transformer Load' 'Phases Normal' INCLUDES_THE_VALUES SPECIFIC_VALUE 1"
# Run Trace with specified parameters and leave the rest default
arcpy.Trace_un(in_utility_network,
trace_type,
starting_points,
barriers,
domain_network,
tier,
include_containers=include_containers,
include_structures=include_structures,
condition_barriers=condition_barriers,
functions=functions)
环境
许可信息
- Basic: 否
- Standard: 是
- Advanced: 是