ダイアグラムの更新(Update Diagram) (Schematics)
サマリ
スケマティック ダイアグラムを更新します。関連するスケマティック ビルダに応じて、フィーチャ レイヤ、フィーチャクラス、オブジェクト テーブル、解析済みのネットワーク解析、または XML データからダイアグラムを更新できます。
使用法
-
[入力データ] パラメータの指定は、ネットワーク データセット ビルダおよび XML ビルダと連動するダイアグラムでは必須です。ジオメトリック ネットワーク データから動作するように構成されたスタンダード ビルダと連動するダイアグラムではオプションです。カスタム クエリから動作するように構成されたスタンダード ビルダと連動するダイアグラムでは、このパラメータは指定しません。
-
スタンダード ビルダによって実装された、トレースから生成されたダイアグラムに対して [ダイアグラムの更新(Update Diagram)] ツールを使用した場合、ハイライトされたトレースからそのダイアグラムが最初に生成されたときに、スケマティック データセットに保存されたトレース パラメータに基づく更新トレース結果から更新が実行されます。
-
ジオメトリック ネットワークを構成するフィーチャから更新を実行する必要がある場合、[入力データ] パラメータにすべてのフィーチャ レイヤを指定する必要はありません。スタンダード ビルダのプロパティで [接続ノードの追加] オプションを指定した場合、エッジ フィーチャに関連するフィーチャ レイヤのみ指定可能ですが、更新にはそのジオメトリック ネットワークに関連するすべてのフィーチャ レイヤ(ジャンクションおよびエッジ)が使用されます。
-
指定したスケマティック ダイアグラムに対して特定のレイアウトが保存されている場合、更新前にそのダイアグラム内に存在したスケマティック フィーチャが、最後に保存された位置に基づいて表示されます。更新時に新しいスケマティック フィーチャが導入された場合、そのフィーチャが対応する地理座標に配置されます。
構文
パラメータ | 説明 | データ タイプ |
in_diagram |
更新するスケマティック ダイアグラム。 | Schematic Diagram; Schematic Layer |
in_data [in_data,...] (オプション) |
ダイアグラム更新のベースとなる入力データ。 [入力データ] パラメータの指定は、定義済みのすべてのビルダで必須ではありません。これはオプション パラメータです。
| 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_NODES、KEEP_MANUAL_MODIF または NO_KEEP_MANUAL_MODIF ジオメトリック ネットワークを表現するフィーチャから生成されたダイアグラム(スタンダード ビルダ): REBUILD または APPEND、 KEEP_MANUAL_MODIF または NO_KEEP_MANUAL_MODIF
| String |
コードのサンプル
全体がカスタム クエリから構築されたスケマティック ダイアグラムを更新します。この場合、ダイアグラム名パラメータのみが必須です。
# 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
ジオメトリック ネットワークを表現するフィーチャから構築されたスケマティック ダイアグラムを更新します。
# 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
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
ネットワーク データセット ビルダに基づくスケマティック ダイアグラムを更新します。
# 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