ダイアグラムの更新(Update Diagram) (Schematics)

サマリ

スケマティック ダイアグラムを更新します。関連するスケマティック ビルダに応じて、フィーチャ レイヤ、フィーチャクラス、オブジェクト テーブル、解析済みのネットワーク解析、または XML データからダイアグラムを更新できます。

使用法

構文

UpdateDiagram_schematics (in_diagram, {in_data}, {builder_options})
パラメータ説明データ タイプ
in_diagram

更新するスケマティック ダイアグラム。

Schematic Diagram; Schematic Layer
in_data
[in_data,...]
(オプション)

ダイアグラム更新のベースとなる入力データ。

[入力データ] パラメータの指定は、定義済みのすべてのビルダで必須ではありません。これはオプション パラメータです。

  • ダイアグラム テンプレートが、カスタム クエリから動作するように構成されたスタンダード ビルダと連動する場合、入力テーブルは設定しません。
  • ダイアグラム テンプレートが XML ビルダと連動する場合、[入力データ] パラメータで XML ファイルを参照する必要があります。
  • ダイアグラム テンプレートがネットワーク データセット ビルダと連動する場合、入力データを指定する必要があります。ユニークなネットワーク解析レイヤを参照しなければなりません。関連するネットワーク解析が実行されない場合、解析済みの解析レイヤを入力として使用できるように、解析の実行が試みられます。
  • ダイアグラム テンプレートがジオメトリック ネットワークから動作するように構成されたスタンダード ビルダと連動する場合、[入力データ] パラメータを指定しないと、[ダイアグラムの更新(Update Diagram)] ツールは、ダイアグラムの生成に使用されたフィーチャ/オブジェクトの初期セットから動作するか、またはダイアグラムがハイライトされたトレースから生成された場合、スケマティック データベースに保存されているトレース パラメータに基づく更新されたトレース結果から動作します。[入力データ] パラメータを指定しない場合は、少なくともフィーチャ レイヤ、フィーチャクラス、またはオブジェクト テーブルを参照し、[ビルダ オプション] 値に従ってそのデータに対して更新が実行されるようにする必要があります。

TableView; Layer; Data Element
builder_options
[builder_options,...]
(オプション)

スケマティック ビルダの更新オプション。更新オプションはオプションです。指定したスケマティック ダイアグラムを実装するダイアグラム テンプレートに関連付けられているビルダによって異なります。

カスタム クエリから生成されたダイアグラム(スタンダード ビルダ): KEEP_MANUAL_MODIF または NO_KEEP_MANUAL_MODIF

XML データから生成されたダイアグラム(XML ビルダ): KEEP_MANUAL_MODIF または NO_KEEP_MANUAL_MODIF

ネットワーク データセットに対する解析結果から生成されたダイアグラム(ネットワーク データセット ビルダ): MERGE_NODES または NO_MERGE_NODESKEEP_MANUAL_MODIF または NO_KEEP_MANUAL_MODIF

ジオメトリック ネットワークを表現するフィーチャから生成されたダイアグラム(スタンダード ビルダ): REBUILD または APPEND KEEP_MANUAL_MODIF または NO_KEEP_MANUAL_MODIF

  • KEEP_MANUAL_MODIFデフォルト オプション。ダイアグラムから削除または削減したスケマティック フィーチャが再表示されないようにし、編集した接続が更新後のダイアグラムで維持されるようにする場合は、このオプションを指定します。
  • NO_KEEP_MANUAL_MODIF削除または削減したスケマティック フィーチャと再接続したスケマティック フィーチャ リンクを更新後に元に戻す場合は、このオプションを指定します。
  • NO_MERGE_NODESネットワーク データセット ビルダに基づくダイアグラムのデフォルト オプション。更新後のダイアグラムでスケマティック フィーチャ ノードがマージされないようにする場合に指定します。
  • MERGE_NODESネットワーク データセット ビルダに基づくダイアグラムで利用できるオプション。ルート解析結果のルートに沿って複数回出現するネットワーク エレメント ジャンクションを、更新後のスケマティック ダイアグラムで 1 つのスケマティック フィーチャ ノードによって表現できるようにする場合に指定します。またこのオプションでは、到達圏解析の場合に、同じ位置にあるミッドスパン ジャンクション エレメントをマージすることもできます。
  • REBUILD入力データの設定時にスタンダード ビルダに基づくダイアグラムで利用できるオプション(デフォルト)。指定したスケマティック ダイアグラムが、指定した入力フィーチャ レイヤ、フィーチャクラス、またはオブジェクト テーブルに基づいて完全に再構築されるようにする場合は、このオプションを指定します。
  • APPEND入力データの設定時にスタンダード ビルダに基づくダイアグラムで利用できるオプション。指定したスケマティック ダイアグラムの生成に最初に使用されたすべてのスケマティック フィーチャを維持しながら、指定した入力フィーチャ レイヤ、フィーチャクラス、またはオブジェクト テーブルに関連付けられたスケマティック オブジェクトを追加して、すべてのダイアグラム コンテンツを更新する場合は、このオプションを指定します。
String

コードのサンプル

サンプル 1: UpdateDiagram(ダイアグラムの更新)とカスタム クエリから動作するスタンダード ビルダ

全体がカスタム クエリから構築されたスケマティック ダイアグラムを更新します。この場合、ダイアグラム名パラメータのみが必須です。

# Name: UpdateDiagramCustomQuery.py
# Description: Update a schematic diagram entirely built from custom queries
# Author: ESRI

# import system modules
import arcpy
msgNoLicenseAvailable = "Schematics license required"

try:
	# Check out the ArcGIS Schematic extension license
	if arcpy.CheckExtension("Schematics") == "Available":
		arcpy.CheckOutExtension("Schematics")
	else:
		raise Exception(msgNoLicenseAvailable)
	
	# Set environment settings
	arcpy.OverWriteOutput = True
	arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap\ElecDemo.gdb"

	#Process: Update the 'Substation 08' schematic diagram.
	arcpy.UpdateDiagram_schematics("ElecDemo\Inside Plants\Substation 08")

	# Returns the schematic license
	arcpy.CheckInExtension("Schematics")

except Exception as exc:
		print exc
サンプル 2: UpdateDiagram(ダイアグラムの更新)とジオメトリック ネットワーク データに作用するスタンダード ビルダ

ジオメトリック ネットワークを表現するフィーチャから構築されたスケマティック ダイアグラムを更新します。

# Name: UpdateDiagramStd.py
# Description: Update schematic diagrams built from features organized into a geometric network
# Author: ESRI

# import system modules
import arcpy
msgNoLicenseAvailable = "Schematics license required"

try:
	# Check out the ArcGIS Schematic extension license
	if arcpy.CheckExtension("Schematics") == "Available":
		arcpy.CheckOutExtension("Schematics")
	else:
		raise Exception(msgNoLicenseAvailable)
	
	# Set environment settings
	arcpy.OverWriteOutput = True
	arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap\ElecDemo.gdb"

	#Process: CreateDiagram from the Feeder feature class: A diagram containing schematic features associated with each GIS feature stored in that feature class will be created.
	arcpy.CreateDiagram_schematics("ElecDemo", "FeederDiagram", "GeoSchematic", "ElectricNetwork\Feeder")

	#Process: CreateDiagram based on all the edge feature classes contained in a geometric network. A diagram containing schematic features associated with all the GIS features in that geometric network will be created.
	arcpy.CreateDiagram_schematics("ElecDemo", "ElectricNetworkDiagram", "GeoSchematic", "ElectricNetwork\PrimaryLine;ElectricNetwork\SecondaryLine")

	#Process: CreateDiagram based on all primary lines Phase ABC
	# 1) Create a layer with the selection 
	InputLayer = arcpy.MakeFeatureLayer_management(r'ElectricNetwork\PrimaryLine',"PrimaryLineLayer", "[PHASECODE] =135")
	# 2) Use the layer as input of CreateDiagram
	arcpy.CreateDiagram_schematics("ElecDemo", "ElectricMainNetworkDiagram", "GeoSchematic", InputLayer)

	#Process: Updating the FeederDiagram diagram without optional parameter: the update operates from the initial feature set used to initially generate the specified schematic diagram or from the updated trace result based on the trace parameters that were persisted in the schematic database if the diagram was generated from an highlighted trace.
	arcpy.UpdateDiagram_schematics("ElecDemo\FeederDiagram")

	#Process: Update the ElectricNetworkDiagram-With Removed diagram with the KEEP_MANUAL_MODIF optional parameter: the update operates from the initial feature set used to initially generate the specified schematic diagram or from the updated trace result based on the trace parameters that persisted in the schematic database if the diagram was generated from an highlighted trace, schematic features that have been manually reduced or removed, and schematic feature links that have been reconnected in the diagram after its generation being kept as removed/reduced/reconnected schematic features.
	arcpy.UpdateDiagram_schematics("ElecDemo\ElectricNetworkDiagram-WithRemoved", "#", "KEEP_MANUAL_MODIF")

	#Process: Update the ElectricNetworkDiagram diagram using a set of feature classes to rebuild it.
	arcpy.UpdateDiagram_schematics("ElecDemo\ElectricNetworkDiagram", "ElectricNetwork\PrimaryLine;ElectricNetwork\SecondaryLine", "REBUILD")

	#Process: UpdateDiagram on the FeederDiagramBIS diagram by appending new features
	arcpy.UpdateDiagram_schematics("ElecDemo\FeederDiagramBIS", "ElectricNetwork\Substation", "APPEND")

	#Process: Update the ElectricMainNetworkDiagram diagram using an updated selection of features
	InputLayer = arcpy.MakeFeatureLayer_management(r'ElectricNetwork\PrimaryLine',"PrimaryLineLayer", "[PHASECODE] =135")
	arcpy.UpdateDiagram_schematics("ElecDemo\ElectricMainNetworkDiagram", InputLayer, "REBUILD")
	
	# Returns the schematic license
	arcpy.CheckInExtension("Schematics")

except Exception as exc:
		print exc
サンプル 3: UpdateDiagram(ダイアグラムの更新)と XML ビルダ

XML ビルダに基づくスケマティック ダイアグラムを更新します。

# Name: UpdateDiagramXML.py
# Description: Update schematic diagrams based on the XML builder
# Author: ESRI

# import system modules
import arcpy
msgNoLicenseAvailable = "Schematics license required"

try:
	# Check out the ArcGIS Schematic extension license
	if arcpy.CheckExtension("Schematics") == "Available":
		arcpy.CheckOutExtension("Schematics")
	else:
		raise Exception(msgNoLicenseAvailable)
	
	# Set environment settings
	arcpy.OverWriteOutput = True
	arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data\GISDatabaseForXML.gdb"

	#Process: Update the XMLDiagramSample diagram from the SampleTutorialData.xml file based on the XMLBuilderDiagram XML Schema file
	arcpy.UpdateDiagram_schematics("XMLSampleSchDataset\XMLDiagramSample", "C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data\SampleNetworkUpdatedFeeder1.xml")

	# Returns the schematic license
	arcpy.CheckInExtension("Schematics")

	# Returns the schematic license
	arcpy.CheckInExtension("Schematics")

except Exception as exc:
		print exc
サンプル 4: UpdateDiagram(ダイアグラムの更新)とネットワーク データセット ビルダ

ネットワーク データセット ビルダに基づくスケマティック ダイアグラムを更新します。

# Name: UpdateDiagramNDS.py
# Description: Update schematic diagrams based on the Network Dataset builder
# Author: ESRI

# import system modules
import arcpy
msgNoLicenseAvailable = "Schematics license required"

try:
	# Check out the ArcGIS Schematic extension license
	if arcpy.CheckExtension("Schematics") == "Available":
		arcpy.CheckOutExtension("Schematics")
	else:
		raise Exception(msgNoLicenseAvailable)
	
	# Set environment settings
	arcpy.OverWriteOutput = True
	arcpy.env.workspace = "C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Network_Dataset\NetworkAnalyst_Schematics.gdb"

	#Solving the Route network analysis layer
	arcpy.solve("Route", "HALT")

	#Process: Update the DiagramRoute1_MERGED and DiagramRoute1_NOTMERGED diagrams from the solved Route network analysis layer
	arcpy.UpdateDiagram_schematics("NA_SchematicDataset\DiagramRoute1_MERGED", "Route", "MERGE_NODES")
	arcpy.UpdateDiagram_schematics("NA_SchematicDataset\DiagramRoute1_NOTMERGED", "Route", "NO_MERGE_NODES")

except Exception as exc:
		print exc

環境

このツールは、ジオプロセシング環境を使用しません

関連項目

ライセンス情報

ArcView: 必須 Schematics
ArcEditor: 必須 Schematics
ArcInfo: 必須 Schematics

7/10/2012