ダイアグラム テンプレート名の取得 (Get Diagram Template Names) (ネットワーク ダイアグラム)

サマリー

ネットワークに関連するすべてのダイアグラム テンプレートの名前を返します。

使用法

  • このツールは、ユーティリティ ネットワーク サービスまたはトレース ネットワーク サービスを使用する場合、サポートされません。 ファイルまたはモバイル ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワークを使用するか、エンタープライズ ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワークへのデータベース コネクションを使用する必要があります。 エンタープライズ ジオデータベースを操作する場合、次の要件があります。

  • このツールは主に、ModelBuilder または Python での実行中にダイアグラム テンプレートでループ処理を行うために使用されます。

パラメーター

ラベル説明データ タイプ
入力ネットワーク

ダイアグラム テンプレート名が関連付けられているユーティリティ ネットワークまたはトレース ネットワーク

Utility Network; Trace Network

派生した出力

ラベル説明データ タイプ
出力ダイアグラム テンプレート

出力ダイアグラム テンプレート名。

String

arcpy.nd.GetDiagramTemplateNames(in_utility_network)
名前説明データ タイプ
in_utility_network

ダイアグラム テンプレート名が関連付けられているユーティリティ ネットワークまたはトレース ネットワーク

Utility Network; Trace Network

派生した出力

名前説明データ タイプ
out_template_names

出力ダイアグラム テンプレート名。

String

コードのサンプル

GetDiagramTemplateNames の例 (ワークフロー)

指定されたネットワークに関連するすべてのダイアグラム テンプレートの定義をエクスポートします。

次のスクリプト ツールは、ネットワークに関連するダイアグラム テンプレートのリストを取得し、各テンプレートの定義を指定されたフォルダー内の *.ndbd ファイルと *.ndld ファイルにエクスポートします。

このスクリプト ツールを追加および構成するには、次の手順に従います。

  1. 次のスクリプトを Python IDE にコピーし、.py 拡張子を付けて保存します。
  2. 新しい空のプロジェクトまたは既存のプロジェクトで ArcGIS Pro を開始します。
  3. 新しいツールボックスを追加するか、[カタログ] ウィンドウで [プロジェクト] をクリックして、[ツールボックス] の下にあるデフォルトのプロジェクト ツールボックスを使用します。
  4. このツールボックスを右クリックして、[新規] > [スクリプト] の順にクリックします。
  5. [一般] タブで次のように設定します。
    • 名前 -「ExportAllDiagramTemplateDefinitions」と入力します。
    • ラベル -「Export All Diagram Template Definitions」と入力します。
    • スクリプト ファイル - ステップ 1 で作成した *.py ファイルを参照して選択します。
  6. [パラメーター] タブで次のように設定します。
    • 最初のパラメーター
      • ラベル - 「Input Network」と入力します。
      • 名前 - デフォルト名である [Input_Network] をそのまま使用します。
      • データ タイプ - [ユーティリティ ネットワーク] および [トレース ネットワーク] を選択します。
      • タイプ - [必須] を選択します。
      • 方向 - [入力] を選択します。
    • 2 番目のパラメーター
      • ラベル - 「Definition Files Export Folder」と入力します。
      • 名前 - デフォルト名である [Definition_Files_Export_Folder] をそのまま使用します。
      • データ タイプ - [フォルダー] を選択します。
      • タイプ - [必須] を選択します。
      • 方向 - [入力] を選択します。
  7. [OK] をクリックします。 [スクリプト ツール] ダイアログ ボックスが閉じます。

このスクリプト ツールを実行するには、次の手順に従います。

  1. ツールボックスを展開し、このツールをダブルクリックして開きます。
  2. [入力ネットワーク] パラメーターを指定します。つまり、すべてのテンプレート定義のエクスポート元となるネットワークを参照しているデータベース接続ファイル、ファイル ジオデータベース、またはモバイル ジオデータベースを参照して選択します。
  3. [出力フォルダー] パラメーターを指定します。つまり、テンプレート定義をエクスポートする出力フォルダーを参照して選択します。
  4. [実行] をクリックします。

# Name: ExportAllDiagramTemplateDefinitions.py
# Description: Export definitions of all diagram templates related to a given network.

# Import system modules
import arcpy
import os
import re

# Initialize variables
msgInputsErr = "Invalid arguments."
msgScriptErr = "Error during script operation."
ndbd_ext = ".ndbd"
ndld_ext = ".ndld"

# Set overwrite option
arcpy.env.overwriteOutput = True

# Decodes parameters
try:
    input_Network = arcpy.GetParameterAsText(0)
    input_Folder = arcpy.GetParameterAsText(1)

    if input_Network == "" or input_Folder == "" :
        raise Exception()

except Exception:
    arcpy.AddError(msgInputsErr)
    raise

# Main code
try:
    arcpy.AddMessage("Retrieving the templates list...")
    output_TemplateNames = arcpy.GetDiagramTemplateNames_nd(input_Network)
    templateNamesList = re.split(';', str(output_TemplateNames))
    arcpy.AddMessage("Looping on each template...")
    for template in templateNamesList:
        message = "Exporting template: {}".format(template)
        arcpy.AddMessage(message)
        arcpy.ExportDiagramTemplateDefinitions_nd(input_Network, template, 
                                                  os.path.join(input_Folder, template + ndbd_ext), 
                                                  os.path.join(input_Folder, template + ndld_ext))

except Exception:
    arcpy.AddError(msgScriptErr)
    raise

環境

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

ライセンス情報

  • Basic: No
  • Standard: Yes
  • Advanced: Yes

関連トピック