ダイアグラムの作成(Create Diagram) (Schematics)
サマリ
スケマティック ダイアグラムを作成します。関連するスケマティック ビルダに応じて、フィーチャ レイヤ、フィーチャクラス、オブジェクト テーブル、ネットワーク解析レイヤ、または XML データからダイアグラムを作成できます。
使用法
-
出力スケマティック ダイアグラム名がすでに存在する場合、既存のダイアグラムが削除されてから再作成される必要があります。この削除が行われないようにするには、[ジオプロセシング オプション] ダイアログ ボックスの [ジオプロセシング処理の出力ファイルを上書き] チェックボックスをオフにします。
-
作成するダイアグラムに対して指定したダイアグラム テンプレートに関連するスケマティック ビルダに応じて、[入力データ] パラメータの指定が必要な場合と不要な場合があります。
- ダイアグラム テンプレートが、ジオメトリック ネットワークから動作するように構成されたスタンダード ビルダに基づく場合、このパラメータの指定は必須です。フィーチャ レイヤ、フィーチャクラス、またはオブジェクト テーブルを入力テーブルとして指定できます。
- ダイアグラム テンプレートがネットワーク データセット ビルダに基づく場合、ユニークなネットワーク解析レイヤを [入力データ] パラメータとして指定する必要があります。
- ダイアグラム テンプレートが XML ビルダに基づく場合、ユニークな XML ファイルを [入力データ] パラメータとして指定する必要があります。
- ダイアグラム テンプレートがカスタム クエリから動作するように構成されたスタンダード ビルダに基づく場合、入力データの指定は不要です。
構文
パラメータ | 説明 | データ タイプ |
out_location |
ダイアグラムの作成先のスケマティック データセットまたはスケマティック フォルダ。 注意: このコンテナはすでに存在している必要があります。 | Schematic dataset;Schematic folder |
out_name |
作成するスケマティック ダイアグラムの名前。 | String |
diagram_type [diagram_type,...] |
作成するスケマティック ダイアグラムのスケマティック ダイアグラム テンプレート。 | |
in_data (オプション) |
ダイアグラムの生成に必要な入力データ。 [入力データ] パラメータには、ダイアグラムの生成のベースとして使用するエレメントを指定します。ほとんどの定義済みスケマティック ビルダでは、このパラメータの指定が必須です。
注意: ダイアグラム テンプレートが、ジオメトリック ネットワークから動作するように構成されたスタンダード ビルダ、XML ビルダまたはネットワーク データセット ビルダと連動する場合、入力データを指定しないと、ダイアグラムを作成できません。 | Tableview;Layer;Data element |
builder_options (オプション) |
スケマティック ビルダの作成パラメータ。これらはオプション パラメータであり、ノードをマージするかどうかを指定する目的で、ネットワーク データセット ビルダに基づいたダイアグラムに対してのみ使用されます。その他のスケマティック ビルダでは、どのオプションも不要です。
| String |
コードのサンプル
ジオメトリック ネットワークを表現する 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
解析済みのネットワーク解析レイヤからスケマティック ダイアグラムを作成します。
# 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
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
カスタム クエリからスケマティック ダイアグラムを作成します。
# 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