添加空间查询规则 (网络逻辑示意图工具)
汇总
添加逻辑示意图规则,根据逻辑示意图中当前显示的网络要素的位置,自动将新的网络要素追加到逻辑示意图中。
了解有关使用空间查询规则构建网络逻辑示意图的详细信息
注:
该工具会影响基于输入逻辑示意图模板的任何现有逻辑示意图的一致性。 所有现有逻辑示意图都将变得不一致,并在打开时显示一致性警告图标
,直到对其进行更新为止。
用法
系统在使用公共设施网络或追踪网络服务时不支持此工具。 您必须使用文件或移动地理数据库中的公共设施网络或追踪网络,或者企业级地理数据库中公共设施网络或追踪网络的数据库连接。 当使用企业级地理数据库时,需要满足以下要求:
“空间查询”规则用于根据其相对于当前逻辑示意图中存在的网络要素的位置来检测新的网络要素,并将新检测到的要素附加到网络逻辑示意图。
规则处理的网络要素基于相同的要素类,并且可以使用 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
|
指定在基于指定模板生成并更新逻辑示意图时,规则是否将处于启用状态。
|
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 参数设置为 INTERSECT、WITHIN_A_DISTANCE、CONTAINS 或 WITHIN 时,该参数才有效。
|
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')
环境
此工具不使用任何地理处理环境。
许可信息