ダイアグラム テンプレート名の取得 (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 ファイルにエクスポートします。
このスクリプト ツールを追加および構成するには、次の手順に従います。
次のスクリプトを Python IDE にコピーし、.py 拡張子を付けて保存します。
新しい空のプロジェクトまたは既存のプロジェクトで ArcGIS Pro を開始します。
新しいツールボックスを追加するか、カタログ ウィンドウで プロジェクト をクリックして、ツールボックス の下にあるデフォルトのプロジェクト ツールボックスを使用します。
このツールボックスを右クリックして、新規 > スクリプト の順にクリックします。
一般 タブで次のように設定します:
名前 - 「ExportAllDiagramTemplateDefinitions」と入力します。
ラベル - 「Export All Diagram Template Definitions」と入力します。
スクリプト ファイル - ステップ 1 で作成した .py ファイルを参照して選択します。
パラメーター タブで次のように設定します。
最初のパラメーター
ラベル - 「Input Network」と入力します。
名前 - デフォルト名である Input_Network をそのまま使用します。
データ タイプ - ユーティリティー ネットワーク および トレース ネットワーク を選択します。
タイプ - 必須 を選択します。
方向 - 入力 を選択します。
2 番目のパラメーター
OK をクリックします。 スクリプト ツール ダイアログ ボックスが閉じます。
このスクリプト ツールを実行するには、次の手順に従います。
ツールボックスを展開し、このツールをダブルクリックして開きます。
入力ネットワーク パラメーターを指定します。つまり、すべてのテンプレート定義のエクスポート元となるネットワークを参照しているデータベース コネクション ファイル、ファイル ジオデータベース、またはモバイル ジオデータベースを参照して選択します。
出力フォルダー パラメーターを指定します。つまり、テンプレート定義をエクスポートする出力フォルダーを参照して選択します。
実行 をクリックします。
# 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.nd.GetDiagramTemplateNames(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.nd.ExportDiagramTemplateDefinitions(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: いいえ
- Standard: はい
- Advanced: はい