ダイアグラムの作成(Create Diagram) (Schematics)

サマリ

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

使用法

構文

CreateDiagram_schematics (out_location, out_name, diagram_type, {in_data}, {builder_options})
パラメータ説明データ タイプ
out_location

ダイアグラムの作成先のスケマティック データセットまたはスケマティック フォルダ。

注意注意:

このコンテナはすでに存在している必要があります。

Schematic dataset;Schematic folder
out_name

作成するスケマティック ダイアグラムの名前。

String
diagram_type
[diagram_type,...]

作成するスケマティック ダイアグラムのスケマティック ダイアグラム テンプレート。

in_data
(オプション)

ダイアグラムの生成に必要な入力データ。

[入力データ] パラメータには、ダイアグラムの生成のベースとして使用するエレメントを指定します。ほとんどの定義済みスケマティック ビルダでは、このパラメータの指定が必須です。

  • ダイアグラム テンプレートが、ジオメトリック ネットワークから動作するように構成されたスタンダード ビルダと連動する場合、[入力データ] パラメータで少なくともフィーチャ レイヤ、フィーチャクラス、またはオブジェクト テーブルを参照する必要があります。
  • ダイアグラム テンプレートがネットワーク データセット ビルダと連動する場合、[入力データ] パラメータでユニークなネットワーク解析レイヤを参照する必要があります。関連するネットワーク解析が実行されない場合、解析済みの解析レイヤを入力として使用できるように、解析の実行が試みられます。
  • ダイアグラム テンプレートが XML ビルダに関連付けられている場合、ダイアグラムを生成するためのデータが外部コンポーネントによって提供されるなら、[入力データ] パラメータの指定はオプションです。しかし、ビルダ プロパティで外部コンポーネントを定義していない場合は、[入力データ] パラメータで XML ファイルを参照する必要があります。どちらの場合も、入力 XML データは XMLBuilderDiagram XML スキーマ ファイルに従って構築する必要があります。
  • ダイアグラム テンプレートが、カスタム クエリから動作するように構成されたスタンダード ビルダと連動する場合、入力データは不要です。
注意注意:

ダイアグラム テンプレートが、ジオメトリック ネットワークから動作するように構成されたスタンダード ビルダ、XML ビルダまたはネットワーク データセット ビルダと連動する場合、入力データを指定しないと、ダイアグラムを作成できません。

Tableview;Layer;Data element
builder_options
(オプション)

スケマティック ビルダの作成パラメータ。これらはオプション パラメータであり、ノードをマージするかどうかを指定する目的で、ネットワーク データセット ビルダに基づいたダイアグラムに対してのみ使用されます。その他のスケマティック ビルダでは、どのオプションも不要です。

  • MERGE_NODESルート解析結果のルートに沿って複数回取得されたネットワーク エレメント ジャンクションを、生成するスケマティック ダイアグラムで 1 つのスケマティック フィーチャ ノードによって表現することを指定します。また、到達圏解析で同じ位置にあるミッドスパン ジャンクション エレメントをマージすることもできます。
  • NO_MERGE_NODESスケマティック フィーチャ ノードをマージしないことを指定します(デフォルト)。
String

コードのサンプル

サンプル 1: CreateDiagram(ダイアグラムをフィーチャに変換)とジオメトリック ネットワーク データに作用するスタンダード ビルダ

ジオメトリック ネットワークを表現する GIS フィーチャからスケマティック ダイアグラムを作成します。

# Name: CreateDiagramStd.py
# Description: Create schematic diagrams from GIS 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 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)

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

except Exception as exc:
		print exc
サンプル 2: CreateDiagram(ダイアグラムをフィーチャに変換)とネットワーク データセット ビルダ

解析済みのネットワーク解析レイヤからスケマティック ダイアグラムを作成します。

# Name: CreateDiagramNDS.py
# Description: Create 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)
	
	# Check out the Network Analyst extension license
	if arcpy.CheckExtension("Network Analyst") == "Available":
		arcpy.CheckOutExtension("Network Analyst")
	else:
		raise Exception(msgNoLicenseNetworkAnalystAvailable)

	# 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: CreateDiagram from the solved Route network analysis layer: A diagram containing schematic features associated with each route objects in that network analysis layer will be created. Depending on the MERGE_NODES and NO_MERGE_NODES option, network element junctions which are taken several times along the resultant route will be represented by a single schematic feature node in the generated schematic diagram (MERGE_NODES) or not (NO_MERGE_NODES)
	arcpy.CreateDiagram_schematics("NA_SchematicDataset", "DiagramRoute1_MERGED", "NADiagrams", "Route", "MERGE_NODES")
	arcpy.CreateDiagram_schematics("NA_SchematicDataset", "DiagramRoute1_NOTMERGED", "NADiagrams", "Route", "NO_MERGE_NODES")			


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

except Exception as exc:
		print exc
サンプル 3: CreateDiagram(ダイアグラムをフィーチャに変換)と XML ビルダ

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

# Name: CreateDiagramXML.py
# Description: Create a schematic diagram 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: CreateDiagram from the SampleNetworkData.xml file based on the XMLBuilderDiagram XML Schema file: A diagram containing schematic features associated with each element stored in that XML file will be created.
	arcpy.CreateDiagram_schematics("XMLSampleSchDataset", "XMLDiagramSample", "XMLDiagrams", "C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data\SampleNetworkFeeder1.xml")

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

except Exception as exc:
		print exc
サンプル 4: CreateDiagram(ダイアグラムをフィーチャに変換)とカスタム クエリから動作するスタンダード ビルダ

カスタム クエリからスケマティック ダイアグラムを作成します。

# Name: CreateDiagramCustomQuery.py
# Description: Create a schematic diagram 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: CreateDiagram from the InsidePlants diagram template.
	arcpy.CreateDiagram_schematics("ElecDemo\Inside Plants", "Substation 08", "InsidePlants")

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

except Exception as exc:
		print exc

環境

関連項目

ライセンス情報

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

7/10/2012