描述
根据标记、障碍和指定权重属性来解决指定网络分析问题。
使用方法
此工具不处理网络数据集(ArcGIS Network Analyst 扩展模块使用的网络)。
此工具使用输入标记和障碍来执行空间搜索以查找重合的要素。在输入标记的情况下,使用此工具可确定追踪源自哪些要素;在输入障碍的情况下,使用此工具可确定哪些要素阻碍了追踪。因此,必须精确定位输入标记和障碍。在模型构建器中,如果您不确定是否正确定位了标记和障碍,可以使用捕捉工具来指定标记和障碍应与哪些要素重合。
此工具的输出是图层组。其中输入几何网络中包含的每个要素类在输出图层组中对应一个图层。从追踪返回的所有要素将在各自的图层中处于选中状态。当地图中存在输入图层时,输出图层组可能包含没有选中要素的图层;这些图层是空图层,没有从追踪返回的要素。在模型构建器中,可以使用选择数据工具从图层组中提取特定图层,并且可以使用 Make_Feature_Layer 工具通过选择数据工具的输出创建要素图层。使用 Get_Count 工具确定图层组中是否有图层为空。该工具在将模型发布到 ArcGIS Server 时特别有用,因为地理处理任务不支持将图层组作为输出参数类型使用。由于不支持将其作为直接输出使用,因此需要使用选择数据工具为输出创建单个图层(非图层组)。
编辑个人地理数据库中的几何网络时,无法运行此工具。
与其他数据集(如拓扑数据集或网络数据集)不同,几何网络没有关联图层,因此,在 ArcMap 中使用此工具时,必须从磁盘选择几何网络。不存在从图层下拉列表选择几何网络作为输入的选项。
语法
arcpy.management.TraceGeometricNetwork(in_geometric_network, out_network_layer, in_flags, in_trace_task_type, {in_barriers}, {in_junction_weight}, {in_edge_along_digitized_weight}, {in_edge_against_digitized_weight}, {in_disable_from_trace}, {in_trace_ends}, {in_trace_indeterminate_flow}, {in_junction_weight_filter}, {in_junction_weight_range}, {in_junction_weight_range_not}, {in_edge_along_digitized_weight_filter}, {in_edge_against_digitized_weight_filter}, {in_edge_weight_range}, {in_edge_weight_range_not})
参数 | 说明 | 数据类型 |
in_geometric_network | 将执行追踪的几何网络。 | Geometric Network |
out_network_layer | 将追踪结果作为所选集存储的图层组的名称。 | Group Layer |
in_flags | 表示用作追踪操作的起点的一组标记的点要素。例如,如果要执行上游追踪,则可使用标记指定上游追踪开始的位置。可以在沿着边的任意位置或交汇点处放置标记,如果在某一位置同时存在交汇点和边,则首先考虑交汇点。 | Feature Layer |
in_trace_task_type | 对指定几何网络执行的追踪任务。
| String |
in_barriers (可选) | 表示一组障碍的点要素。障碍定义网络中追踪无法经过的位置。如果您只对追踪网络中的特定部分感兴趣,可以使用障碍隔离这部分网络。可以在沿着边的任意位置或交汇点处放置障碍。如果在某一位置同时存在交汇点和边,则首先考虑交汇点。该要素将被视为不可用或在追踪过程中不予考虑,除非您已将 in_trace_ends 参数设置为 TRACE_ENDS 以便有目的地查找停止追踪的要素。 | Feature Layer |
in_junction_weight (可选) | 用作穿过任何交汇点的成本的交汇点权重。必须已经为给定几何网络定义了权重。指定以下与成本无关的追踪任务类型之一时,此参数不可用或不予考虑:
| String |
in_edge_along_digitized_weight (可选) | 用作沿边的数字化方向穿过该边的成本的边权重。必须已经为给定几何网络定义了权重。指定以下与成本无关的追踪任务类型之一时,此参数不可用或不予考虑:
| String |
in_edge_against_digitized_weight (可选) | 用作逆边的数字化方向穿过该边的成本的边权重。必须已经为给定几何网络定义了权重。指定以下与成本无关的追踪任务类型之一时,此参数不可用或不予考虑:
| String |
in_disable_from_trace [in_disable_from_trace,...] (可选) | 被禁止参与追踪的要素类的列表。将要素类指定为不可用时,追踪操作会将该要素类中的所有要素视为不可用或上面放置了障碍。使用此选项可以在追踪过程中将整个要素类排除在考虑之外。例如,通过禁用配电网络中的开关图层,将 in_trace_ends 参数设置为 TRACE_ENDS 并从网络中的某点进行追踪可以找出为在网络中隔离此点需要扳动的开关,即追踪操作停止处的要素。 | String |
in_trace_ends (可选) | 指示追踪应包括所有要素还是仅包括停止追踪的要素。需要确定哪些要素会停止追踪时,可使用此选项。为了使用此选项从追踪操作返回要素,要素必须属于以下类别之一:
| Boolean |
in_trace_indeterminate_flow (可选) | 指示追踪应包括所有要素还是仅包括停止追踪的要素。
只有当设置以下与流相关的追踪任务类型之一时才支持该选项:
| Boolean |
in_junction_weight_filter (可选) | 用于创建交汇点权重过滤器的权重,该过滤器用于在追踪过程中过滤交汇点要素。 | String |
in_junction_weight_range (可选) | 指定可以追踪的网络要素的权重值的有效范围和无效范围。设置与成本无关的追踪任务类型后不可用。为了创建权重过滤器,必须指定要素的有效权重范围。权重过滤器可由许多范围组成。指定多个权重范围时,使用逗号分隔范围。范围中的上下限值由连字符分隔。由单个值组成的范围不包括连字符,并使用逗号分隔,例如 0-2,3,6,7-10。 | String |
in_junction_weight_range_not (可选) | 将 NOT 逻辑运算符应用到指定交汇点权重范围。默认情况下,所输入的交汇点权重范围指定可追踪的交汇点要素。选中此选项时,表明无法追踪权重在输入范围内的交汇点要素。
| Boolean |
in_edge_along_digitized_weight_filter (可选) | 用于创建沿边权重过滤器的权重,该过滤器用于在追踪过程中过滤边要素。 | String |
in_edge_against_digitized_weight_filter (可选) | 用于创建逆边权重过滤器的权重,该过滤器用于在追踪过程中过滤边要素。 | String |
in_edge_weight_range (可选) | 指定可以追踪的网络要素的权重值的有效范围和无效范围。设置与成本无关的追踪任务类型后不可用。为了创建权重过滤器,必须指定要素的有效权重范围。权重过滤器可由许多范围组成。指定多个权重范围时,必须使用逗号分隔范围。范围中的上下限值由连字符分隔。由单个值组成的范围不包括连字符,并使用逗号分隔,例如 0-2,3,6,7-10。 | String |
in_edge_weight_range_not (可选) | 将 NOT 逻辑运算符应用到指定边权重范围。默认情况下,所输入的边权重范围指定可以追踪的边要素。选中此选项时,表明无法追踪权重在输入范围内的边要素。
| Boolean |
代码示例
追踪几何网络 (TraceGeometricNetwork) 示例 1(独立脚本)
以下独立 Python 脚本演示了如何在 Python 脚本中使用“追踪几何网络”(TraceGeometricNetwork) 函数对具有“标记”而没有“障碍”的几何网络运行“网络连接要素分析”追踪。
# Import arcpy module
import arcpy
# Local variables:
gnVersionFDS_Net = "C:/GeometricNetworks/GeometricNetwork.gdb/gnVersionFDS_with_GN/gnVersionFDS_1_Net"
Flags = "C:/GeometricNetworks/GeometricNetwork.gdb/gnVersionFDS_with_GN/Flags"
gnVersionFDS_1 = "gnVersionFDS_1_Net"
# Process: Trace Geometric Network
arcpy.TraceGeometricNetwork_management(gnVersionFDS_Net, gnVersionFDS_1, Flags, "FIND_CONNECTED", "", "", "", "", "", "NO_TRACE_ENDS", "", "", "", "AS_IS", "", "", "", "AS_IS")
追踪几何网络 (TraceGeometricNetwork) 示例 2(独立脚本)
以下独立 Python 脚本演示了如何在 Python 脚本中使用“追踪几何网络”(TraceGeometricNetwork) 函数对以下几何网络运行“网络路径分析”追踪:具有“标记”而没有“障碍”并且具有名为 Friction_Factor 的权重以及范围为 1 到 10 的权重过滤器。
# Import arcpy module
import arcpy
# Local variables:
Water_Net = "C:/GeometricNetworks/Montgomery.gdb/Water/Water_Net"
Flags = "C:/GeometricNetworks/Montgomery.gdb/Water/Flags"
Water_Net_2 = "Water_Net"
# Process: Trace Geometric Network
arcpy.TraceGeometricNetwork_management(Water_Net, Water_Net_2, Flags, "FIND_PATH", "", "", "Friction_Factor", "Friction_Factor", "", "NO_TRACE_ENDS", "", "", "", "AS_IS", "Friction_Factor", "Friction_Factor", "1-10", "AS_IS")
环境
此工具不使用任何地理处理环境。
许可信息
- Basic: 否
- Standard: 是
- Advanced: 是