添加空间查询规则 (网络逻辑示意图)

摘要

添加逻辑示意图规则,根据逻辑示意图中当前显示的网络要素的位置,自动将新的网络要素追加到逻辑示意图中。

了解有关使用空间查询规则构建网络逻辑示意图的详细信息

警告:

该工具为配置和管理工具。

注:

该工具会基于输入逻辑示意图模板影响任何现有逻辑示意图的一致性。 所有现有逻辑示意图都将变得不一致,并随附打开一致性警告图标 要更新的逻辑示意图,直至对其进行更新为止。

使用情况

  • 系统在使用公共设施网络或追踪网络服务时不支持此工具。 您必须使用文件或移动地理数据库中的公共设施网络或追踪网络,或者企业级地理数据库中公共设施网络或追踪网络的数据库连接。 使用企业级地理数据库时,需要满足以下要求:

  • “空间查询”规则用于根据其相对于当前逻辑示意图中存在的网络要素的位置来检测新的网络要素,并将新检测到的要素附加到网络逻辑示意图。

  • 规则处理的网络要素基于相同的要素类,并且可以使用 SQL 查询表达式过滤这些要素。

  • 追加的网络要素基于相同的要素类;可以使用 SQL 查询表达式过滤这些要素。

参数

标注说明数据类型
输入网络

包含要修改的逻辑示意图模板的公共设施网络或追踪网络。

Utility Network; Trace Network
输入逻辑示意图模板

要修改的逻辑示意图模板名称

String
激活

指定在基于指定模板生成并更新逻辑示意图时,规则是否将处于激活状态。

  • 选中 - 在基于输入模板生成并更新逻辑示意图的过程中,添加的规则将会变为激活状态。 这是默认设置。
  • 未选中 - 在基于输入模板生成或更新逻辑示意图的过程中,添加的规则将不会变为激活状态。

Boolean
添加要素

将向其添加要素的源要素类。

Feature Class
关系
(可选)

指定要素之间的空间关系。

  • 相交如果添加要素源要素类中的要素与一个现有要素相交,则这些要素将追加到逻辑示意图中。 这是默认设置。
  • 在某一距离范围内如果添加要素源要素类中的要素与一个现有要素在指定距离(采用欧氏距离)范围内,则这些要素将追加到逻辑示意图中。 使用搜索距离参数指定距离。
  • 包含|属于如果添加要素源要素类中的要素来自或包含于现有要素,则这些要素将追加到逻辑示意图中。
  • 位于如果添加要素源要素类中的要素在现有要素范围内,则这些要素将追加到逻辑示意图中。
  • 边界接触如果添加要素源要素类中的要素的边界与现有要素相接触,则这些要素将追加到逻辑示意图中。 如果现有要素为线或面,则添加要素输入要素的边界只能接触一个现有要素的边界,且输入要素的任何部分均不可跨越现有要素的边界。
  • 与其他要素共线如果添加要素源要素类中的要素与一个现有要素共线,则这些要素将追加到逻辑示意图中。 已添加要素和现有要素必须是线或面。
  • 与轮廓交叉如果添加要素源要素类中的要素与一个现有要素的轮廓交叉,则这些要素将追加到逻辑示意图中。 已添加要素和现有要素必须是线或面。 如果将面用于现有要素,则会使用面的边界(线)。 将追加在某一点交叉的线;不会追加共线的线。
String
现有要素

将对其运行空间查询的源要素类。

Feature Class
搜索距离
(可选)

现有要素参数中的要素与添加要素参数中的要素之间的距离。 仅当关系参数设置为以下选项时,该参数才有效:相交在某一距离范围内包含范围内

Linear Unit
已添加要素查询定义
(可选)

用于过滤要添加到逻辑示意图中的要素的 SQL 查询。 如果没有 SQL 查询,基于指定源类的与指定现有要素在空间上相关的要素将追加到逻辑示意图中。

SQL Expression
现有要素查询定义
(可选)

用于过滤逻辑示意图中现有要素的 SQL 查询。 如果没有 SQL 查询,将考虑基于逻辑示意图中存在的指定源类的要素。

SQL Expression
描述
(可选)

规则的描述。

String

派生输出

标注说明数据类型
输出网络

已更新的公共设施网络或追踪网络。

Utility Network; Trace Network
输出逻辑示意图模板

逻辑示意图模板的名称。

String

arcpy.nd.AddSpatialQueryRule(in_utility_network, template_name, is_active, added_features, {overlap_type}, existing_features, {search_distance}, {added_where_clause}, {existing_where_clause}, {description})
名称说明数据类型
in_utility_network

包含要修改的逻辑示意图模板的公共设施网络或追踪网络。

Utility Network; Trace Network
template_name

要修改的逻辑示意图模板名称

String
is_active

指定在基于指定模板生成并更新逻辑示意图时,规则是否将处于启用状态。

  • ACTIVE在基于输入模板生成并更新逻辑示意图的过程中,添加的规则将会变为启用状态。 这是默认设置。
  • INACTIVE在基于输入模板生成或更新逻辑示意图的过程中,添加的规则将不会变为启用状态。
Boolean
added_features

将向其添加要素的源要素类。

Feature Class
overlap_type
(可选)

指定要评估的空间关系。

  • INTERSECT如果 added_features 源要素类中的要素与一个 existing_features 相交,则这些要素将追加到逻辑示意图中。 这是默认设置。
  • WITHIN_A_DISTANCE如果 added_features 源要素类中的要素与一个 existing_features 在指定距离(采用欧氏距离)范围内,则这些要素将追加到逻辑示意图中。 使用 search_distance 参数指定距离。
  • CONTAINS如果 added_features 源要素类中的要素来自或包含于 existing_features,则这些要素将追加到逻辑示意图中。
  • WITHIN如果 added_features 源要素类中的要素在 existing_features 范围内,则这些要素将追加到逻辑示意图中。
  • BOUNDARY_TOUCHES如果 added_features 源要素类中的要素的边界与 existing_features 相接触,则这些要素将追加到逻辑示意图中。 如果 existing_features 为线或面,则 added_features 的边界只能接触 existing_features 的边界,且输入要素的任何部分均不可跨越 existing_features 的边界。
  • SHARE_A_LINE_SEGMENT_WITH如果 added_features 源要素类中的要素与一个 existing_features 共线,则这些要素将追加到逻辑示意图中。 已添加要素和现有要素必须是线或面。
  • CROSSED_BY_THE_OUTLINE_OF如果 added_features 源要素类中的要素与一个 existing_features 的轮廓交叉,则这些要素将追加到逻辑示意图中。 已添加要素和现有要素必须是线或面。 如果将面用于 existing_features,则会使用面的边界(线)。 将追加在某一点交叉的线;不会追加共线的线。
String
existing_features

将对其运行空间查询的源要素类。

Feature Class
search_distance
(可选)

existing_features 参数中的要素与 added_features 参数中的要素之间的距离。 仅当 overlap_type 参数设置为 INTERSECTWITHIN_A_DISTANCECONTAINSWITHIN 时,该参数才有效。

Linear Unit
added_where_clause
(可选)

用于过滤要添加到逻辑示意图中的要素的 SQL 查询。 如果没有 SQL 查询,基于指定源类的与指定现有要素在空间上相关的要素将追加到逻辑示意图中。

SQL Expression
existing_where_clause
(可选)

用于过滤逻辑示意图中现有要素的 SQL 查询。 如果没有 SQL 查询,将考虑基于逻辑示意图中存在的指定源类的要素。

SQL Expression
description
(可选)

规则的描述。

String

派生输出

名称说明数据类型
out_utility_network

已更新的公共设施网络或追踪网络。

Utility Network; Trace Network
out_template_name

逻辑示意图模板的名称。

String

代码示例

AddSpatialQueryRule 示例(独立脚本)

将空间查询规则添加到 MyTemplate1 模板,以系统地添加与生成的逻辑示意图中的变电站相交的所有输电线路。

import arcpy
input_Network = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.Electric"
input_DistributionLine = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.ElectricDistributionLine"
input_StructureBoundary = "D:/MyProjectLocation/MyDatabaseConnection.sde/MyDatabase.MAP.Electric/MyDatabase.MAP.ElectricStructureBoundary"

input_DiagramTemplate = "MyTemplate1"

arcpy.nd.AddSpatialQueryRule(input_Network, input_DiagramTemplate, 
                             'ACTIVE', input_DistributionLine, 'INTERSECT',
                             input_StructureBoundary, None, 'ASSETGROUP=6', 
                             'ASSETGROUP=3')

环境

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

许可信息

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

相关主题