使用方法
在与企业级地理数据库中的公共设施网络或追踪网络数据库连接搭配使用时,系统不支持此工具。您必须使用相关的已发布公共设施网络或追踪网络服务或文件地理数据库中的公共设施网络或追踪网络。
输入网络逻辑示意图图层必须来自文件地理数据库中的公共设施网络或追踪网络或者网络逻辑示意图服务。
默认情况下,新的网络逻辑示意图是一种临时逻辑示意图,关闭对其进行引用的地图后,将放弃该临时逻辑示意图。存储临时逻辑示意图允许在数据库中保留逻辑示意图以在其他时间重新打开。
要避免不必要地增大数据库大小并使未来进程(例如复制数据集或者升级或迁移数据库)花费的时间更长,请仅在必要时存储逻辑示意图。示例为存储您不希望丢失的具有优化布局的逻辑示意图,或者存储要共享的逻辑示意图。
访问权限级别仅应用于已存储的逻辑示意图;临时逻辑示意图在数据库中不可用,并且其他人无法访问。唯一的例外是在保存包含临时逻辑示意图的工程并将其分配给其他人时。
可以使用数字符号 (#) 来分隔标签,以使用查找逻辑示意图窗格进行有效搜索。
尝试存储不一致的逻辑示意图将失败。在这种情况下,请使用更新逻辑示意图工具来更新逻辑示意图,以使其在存储之前变为一致。
尝试存储具有未保存的编辑内容的逻辑示意图将失败。必须在存储逻辑示意图之前保存所有编辑内容,以确保逻辑示意图反映出数据库中最后保存时的网络拓扑。
尝试基于相应模板存储逻辑示意图将失败,该模板已禁用逻辑示意图存储功能。可以使用更改逻辑示意图模板工具在逻辑示意图模板级别阻止逻辑示意图存储,由此不会将数据库空间浪费在不相关的存储逻辑示意图上。
在文件地理数据库中使用 公共设施网络或追踪网络 时,可以使用公共访问权限存储逻辑示意图,即使没有连接到 ArcGIS Enterprise 门户时也是如此。但是,必须通过受保护或私人访问权限进行连接以存储逻辑示意图。
语法
arcpy.nd.StoreDiagram(in_network_diagram_layer, out_name, {access_right_type}, {tags})
参数 | 说明 | 数据类型 |
in_network_diagram_layer | 要存储的临时网络逻辑示意图。 | Diagram Layer |
out_name | 输出网络逻辑示意图的名称。 | Diagram Layer |
access_right_type (可选) | 指定输入逻辑示意图的访问权限等级。
| String |
tags (可选) | 标签可帮助使用查找逻辑示意图窗格来查询存储的逻辑示意图。 可以使用 # 字符分隔各个标签,有助于进行高效的逻辑示意图搜索。 | String |
代码示例
下列独立脚本会演示如何创建网络逻辑示意图并将其存储在数据库中。
# Name: GenerateAndStoreADiagram.py
# Description: Generate and store a diagram from a set of features based on a feature class and an attribute query.
# Import system modules
import arcpy
# Initialize variables
input_network = "https://cezembre.esri.com/server/rest/services/Naperville_Electric_SQL/FeatureServer/0"
input_fc = "https://cezembre.esri.com/server/rest/services/Naperville_Electric_SQL/FeatureServer/7"
sql_expression = "SUBNETWORKNAME='RMT003'"
template_name = "Basic"
output_diagram_name = "MyBasicRMT003Diagram"
# Set overwrite option
arcpy.env.overwriteOutput = True
# Make a layer from features in the feature class filtered out using an attribute query
FeatureLayer = arcpy.MakeFeatureLayer_management(input_fc, "built_featurelayer",
sql_expression)
# Create a diagram based on a given template name from those features
result = arcpy.CreateDiagram_nd(input_network, template_name,
"built_featurelayer")
diagram_name = result[1]
arcpy.MakeDiagramLayer_nd(input_network, diagram_name,
"built_diagramlayer")
# Store the resulting diagram in the database.
arcpy.StoreDiagram_nd("built_diagramlayer", output_diagram_name)
环境
许可信息
- Basic: 否
- Standard: 是
- Advanced: 是