更新逻辑示意图(批量) (Schematics)

许可等级:BasicStandardAdvanced

摘要

该工具可更新逻辑示意图数据集或逻辑示意图文件夹中存储的逻辑示意图。

可更新所有逻辑示意图或逻辑示意图的子集(例如,与特定逻辑示意图模板相关的逻辑示意图或已经若干天未更新的逻辑示意图)。

只有基于标准构建器的逻辑示意图(即基于以几何网络形式或网络数据集形式组织的要素构建的逻辑示意图以及基于自定义查询构建的逻辑示意图)可通过该地理处理工具进行更新。基于网络数据集构建器XML 构建器的逻辑示意图需要特定的输入数据,无法使用此工具进行更新。

警告警告:

如果在执行过程中检测到基于 XML 构建器或“网络数据集”构建器的逻辑示意图,会显示一个错误并停止处理过程。

用法

语法

UpdateDiagrams_schematics (in_container, {builder_options}, {recursive}, {diagram_type}, {last_update_criteria})
参数说明数据类型
in_container

逻辑示意图所在的逻辑示意图数据集或逻辑示意图文件夹。此容器必须已经存在。

Schematic Dataset; Schematic Folder
builder_options
(可选)

逻辑示意图构建器更新选项。它们属于可选项。

  • KEEP_MANUAL_MODIF默认选项。如果希望已从逻辑示意图中移除/减去的逻辑示意图要素不再出现,且希望在更新后的逻辑示意图中保留经过编辑的连接,可以使用此选项。这是默认设置。
  • NO_KEEP_MANUAL_MODIF如果希望在更新后恢复移除/减去的逻辑示意图要素以及重新连接的逻辑示意图链接,可使用此选项。
  • RESYNC_FROM_GUID如果希望基于 GUID 重新同步与逻辑示意图相关的网络要素/对象信息,可使用此特定选项。如果在生成用户数据后进行了删除和重新加载操作,则在更新逻辑示意图时必须使用此选项来避免产生错误或造成数据损坏。请注意,在使用此选项时,处理过程将基于 GUID 尝试将逻辑示意图中的逻辑示意图要素重新附加到与它们相关的网络要素/对象,但在过程结束时,逻辑示意图内容并不会得到更新。重新附加过程完成后,才会启动真正的更新过程。
String
recursive
(可选)
  • RECURSIVE在子文件夹中进行递归搜索。
  • NO_RECURSIVE不在子文件夹中进行递归搜索。
Boolean
diagram_type
[diagram_type,...]
(可选)

要更新的逻辑示意图的逻辑示意图模板。

String
last_update_criteria
(可选)

逻辑示意图更新周期(天数)。默认为零 (0),表示每天对所有逻辑示意图进行更新。

Long

代码实例

UpdateDiagrams 示例(独立 Python 脚本)

更新指定逻辑示意图文件夹中由特定逻辑示意图模板实现或已经若干天未更新的逻辑示意图。

以下 Python 脚本示例的运行方法:

  1. 启动 ArcCatalog 或 ArcMap,打开一个新的空地图。
  2. 将以下脚本复制并粘贴到 Python 窗口。
  3. 按 ENTER 键。

# Name: UpdateDiagrams.py
# Description: Update schematic diagrams
# Requirement: ArcGIS Schematics 扩展模块

# import system modules
import arcpy
msgNoLicenseAvailable = "ArcGIS Schematics 扩展模块 license required"

try:
    # Checks out the ArcGIS Schematics 扩展模块 license
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)

    # Sets environnement settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap\ElecDemo.gdb"

    # Updates diagrams stored on a specified schematic folder. For example, diagrams in the Feeders schematic folder
    arcpy.UpdateDiagrams_schematics("ElecDemo\Feeders")

    # Updates diagrams based on a specified diagram template. For example, diagrams based on the GeoSchematic diagram template
    arcpy.UpdateDiagrams_schematics("ElecDemo", "#", "RECURSIVE", "GeoSchematic")

    # Updates diagrams stored on a specified schematic folder that have not been updated for N days. For example, diagrams stored in the Inside_Plants schematic folder not updated for 7 days
    arcpy.UpdateDiagrams_schematics("ElecDemo\Inside Plants", "#", "RECURSIVE", "#", "7")

    # Returns the ArcGIS Schematics 扩展模块 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)

环境

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

相关主题

许可信息

ArcGIS for Desktop Basic:需要 Schematics
ArcGIS for Desktop Standard:需要 Schematics
ArcGIS for Desktop Advanced:需要 Schematics
9/15/2013