ダイアグラム(複数)の更新(Update Diagrams) (スケマティック)

ライセンス レベル:BasicStandardAdvanced

サマリ

スケマティック データセットまたはスケマティック フォルダに保存されている複数のスケマティック ダイアグラムを更新します。

すべてのダイアグラムまたはダイアグラムのサブセット(特定のダイアグラム テンプレートに関連するダイアグラムや、特定の日数の間更新されていないダイアグラムなど)を更新できます。

ジオプロセシング ツールを使用して更新できるのは、スタンダード ビルダ(すなわち、ジオメトリック ネットワークまたはネットワーク データセットを表現するフィーチャから構築されたダイアグラム および カスタム クエリから構築されたスケマティック ダイアグラム)に基づくダイアグラムのみです。特定の入力データを必要とする、ネットワーク データセット ビルダおよび XML ビルダに基づくダイアグラムは、このツールでは更新できません。

注意注意:

実行中に XML ビルダまたはネットワーク データセット ビルダに基づくダイアグラムが検出された場合は、エラーが表示され、処理が停止します。

使用法

構文

UpdateDiagrams_schematics (in_container, {builder_options}, {recursive}, {diagram_type}, {last_update_criteria})
パラメータ説明データ タイプ
in_container

ダイアグラムが保存されているスケマティック データセットまたはスケマティック フォルダ。このコンテナはすでに存在している必要があります。

Schematic Dataset; Schematic Folder
builder_options
(オプション)

スケマティック ビルダの更新オプション。これはオプション パラメータです。

  • KEEP_MANUAL_MODIFデフォルト オプション。ダイアグラムから削除または削減したスケマティック フィーチャが再表示されないようにし、編集した接続が更新後のダイアグラムで維持されるようにする場合は、このオプションを指定します。これはデフォルト設定です。
  • NO_KEEP_MANUAL_MODIF削除または削減したスケマティック フィーチャと再接続したスケマティック フィーチャ リンクを更新後に元に戻す場合に指定します。
  • REFRESH入力ダイアグラム内のすべてのスケマティック フィーチャの属性を、ジオメトリック ネットワークまたはネットワーク データセット フィーチャクラス内の関連するネットワーク フィーチャの現在の状態に更新するだけです。
  • RESYNC_FROM_GUIDGUID に基づいてスケマティック関連のネットワーク フィーチャ/オブジェクト情報を再同期する場合は、このオプションを指定します。ユーザ データがその生成後に削除され、再読み込みされた場合に、ダイアグラムの更新時にエラーやデータの破壊が発生しないようにするには、このオプションを指定する必要があります。このオプションを指定した場合、GUID に基づいてダイアグラム内のスケマティック フィーチャと、その関連ネットワーク フィーチャ/オブジェクトとの再アタッチが試みられますが、この処理が終了してもダイアグラムのコンテンツは更新されていない点に注意してください。再アタッチが終了したら、実際の更新処理を開始できます。
String
recursive
(オプション)
  • RECURSIVEサブフォルダ内が再帰的に検索されます。
  • NO_RECURSIVEサブフォルダ内の再帰的な検索は行われません。
Boolean
diagram_type
[diagram_type,...]
(オプション)

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

String
last_update_criteria
(オプション)

ダイアグラムの更新間隔(日数)。デフォルトはゼロ(0)です。この場合、すべてのダイアグラムが毎日更新されます。

Long

コードのサンプル

UpdateDiagrams(ダイアグラム(複数)の更新)の例(スタンドアロン Python スクリプト)

特定のスケマティック フォルダに保存されているスケマティック ダイアグラム、特定のダイアグラム テンプレートによって実装されたスケマティック ダイアグラム、または特定の日数の間更新されていないスケマティック ダイアグラムを更新します。

この Python スクリプトの例の実行方法は次のとおりです。

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

# Name: UpdateDiagrams.py
# Description: Update schematic diagrams
# Requirement: ArcGIS Schematics エクステンション

# import system modules
import arcpy
msgNoLicenseAvailable = "ArcGIS Schematics エクステンション license required"

try:
    # Checks out the ArcGIS Schematics エクステンション 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 エクステンション 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: 次のものが必要 スケマティクス
5/10/2014