ArcGIS for Desktop

  • ドキュメント
  • 価格
  • サポート

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

ArcGIS Online

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

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

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

ArcGIS Solutions

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

ArcGIS Marketplace

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

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

ヘルプ

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

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

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

サマリ

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

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

使用法

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

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

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

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

構文

UpdateDiagram_schematics (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
[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 エクステンション 

# import system modules
import arcpy
msgNoLicenseSchematicsAvailable = "ArcGIS Schematics extension license required"
msgNoLicenseNetworkAnalystAvailable = "ArcGIS Network Analyst エクステンション 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 エクステンション 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)

環境

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

ライセンス情報

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

関連トピック

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

ArcGIS for Desktop

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

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル