概要
スケマティック データセットまたはスケマティック フォルダーに保存されている複数のスケマティック ダイアグラムを更新します。
すべてのダイアグラムまたはダイアグラムのサブセット (特定のダイアグラム テンプレートに関連するダイアグラムや、特定の日数の間更新されていないダイアグラムなど) を更新できます。
ジオプロセシング ツールを使用して更新できるのは、スタンダード ビルダー (すなわち、ジオメトリック ネットワークまたはネットワーク データセットを表現するフィーチャから構築されたダイアグラム および カスタム クエリから構築されたスケマティック ダイアグラム) に基づくダイアグラムのみです。特定の入力データを必要とする、ネットワーク データセット ビルダーおよび XML ビルダーに基づくダイアグラムは、このツールでは更新できません。
使用法
このツールは主にダイアグラムのバッチ更新に使用されます。しかし、ダイアグラムの生成後にユーザー データが削除され、再読み込みされたときに、GUID に基づいてスケマティック フィーチャをその関連するフィーチャ/オブジェクトと再同期する目的で使用することもできます。
[ダイアグラム テンプレート] パラメーターを指定した場合は、そのテンプレートに基づくダイアグラムのみが更新されます。
[更新がなかった日数] パラメーターを指定した場合は、最後の更新日が条件に一致するダイアグラムのみが更新されます。
デフォルトでは、[入力スケマティック コンテナー] に指定された値がスケマティック フォルダーである場合、そのスケマティック フォルダーに含まれているすべてのダイアグラムと、そのサブフォルダーに含まれているすべてのダイアグラムに対して更新処理が再帰的に実行されます。サブフォルダーに含まれているダイアグラムを更新対象から除外する場合は、再帰パラメーターを 0 に設定します。
構文
arcpy.schematics.UpdateDiagrams(in_container, {builder_options}, {recursive}, {diagram_type}, {last_update_criteria})
パラメーター | 説明 | データ タイプ |
in_container | ダイアグラムが保存されているスケマティック データセットまたはスケマティック フォルダー。このコンテナーはすでに存在している必要があります。 | Schematic Dataset; Schematic Folder |
builder_options (オプション) | スケマティック ビルダーの更新オプション。これはオプション パラメーターです。
| String |
recursive (オプション) |
| Boolean |
diagram_type (オプション) | 更新するスケマティック ダイアグラムのダイアグラム テンプレート。 | String |
last_update_criteria (オプション) | ダイアグラムの更新間隔 (日数)。デフォルトはゼロ (0) です。この場合、すべてのダイアグラムが毎日更新されます。 | Long |
コードのサンプル
UpdateDiagrams (ダイアグラム (複数) の更新) の例 (スタンドアロン Python スクリプト)
特定のスケマティック フォルダーに保存されているスケマティック ダイアグラム、特定のダイアグラム テンプレートによって実装されたスケマティック ダイアグラム、または特定の日数の間更新されていないスケマティック ダイアグラムを更新します。この Python スクリプトの例の実行方法は次のとおりです。
- 新しい空のマップを使用して ArcCatalog または ArcMap を起動します。
- 以下のスクリプトをコピーして Python ウィンドウに貼り付けます。
- Enter キーを押します。
# Name: UpdateDiagrams.py
# Description: Update schematic diagrams
# 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_schFolder1="Feeders"
in_schFolder2="Inside Plants"
in_diagTempName="GeoSchematic"
recOption1="RECURSIVE"
recOption2="NO_RECURSIVE"
nbDays="7"
# Sets environnement settings
arcpy.env.overwriteOutput = True
arcpy.env.workspace = dataLocation + "/" + gdbName
# Updates diagrams stored on a specified schematic folder;
arcpy.UpdateDiagrams_schematics(in_schDataset + "/" + in_schFolder1)
# Updates diagrams based on a specified diagram template.
arcpy.UpdateDiagrams_schematics(in_schDataset, "#", recOption1, in_diagTempName)
# Updates diagrams stored on a specified schematic folder that have not been updated for N days.
arcpy.UpdateDiagrams_schematics(in_schDataset + "/" + in_schFolder2, "#", recOption1, "#", nbDays)
# 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)
環境
このツールは、ジオプロセシング環境を使用しません。
ライセンス情報
- Basic: 次のものが必要 スケマティクス
- Standard: 次のものが必要 スケマティクス
- Advanced: 次のものが必要 スケマティクス