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
  • マイ プロフィール
  • サイン アウト

ヘルプ

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

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

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

サマリ

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

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

使用法

  • 出力スケマティック ダイアグラム名がすでに存在する場合、既存のダイアグラムが削除されてから再作成される必要があります。この削除が行われないようにするには、[ジオプロセシング オプション] ダイアログ ボックスの [ジオプロセシング処理の出力ファイルを上書き] チェックボックスをオフにします。

  • 作成するダイアグラムに対して指定したダイアグラム テンプレートに関連するスケマティック ビルダーに応じて、[入力データ] パラメーターの指定が必要な場合と不要な場合があります。

    • ダイアグラム テンプレートが、ジオメトリック ネットワークまたはネットワーク データセットから動作するように構成されたスタンダード ビルダーに基づく場合、このパラメーターの指定は必須です。フィーチャ レイヤー、フィーチャクラス、またはオブジェクト テーブルを入力テーブルとして指定できます。
    • ダイアグラム テンプレートがネットワーク データセット ビルダーに基づく場合は、ユニークなネットワーク解析レイヤーを [入力データ] パラメーターとして指定する必要があります。
    • ダイアグラム テンプレートが XML ビルダーに基づく場合は、ユニークな 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,...]

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

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

ダイアグラムを生成する入力データ。

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

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

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

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

スケマティック ビルダーの作成パラメーター。これらのパラメーターはネットワーク データセット ビルダーに基づくダイアグラムのみで必要で、ノードをマージするかどうかを指定します。

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

コードのサンプル

CreateDiagram (ダイアグラムの作成) とジオメトリック ネットワーク データで動作するスタンダード ビルダー - 例 1 (スタンドアロン Python スクリプト)

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

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

# Name: CreateDiagramStd.py
# Description: Create schematic diagrams sample from GIS 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"
    out_schDataset="ElecDemo"
    out_diagAName="FeederDiagram"
    out_diagBName="ElectricMainNetworkDiagram"
    out_diagTempName="GeoSchematic"
    input_FC1="ElectricNetwork/Feeder"
    input_FC2="ElectricNetwork/PrimaryLine"
    input_LayerName="PrimaryLineLayer"
    input_Filter="PHASECODE=135"

    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName

    # CreateDiagram from a feature class, Feeder
    arcpy.CreateDiagram_schematics(out_schDataset, out_diagAName, out_diagTempName, input_FC1)

    # CreateDiagram from a feature layer
    # 1) Creates a layer with the selection
    InputLayer = arcpy.MakeFeatureLayer_management(input_FC2, input_LayerName, input_Filter)
    # 2) Uses the layer as input of CreateDiagram
    arcpy.CreateDiagram_schematics(out_schDataset, out_diagBName, out_diagTempName, InputLayer)

    # 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)
CreateDiagram (ダイアグラムの作成) とネットワーク データセット ビルダー - 例 2 (スタンドアロン Python スクリプト)

解析済みのネットワーク解析レイヤーから、サンプルのスケマティック ダイアグラムを作成します。この Python スクリプトの例の実行方法は次のとおりです。

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

# Name : CreateDiagramNDS.py
# Description : Create a schematic diagram from 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"
    out_schDataset="NA_SchematicDataset"
    out_diagAName="DiagramTour_MERGED"
    out_diagBName="DiagramTour_NOTMERGED"
    out_diagTempName="NADiagrams"
    in_NALayerName="Routes/Tour1"
    option1="MERGE_NODES"
    option2="NO_MERGE_NODES"

    # Sets environnement settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName

    # CreateDiagram from a solved route network analysis layer
    # 1) Solves the route network analysis layer, Tour1
    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 (option1)
    arcpy.CreateDiagram_schematics(out_schDataset, out_diagAName, out_diagTempName, in_NALayerName, option1)
    # b - A diagram where N nodes are created to represent a GIS point crossed N times along this route (option2)
    arcpy.CreateDiagram_schematics(out_schDataset, out_diagBName, out_diagTempName, in_NALayerName, 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 occured on line %i" % tb.tb_lineno
    print str(e)
CreateDiagram (ダイアグラムの作成) と 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: CreateDiagramXML.py
# Description: Create a sample schematic diagram 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"
    out_schDataset="XMLDataset"
    out_diagName="XMLDiagramSample"
    out_diagTempName="XMLDiagrams"
    input_XmlFile="SampleNetworkData.xml"

    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName

    # CreateDiagram from a XML file, SampleNetworkData.xml file
    arcpy.CreateDiagram_schematics(out_schDataset, out_diagName, out_diagTempName, dataLocation + "/" + input_XmlFile)

    # 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)
CreateDiagram (ダイアグラムの作成) とカスタム クエリから動作するスタンダード ビルダー - 例 4 (スタンドアロン Python スクリプト)

カスタム クエリからサンプルのスケマティック ダイアグラムを作成します。この Python スクリプトの例の使用方法は次のとおりです。

  1. ArcCatalog を起動します。
  2. このスクリプトは ElecDemo チュートリアル ジオデータベースのコピーで使用して、元のプラント内ダイアグラムを上書きしないようにします。
    • カタログ ツリーで、C:\ArcGIS\ArcTutor\Schematics\Schematics_In_ArcMap フォルダーに移動します。
    • ElecDemo ジオデータベースをコピーして貼り付けます。新しく作成した ElecDemo_1 ジオデータベースが、サンプルのスクリプトで処理するジオデータベースです。
  3. 以下のスクリプトをコピーして、ArcCatalog または ArcMap Python ウィンドウに貼り付けます。
  4. Enter キーを押します。ArcGIS Schematics extension

# Name: CreateDiagramCustomQuery.py
# Description: Create a schematic diagram from custom queries
# Requirement: 

# 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_1.gdb"
    out_schDataset="ElecDemo"
    out_schFolder="Inside Plants"
    out_diagName="Substation 08"
    out_diagTempName="InsidePlants"

    # Sets environment settings
    arcpy.env.overwriteOutput = True
    arcpy.env.workspace = dataLocation + "/" + gdbName

    # CreateDiagram from a diagram template configured from custom queries
    arcpy.CreateDiagram_schematics(out_schDataset + "/" + out_schFolder, out_diagName, out_diagTempName)

    # 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)

環境

  • 出力データの座標系

ライセンス情報

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

関連トピック

  • スケマティック ツールボックスの概要
  • ダイアグラムの更新 (Update 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. | プライバシー | リーガル