概要
ネットワークに関連するすべてのダイアグラム テンプレートの名前を返します。
使用法
このツールは、ユーティリティ ネットワーク サービスまたはトレース ネットワーク サービスを使用する場合、サポートされません。ファイル ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワークを使用するか、エンタープライズ ジオデータベース内のユーティリティ ネットワークまたはトレース ネットワークへのデータベース接続を使用する必要があります。エンタープライズ ジオデータベースを操作する場合、次の要件があります。
- [入力ネットワーク] パラメーター値は、データベース ユーティリティ ネットワークの所有者またはデータベース トレース ネットワーク所有者として、確立されたデータベース接続から取得する必要があります。
- 接続された ArcGIS Enterprise ポータル アカウントは、ポータル ユーティリティ ネットワークの所有者またはポータル トレース ネットワーク所有者である必要があります。
- このツールは、パブリックで保護されていないと想定される、デフォルトのバージョンに接続されている必要があります。
このツールは主に、ModelBuilder または Python での実行中にダイアグラム テンプレートでループ処理を行うために使用されます。
構文
arcpy.nd.GetDiagramTemplateNames(in_utility_network)
パラメーター | 説明 | データ タイプ |
in_utility_network | ダイアグラム テンプレート名が関連付けられているユーティリティ ネットワークまたはトレース ネットワーク。 | Utility Network; Trace Network |
派生した出力
名前 | 説明 | データ タイプ |
out_template_names | 出力ダイアグラム テンプレート名。 | String |
コードのサンプル
指定されたネットワークに関連するすべてのダイアグラム テンプレートの定義をエクスポートします。
次のスクリプト ツールは、ネットワークに関連するダイアグラム テンプレートのリストを取得し、各テンプレートの定義を指定されたフォルダー内の *.ndbd ファイルと *.ndld ファイルにエクスポートします。
このスクリプト ツールを追加および構成するには、次の手順に従います。
- 次のスクリプトを Python IDE にコピーし、拡張子 .py を付けて保存します。
- 新しい空のプロジェクトまたは既存のプロジェクトで ArcGIS Pro を開始します。
- 新しいツールボックスを追加するか、[カタログ] ウィンドウで [プロジェクト] をクリックして、[ツールボックス] の下にあるデフォルトのプロジェクト ツールボックスを使用します。
- このツールボックスを右クリックして、[新規] > [スクリプト] の順にクリックします。
- [一般] タブで次のように設定します。
- 名前 -「ExportAllDiagramTemplateDefinitions」と入力します。
- ラベル -「Export All Diagram Template Definitions」と入力します。
- スクリプト ファイル - ステップ 1 で作成した *.py ファイルを参照して選択します。
- [パラメーター] タブで次のように設定します。
- 最初のパラメーター
- ラベル - 「Input Network」と入力します。
- 名前 - デフォルト名である [Input_Network] をそのまま使用します。
- データ タイプ - [ユーティリティ ネットワーク] および [トレース ネットワーク] を選択します。
- タイプ - [必須] を選択します。
- 方向 - [入力] を選択します。
- 2 番目のパラメーター
- ラベル - 「Definition Files Export Folder」と入力します。
- 名前 - デフォルト名である [Definition_Files_Export_Folder] をそのまま使用します。
- データ タイプ - [フォルダー] を選択します。
- タイプ - [必須] を選択します。
- 方向 - [入力] を選択します。
- 最初のパラメーター
- [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.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: いいえ
- Standard: はい
- Advanced: はい