ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

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

  • 概要
  • 使用法
  • 構文
  • コードのサンプル
  • 環境
  • ライセンス情報

概要

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

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

使用法

  • [入力データ] パラメーターの指定は、ネットワーク データセット ビルダーおよび XML ビルダーと連動するダイアグラムでは必須です。ジオメトリック ネットワークまたはネットワーク データセットから動作するように構成されたスタンダード ビルダーと連動するダイアグラムではオプションです。カスタム クエリから動作するように構成されたスタンダード ビルダーと連動するダイアグラムでは、このパラメーターは指定しません。

  • スタンダード ビルダーによって実装された、ジオメトリック ネットワーク トレースから生成されたダイアグラムに対して [ダイアグラムの更新 (Update Diagram)] ツールを使用した場合、ハイライトされたトレースからそのダイアグラムが最初に生成されたときに、スケマティック データセットに保存されたトレース パラメーターに基づく更新トレース結果から更新が実行されます。

  • ジオメトリック ネットワークまたはネットワーク データセットを構成するフィーチャから更新を実行する必要がある場合、[入力データ] パラメーターにすべてのフィーチャ レイヤーを指定する必要はありません。スタンダード ビルダーのプロパティで [接続ノードの追加] オプションを指定した場合、エッジ フィーチャまたはエッジ ネットワーク エレメントに関連するフィーチャ レイヤーのみ指定可能ですが、更新にはそのジオメトリック ネットワークまたはネットワーク データセットに関連するすべてのフィーチャ レイヤー (ジャンクションおよびエッジ) が使用されます。

  • 指定したスケマティック ダイアグラムに対して特定のレイアウトが保存されている場合、更新前にそのダイアグラム内に存在したスケマティック フィーチャが、最後に保存された位置に基づいて表示されます。更新時に新しいスケマティック フィーチャが導入された場合、そのフィーチャが対応する地理座標に配置されます。

構文

arcpy.schematics.UpdateDiagram(in_diagram, {in_data}, {builder_options})
パラメーター説明データ タイプ
in_diagram

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

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

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

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

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

Table View;Data Element;Layer
builder_options
(オプション)

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

  • カスタム クエリから生成されたダイアグラム (スタンダード ビルダー): KEEP_MANUAL_MODIF、NO_KEEP_MANUAL_MODIF、または REFRESH
  • XML データから生成されたダイアグラム (XML ビルダー): KEEP_MANUAL_MODIF または NO_KEEP_MANUAL_MODIF
  • ネットワーク データセットに対する解析結果から生成されたダイアグラム (ネットワーク データセット ビルダー): NO_MERGE_NODES;KEEP_MANUAL_MODIF、NO_MERGE_NODES;NO_KEEP_MANUAL_MODIF、MERGE_NODES;KEEP_MANUAL_MODIF または MERGE_NODES;NO_KEEP_MANUAL_MODIF
  • ジオメトリック ネットワークまたはネットワーク データセットにまとめられたフィーチャから生成されたダイアグラム (スタンダード ビルダー) :
    • [入力データ] パラメーターが指定されていない場合 - KEEP_MANUAL_MODIF、NO_KEEP_MANUAL_MODIF、または REFRESH
    • [入力データ] パラメーターが指定されている場合 - REBUILD;KEEP_MANUAL_MODIF、REBUILD;NO_KEEP_MANUAL_MODIF、APPEND;KEEP_MANUAL_MODIF、APPEND;NO_KEEP_MANUAL_MODIF、APPEND_QUICK;KEEP_MANUAL_MODIF、または APPEND_QUICK;NO_KEEP_MANUAL_MODIF

  • KEEP_MANUAL_MODIF —入力データが設定されていない場合の、XML ビルダーまたはスタンダード ビルダーに基づくダイアグラムのデフォルト オプション。入力ダイアグラムのコンテンツを、このダイアグラムを最初に生成するときに使用した元の選択内容/トレース/クエリに対して同期するか (スタンダード ダイアグラム)、または最初にダイアグラムを生成するときに使用した XML 入力データの更新バージョンから同期し (XML ダイアグラム)、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに保持します。
  • NO_KEEP_MANUAL_MODIF —入力データが設定されていないときに、XML ビルダーまたはスタンダード ビルダーに基づくダイアグラムで利用できるオプション。入力ダイアグラムのコンテンツを、このダイアグラムを最初に生成するときに使用した元の選択内容/トレース/クエリに対して同期するか (スタンダード ダイアグラム)、または最初にダイアグラムを生成するときに使用した XML 入力データの更新バージョンから同期し (XML ダイアグラム)、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに復元します。
  • REFRESH —入力データが設定されていないときに、スタンダード ビルダーに基づくダイアグラムで利用できるオプション。入力ダイアグラム内のすべてのスケマティック フィーチャの属性を、ジオメトリック ネットワークまたはネットワーク データセット フィーチャクラス内の関連するネットワーク フィーチャの現在の状態に更新するだけです。
  • REBUILD;KEEP_MANUAL_MODIF —入力データの設定時にスタンダード ビルダーに基づくダイアグラムで利用できるオプション (デフォルト)。指定した入力フィーチャ レイヤー、フィーチャクラス、またはオブジェクト テーブルに従って入力ダイアグラムを完全に再構築し、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに保持します。
  • REBUILD;NO_KEEP_MANUAL_MODIF —入力データの設定時にスタンダード ビルダーに基づくダイアグラムで利用できるオプション。指定した入力フィーチャ レイヤー、フィーチャクラス、またはオブジェクト テーブルに従って入力ダイアグラムを完全に再構築し、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに復元します。
  • APPEND;KEEP_MANUAL_MODIF —入力データの設定時にスタンダード ビルダーに基づくダイアグラムで利用できるオプション。指定した入力フィーチャ レイヤー、フィーチャクラス、またはオブジェクト テーブルに関連付けられたスケマティック フィーチャをアペンドして、入力ダイアグラムのコンテンツを完全に同期し、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに保持します。
  • APPEND;NO_KEEP_MANUAL_MODIF —入力データの設定時にスタンダード ビルダーに基づくダイアグラムで利用できるオプション。指定した入力フィーチャ レイヤー、フィーチャクラス、またはオブジェクト テーブルに関連付けられたスケマティック フィーチャをアペンドして、入力ダイアグラムのコンテンツを完全に同期し、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに復元します。
  • APPEND_QUICK;KEEP_MANUAL_MODIF —入力データの設定時にスタンダード ビルダーに基づくダイアグラムで利用できるオプション。指定した入力フィーチャ レイヤー、フィーチャクラス、またはオブジェクト テーブルに関連付けられたスケマティック フィーチャをアペンドして、入力ダイアグラムのコンテンツを部分的に同期し、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに保持します。
  • APPEND_QUICK;NO_KEEP_MANUAL_MODIF —入力データの設定時にスタンダード ビルダーに基づくダイアグラムで利用できるオプション。指定した入力フィーチャ レイヤー、フィーチャクラス、またはオブジェクト テーブルに関連付けられたスケマティック フィーチャをアペンドして、入力ダイアグラムのコンテンツを部分的に同期し、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに復元します。
  • NO_MERGE_NODES;KEEP_MANUAL_MODIF —ネットワーク データセット ビルダーに基づくダイアグラムのデフォルト オプション。指定した解析済みのネットワーク解析レイヤーから、このレイヤーに複数回出現するノードをマージせずに入力ダイアグラムを更新し、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに保持します。
  • NO_MERGE_NODES;NO_KEEP_MANUAL_MODIF —ネットワーク データセット ビルダーに基づくダイアグラムで利用できるオプション。指定した解析済みのネットワーク解析レイヤーから、このレイヤーに複数回出現するノードをマージせずに入力ダイアグラムを更新し、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに復元します。
  • MERGE_NODES;KEEP_MANUAL_MODIF —ネットワーク データセット ビルダーに基づくダイアグラムで利用できるオプション。指定した解析済みのネットワーク解析レイヤーから入力ダイアグラムを更新して、このレイヤーに複数回出現するノードをマージし、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに保持します。
  • MERGE_NODES;NO_KEEP_MANUAL_MODIF —ネットワーク データセット ビルダーに基づくダイアグラムで利用できるオプション。指定した解析済みのネットワーク解析レイヤーから入力ダイアグラムを更新して、このレイヤーに複数回出現するノードをマージし、手動で削除/削減/再接続したスケマティック フィーチャを更新後のダイアグラムに復元します。
String

コードのサンプル

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

全体がカスタム クエリから構築されたサンプルのスケマティック ダイアグラムを更新します。この場合、ダイアグラム名パラメーターのみが必須です。この Python スクリプトの例の実行方法は次のとおりです。

  1. 新しい空のマップを使用して ArcCatalog または ArcMap を起動します。
  2. 以下のスクリプトをコピーして Python ウィンドウに貼り付けます。
  3. Enter キーを押します。

# Name: UpdateDiagramCustomQuery.py
# Description: Update a schematic diagram entirely built from custom queries
# Requirement: ArcGIS Schematics extension
# import system modules
import arcpy
msgNoLicenseAvailable = "ArcGIS Schematics extension license required"
try:
    # Checks out the ArcGIS Schematics extension license
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)
    # Sets Schematics general settings
    dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_In_ArcMap"
    gdbName="ElecDemo.gdb"
    in_schDataset="ElecDemo"
    in_schFolder="Inside Plants"
    in_diagName="Substation 08"
    builder_option1="REFRESH"
    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName
    # UpdateDiagram by only refreshing attributes on the input diagram's schematic features 
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_schFolder + "/" + in_diagName, "#", builder_option1)
    # UpdateDiagram by fully synchronizing the input custom queries-based diagram (no parameters required)
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_schFolder + "/" + in_diagName)
    # Returns the ArcGIS Schematics extension 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 occurred on line %i" % tb.tb_lineno
    print str(e)
UpdateDiagram (ダイアグラムの更新) とジオメトリック ネットワーク データで動作するスタンダード ビルダー - 例 2 (スタンドアロン Python スクリプト)

ジオメトリック ネットワークにまとめられたフィーチャから構築されたサンプルのスケマティック ダイアグラムを更新します。この Python スクリプトの例の実行方法は次のとおりです。

  1. 新しい空のマップを使用して ArcCatalog または ArcMap を起動します。
  2. 以下のスクリプトをコピーして Python ウィンドウに貼り付けます。
  3. Enter キーを押します。

# Name: UpdateDiagramStd.py
# Description: Update schematic diagrams built from features organized into a geometric network
# Requirement: ArcGIS Schematics extension
# import system modules
import arcpy
msgNoLicenseAvailable = "ArcGIS Schematics extension license required"
try:
    # Checks out the ArcGIS Schematics extension license
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)
    # Sets Schematics general settings
    dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_In_ArcMap"
    gdbName="ElecDemo.gdb"
    in_schDataset="ElecDemo"
    in_schFolder="Feeders"
    in_diagTempName="GeoSchematic"
    # Sets variables used for the A/ UpdateDiagram sample
    in_diagAName="Feeder 0801-Rice Creek"
    # Sets variables used for the B/ UpdateDiagram sample
    in_diagBName="Feeder 0802-Goldmine"
    # Sets variables used for the C/ UpdateDiagram sample
    in_diagCName="WholeElectricNetworkDiagram"
    input_ForCDiag="ElectricNetwork/PrimaryLine;ElectricNetwork/SecondaryLine"    
    input_FC1="ElectricNetwork/PrimaryLine"
    # Sets variables used for the D/ UpdateDiagram sample
    in_diagDName="FeederDiagram"
    input_ForDDiag="ElectricNetwork/Feeder"
    input_FC2="ElectricNetwork/Substation"
    # Sets variables used for the E/ UpdateDiagram sample
    in_diagEName="FeederDiagramBIS"
    input_ForEDiag="ElectricNetwork/Feeder"
    input_FC3="ElectricNetwork/ServiceLocation"
    # Sets variables used for the F/ UpdateDiagram sample
    input_LayerName="PrimaryLineLayer"
    input_Filter="PHASECODE=135"    
    in_diagFName="PrimaryLinesDiagram"
    # Sets  builder_options variables for diagram Update
    # - For simply refreshing the diagram's attributes only
    U_option1="REFRESH"
    # - For rebuilding the diagram from a different input
    U_option2="REBUILD;KEEP_MANUAL_MODIF"
    U_option2BIS="REBUILD;NO_KEEP_MANUAL_MODIF"
    # - For appending new features to the diagram with a partial synchronization of its content
    U_option3="APPEND_QUICK;KEEP_MANUAL_MODIF"
    U_option3BIS="APPEND_QUICK;NO_KEEP_MANUAL_MODIF"
    # - For appending new features to the diagram with a full synchronization of its content
    U_option4="APPEND;KEEP_MANUAL_MODIF"
    U_option4BIS="APPEND;NO_KEEP_MANUAL_MODIF"
    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName
    # Creates some new diagrams that will be used to exemplify the C/, D/, E/ and F/ UpdateDiagram samples
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagCName, in_diagTempName, input_ForCDiag)
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagDName, in_diagTempName, input_ForDDiag)
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagEName, in_diagTempName, input_ForEDiag)
    InputLayer = arcpy.MakeFeatureLayer_management(input_FC1, input_LayerName, input_Filter)
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagFName, in_diagTempName, InputLayer)
    # A/ UpdateDiagram by fully synchronizing the diagram content; no udpate parameters required
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_schFolder + "/" + in_diagAName)
    # B/ UpdateDiagram by only refreshing attributes on the input diagram's schematic features
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_schFolder + "/" + in_diagBName, "#", U_option1)
    # C/ UpdateDiagram by rebuilding the input diagram from a feature class
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagCName, input_FC1, U_option2)
    # D/ UpdateDiagram by appending new features to the input diagram with a partial synchronization
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagDName, input_FC2, U_option3)
    # E/ UpdateDiagram by appending new features to the input diagram with a full synchronization
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagEName, input_FC3, U_option4)
    # F/ UpdateDiagram by rebuilding the input diagram from an input layer
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagFName, InputLayer, U_option2)
    # Returns the ArcGIS Schematics extension 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 occurred on line %i" % tb.tb_lineno
    print str(e)
UpdateDiagram (ダイアグラムの更新) と XML ビルダー - 例 3 (スタンドアロン Python スクリプト)

XML ビルダーに基づくサンプルのスケマティック ダイアグラムを更新します。この Python スクリプトの例の実行方法は次のとおりです。

  1. ArcCatalog を起動します。
  2. サンプル スクリプトで使用するスケマティック データセットを作成して構成します。
    • カタログ ツリーで、C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\XML_Data フォルダーに移動します。
    • GISDatabaseForXML ジオデータベースを右クリックし、[新規作成] をポイントして、[スケマティック データセット] をクリックします。
    • 新しく作成するスケマティック データセットの名前として「XMLDataset」と入力し、Enter キーを押します。
    • XMLDataset スケマティック データセットを右クリックし、[編集] をクリックします。
    • データセット エディターのツリーで [XMLDataset] エントリを右クリックし、[新規スケマティック ダイアグラム テンプレート] をクリックします。
    • [名前] テキスト ボックスに「XMLDiagrams」と入力します。
    • [スケマティック ビルダー] セクションで [XML ビルダー] を選択します。
    • [スケマティック ビルダー プロパティ] をクリックし、[スケマティック フィーチャクラスの自動作成] をオンにします。
    • [ビルダー プロパティ] ダイアログ ボックスを閉じます。
    • [OK] をクリックします。
    • [スケマティック データセット エディター] ツールバーの [保存] をクリックし、スケマティック データセット エディターを閉じます。
  3. 以下のスクリプトをコピーして、ArcCatalog または ArcMap Python ウィンドウに貼り付けます。
  4. Enter キーを押します。

# Name: UpdateDiagramXML.py
# Description: Update schematic diagrams based on the XML builder
# Requirement: ArcGIS Schematics extension
# import system modules
import arcpy
msgNoLicenseAvailable = "ArcGIS Schematics extension license required"
try:
    # Checks out the ArcGIS Schematics extension license
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseAvailable)
    # Sets Schematics general settings
    dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_Configuration/XML_Data"
    gdbName="GISDatabaseForXML.gdb"
    in_schDataset="XMLDataset"
    in_diagName="XMLDiagramFeeder1"
    in_diagTempName="XMLDiagrams"
    input_XmlFile1="SampleNetworkFeeder1.xml"
    input_XmlFile2="SampleNetworkUpdatedFeeder1.xml"
    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName
    # CreateDiagram from a XML file, SampleNetworkFeeder1.xml
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagName, in_diagTempName, dataLocation + "/" + input_XmlFile1)
    # Updates the XMLDiagramFeeder1 diagram from another XML file, SampleNetworkUpdatedFeeder1.xml
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagName, dataLocation + "/" + input_XmlFile2)
    # Returns the ArcGIS Schematics extension 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)
UpdateDiagram (ダイアグラムの更新) とネットワーク データセット ビルダー - 例 4 (スタンドアロン Python スクリプト)

ネットワーク データセット ビルダーに基づくスケマティック ダイアグラムを更新します。この Python スクリプトの例の使用方法は次のとおりです。

  1. ArcMap を起動します。
  2. C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Network_Dataset に保存されている ParisTours.mxd ファイルを開きます。
  3. [ジオプロセシング] → [ジオプロセシング オプション] の順にクリックします。
  4. [バックグラウンド処理] セクションの [有効] をオフにして、[OK] をクリックします。
  5. 以下のスクリプトをコピーして Python ウィンドウに貼り付けます。

# Name: UpdateDiagramNDS.py
# Description: Update sample schematic diagrams based on the Network Dataset builder
# Requirement: ArcGIS Schematics extension,ArcGIS Network Analyst extension 
# import system modules
import arcpy
msgNoLicenseSchematicsAvailable = "ArcGIS Schematics extension license required"
msgNoLicenseNetworkAnalystAvailable = "ArcGIS Network Analyst extension license required"
try:
    # Checks out the ArcGIS Schematics extension licence
    if arcpy.CheckExtension("Schematics") == "Available":
        arcpy.CheckOutExtension("Schematics")
    else:
        raise Exception(msgNoLicenseSchematicsAvailable)
    # Checks out the ArcGIS Network Analyst extension licence
    if arcpy.CheckExtension("Network") == "Available":
        arcpy.CheckOutExtension("Network")
    else:
        raise Exception(msgNoLicenseNetworkAnalystAvailable)
    # Sets general settings
    dataLocation="C:/ArcGIS/ArcTutor/Schematics/Schematics_Configuration/Network_Dataset"
    gdbName="NetworkAnalyst_Schematics.gdb"
    in_schDataset="NA_SchematicDataset"
    in_diagAName="DiagramTour2_A"
    in_diagBName="DiagramTour2_B"
    in_diagTempName="NADiagrams"
    in_NALayerName="Routes/Tour2"
    # builder_options variables for diagram Generation and Update
    G_option1="MERGE_NODES"
    G_option2="NO_MERGE_NODES"
    U_option1="NO_MERGE_NODES;KEEP_MANUAL_MODIF"
    U_option2="MERGE_NODES;KEEP_MANUAL_MODIF"
    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName
    # UpdateDiagram from a solved route network analysis layer
    # 1) Solves the route network analysis layer, 
    arcpy.Solve_na(in_NALayerName)
    # 2) Creates diagrams from this solved route network analysis layer
    # a - A diagram where a single node is created to represent a GIS point crossed N times along this route (G_option1)
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagAName, in_diagTempName, in_NALayerName, G_option1)
    # b - A diagram where N nodes are created to represent a GIS point crossed N times along this route (G_option2)
    arcpy.CreateDiagram_schematics(in_schDataset, in_diagBName, in_diagTempName, in_NALayerName, G_option2)
    # 3) Updates those diagrams from the same solved route network analysis layer by changing the merge nodes option
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagAName, in_NALayerName, U_option1)
    arcpy.UpdateDiagram_schematics(in_schDataset + "/" + in_diagBName, in_NALayerName, U_option2)
    # Returns the licences
    arcpy.CheckInExtension("Schematics")
    arcpy.CheckInExtension("Network")
    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 occurred on line %i" % tb.tb_lineno
    print str(e)

環境

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

ライセンス情報

  • Basic: 次のものが必要 スケマティクス
  • Standard: 次のものが必要 スケマティクス
  • Advanced: 次のものが必要 スケマティクス

関連トピック

  • スケマティック ツールボックスの概要
  • ダイアグラムの作成 (Create Diagram)
  • ダイアグラム (複数) の更新 (Update Diagrams)
  • スケマティック フォルダーの作成 (Create Schematic Folder)
  • ダイアグラムをフィーチャに変換 (Convert Diagram To Features)

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル