描述
该工具可更新逻辑示意图数据集或逻辑示意图文件夹中存储的逻辑示意图。
可更新所有逻辑示意图或逻辑示意图的子集(例如,与特定逻辑示意图模板相关的逻辑示意图或已经若干天未更新的逻辑示意图)。
只有基于标准构建器的逻辑示意图(即基于以几何网络形式或网络数据集形式组织的要素构建的逻辑示意图以及基于自定义查询构建的逻辑示意图)可通过该地理处理工具进行更新。基于网络数据集构建器和 XML 构建器的逻辑示意图需要特定的输入数据,无法使用此工具进行更新。
使用方法
此工具主要用于批量更新逻辑示意图。此外,如果在逻辑示意图生成之后对用户数据进行了删除和重新加载操作,也可使用该工具基于 GUID 将逻辑示意图要素与其相关的要素/对象重新同步。
如果指定了逻辑示意图模板参数,将只更新基于该模板的逻辑示意图。
如果指定了无更新的天数参数,将只更新最近一次更新日期满足设定条件的逻辑示意图。
默认情况下,如果输入逻辑示意图容器的值指定为逻辑示意图文件夹,则更新过程将针对该逻辑示意图文件夹及其子文件夹中包含的所有逻辑示意图以递归方式执行。如果不想更新子文件夹中包含的逻辑示意图,可将递归参数设置为 0。
语法
arcpy.schematics.UpdateDiagrams(in_container, {builder_options}, {recursive}, {diagram_type}, {last_update_criteria})
参数 | 说明 | 数据类型 |
in_container | 逻辑示意图所在的逻辑示意图数据集或逻辑示意图文件夹。此容器必须已经存在。 | Schematic Dataset; Schematic Folder |
builder_options (可选) | 逻辑示意图构建器更新选项。它们属于可选项。
| String |
recursive (可选) |
| Boolean |
diagram_type (可选) | 要更新的逻辑示意图的逻辑示意图模板。 | String |
last_update_criteria (可选) | 逻辑示意图更新周期(天数)。默认为零 (0),表示每天对所有逻辑示意图进行更新。 | Long |
代码示例
UpdateDiagrams 示例(独立 Python 脚本)
更新指定逻辑示意图文件夹中由特定逻辑示意图模板实现或已经若干天未更新的逻辑示意图。以下 Python 脚本示例的运行方法:
- 启动 ArcCatalog 或 ArcMap,显示一个新的空地图。
- 将以下脚本复制并粘贴到 Python 窗口中。
- 按 Enter 键。
# Name: UpdateDiagrams.py
# Description: Update schematic diagrams
# Requirement: ArcGIS Schematics extension
# import system modules
import arcpy
msgNoLicenseAvailable = "ArcGIS Schematics extension license required"
try:
# Checks out the ArcGIS Schematics extension license
if arcpy.CheckExtension("Schematics") == "Available":
arcpy.CheckOutExtension("Schematics")
else:
raise Exception(msgNoLicenseAvailable)
# Sets Schematics general settings
dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_In_ArcMap"
gdbName="ElecDemo.gdb"
in_schDataset="ElecDemo"
in_schFolder1="Feeders"
in_schFolder2="Inside Plants"
in_diagTempName="GeoSchematic"
recOption1="RECURSIVE"
recOption2="NO_RECURSIVE"
nbDays="7"
# Sets environnement settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = dataLocation + "/" + gdbName
# Updates diagrams stored on a specified schematic folder;
arcpy.UpdateDiagrams_schematics(in_schDataset + "/" + in_schFolder1)
# Updates diagrams based on a specified diagram template.
arcpy.UpdateDiagrams_schematics(in_schDataset, "#", recOption1, in_diagTempName)
# Updates diagrams stored on a specified schematic folder that have not been updated for N days.
arcpy.UpdateDiagrams_schematics(in_schDataset + "/" + in_schFolder2, "#", recOption1, "#", nbDays)
# Returns the ArcGIS Schematics extension license
arcpy.CheckInExtension("Schematics")
print "Script completed successfully"
except Exception as e:
# If an error occurred, print line number and error message
import traceback, sys
tb = sys.exc_info()[2]
print "An error occured on line %i" % tb.tb_lineno
print str(e)
环境
此工具不使用任何地理处理环境。
许可信息
- Basic: 需要 Schematics
- Standard: 需要 Schematics
- Advanced: 需要 Schematics