XML ビルダに基づくダイアグラムの更新
XML ビルダに基づくスケマティック ダイアグラムには、ダイアグラムの生成時にスケマティック フィーチャの保存先になったスケマティック データセット テーブルから実行されるクエリの対象のスケマティック フィーチャが含まれます。XML ビルダのダイアグラムが開いていると、それらのスケマティック フィーチャに、スケマティック データベース テーブルから直接クエリが実行されます。
XML ビルダのスケマティック ダイアグラムの更新では、最初にダイアグラムの生成に使用された XML 入力データの更新バージョンからスケマティック データベースのコンテンツが同期されます。更新処理の実行前に、ダイアグラムのコンテンツにレイアウトが設定されている場合、このレイアウトは更新後も保持されます。
スケマティック ダイアグラムの更新は通常、ArcMapで実行されます。次のセクションでは、XML ビルダに基づくスケマティック ダイアグラムを更新する手順の詳細を示します。
XML ビルダに基づいたダイアグラムの更新には、Schematics ジオプロセシング ツールの [ダイアグラムの更新(Update Diagram)] および [ダイアグラム(複数)の更新(Update Diagrams)] を使用することもできます。
- ArcMap を起動します。
- [スケマティック] ツールバーの [スケマティック ダイアグラムを開く] をクリックして、更新する XML スケマティック ダイアグラムを参照して選択します。
-
[スケマティック] ツールバーの [スケマティック] 矢印をクリックして、[ダイアグラムの更新] をクリックするか、または ArcMap のコンテンツ ウィンドウでスケマティック レイヤを右クリックして、[ダイアグラムの更新] をクリックします。
[ダイアグラムの更新] ダイアログ ボックスが開きます。
-
[XML ファイルから更新] の省略記号ボタンをクリックして、ダイアグラムの更新に使用するデータが含まれる XML ファイルを参照して選択します。
ダイアグラムの更新に使用する XML 入力データが自動的に指定される外部コンポーネントを使用するように XML ビルダが構成されている場合は、この省略記号ボタンは利用できません。この場合は、特定の XML ファイルを指定する必要はありません。
- [手動で移動、削除、再接続されたフィーチャは維持する] チェックボックスをオンまたはオフにします。
- 削除または削減したスケマティック フィーチャが更新後に戻され、接続が変更されているスケマティック フィーチャのリンクが再接続されて、更新後に XML 入力データとの完全な整合性が確保されるようにするには、このオプションをオフにします。
- ダイアグラムから削除または削減したスケマティック フィーチャが再表示されないようにし、編集した接続が更新後のダイアグラムで維持されるようにする場合は、このオプションをオン(デフォルトの状態)のままにします。
[スケマティック フィーチャの削除] または [ノード削減] コマンドを使用してスケマティック フィーチャをアクティブなスケマティック ダイアグラムから手動で削除または移動した場合にのみ、このチェックボックスを利用できます。このダイアグラムが最初に生成されてから [スケマティック リンクの再接続] ツール を使用して、一部のスケマティック リンクの接続が変更されている場合もこのチェックボックスを利用できます。
- [OK] をクリックします。
更新プロセスは、次のように実行されます。
- カスタム クエリに基づいていないダイアグラムに含まれているスケマティック フィーチャがメモリに読み込まれます。
- 指定した XML 入力データが解析され、ビルダが次のように動作します。
- XML 入力データ内の項目 NodeFeature、LinkFeature、NodeOnLinkFeature、または SubLinkFeature と関連付けられたままのスケマティック フィーチャが更新されます。これらのスケマティック フィーチャの属性と初期ジオメトリが更新され、ダイアグラムが保存されなかった場合は現在のジオメトリが再初期化されます。
- XML 入力データ内の新しい項目 NodeFeature、LinkFeature、NodeOnLinkFeature、または SubLinkFeature に関連付けられた新しいスケマティック フィーチャがメモリに作成されます。これらのスケマティック フィーチャの属性が評価され、トポロジとジオメトリが初期化されます。
- ダイアグラムに最初に含まれていたスケマティック フィーチャは、XML 入力データ内の項目 NodeFeature、LinkFeature、NodeOnLinkFeature、または SubLinkFeature との関連付けがなくなり、メモリから削除されます。
- 次に、関連するダイアグラム テンプレートにスケマティック ルールが指定されている場合は、すべてのメモリ内スケマティック フィーチャに対してそれらのスケマティック ルールが実行されます。
- [手動で移動、削除、再接続されたフィーチャは維持する] チェックボックスがオンになっている場合は、削除、削減、および再接続の処理が再実行されます。
- ダイアグラム テンプレートにデフォルトのスケマティック レイアウト アルゴリズムが構成されており、ダイアグラムにレイアウトが 1 つも保存されていない場合は、アルゴリズムが再実行され、それに伴ってすべてのメモリ内スケマティック フィーチャのジオメトリが更新されます。
- メモリ内のすべてのスケマティック フィーチャが、スケマティック データセットのスケマティック フィーチャクラスに保存されます。
- 次に、アクティブなスケマティック ダイアグラムが、新しいスケマティック データセットのコンテンツで更新されます。
ネットワーク フィーチャに関連付けられているスケマティック フィーチャをカスタム クエリに基づくスケマティック フィーチャと組み合わせるようにダイアグラム テンプレートが構成されている場合は、更新プロセスで追加手順が実行されます。
- カスタム クエリがダイアグラムの構築時に開始するよう構成されている(つまり評価モードが [生成/更新時のクエリ] になっているクエリが指定されている)スケマティック フィーチャクラスは、ルール実行の直前に処理されます。
- カスタム クエリがダイアグラムの読み込み時に開始するよう構成されている(つまり評価モードが [編集開始時のクエリ] になっているクエリが指定されている)スケマティック フィーチャクラスは、ルール実行の直後に処理されます。
- カスタム クエリが指定されているスケマティック フィーチャクラスに保存されているすべてのスケマティック フィーチャがメモリに読み込まれます。
- 各スケマティック フィーチャクラスに指定されているカスタム クエリが実行され、メモリ内スケマティック フィーチャが次のように更新されます。
- クエリされたレコードに関連付けられたままのメモリ内スケマティック フィーチャが更新されます。これらのスケマティック フィーチャの属性と初期ジオメトリが更新され、ダイアグラムが保存されなかった場合は現在のジオメトリが再初期化されます。
- 新しいクエリ レコードに関連付けられた新しいスケマティック フィーチャがメモリ内に作成されます。これらのスケマティック フィーチャの属性が評価され、トポロジとジオメトリが初期化されます。
- クエリされたレコードに関連付けられなくなったメモリ内のスケマティック フィーチャは、メモリから削除されます。
更新前にアクティブなダイアグラムに特定のレイアウトが保存されていた場合は、更新前にすでにダイアグラムに含まれていたスケマティック フィーチャについては最後に保存された位置が保持されますが、更新時にスケマティック ダイアグラムに導入された新しいスケマティック フィーチャの位置は、次のように設定されます。
- 新しいスケマティック フィーチャがカスタム クエリまたは新しい XML 入力データによって構築されたもので、初期座標が構成されている場合は、初期座標に配置されます。
- 新しいスケマティック フィーチャがカスタム クエリまたは新しい XML 入力データによって構築されたもので、初期座標が指定されていない場合は、(0,0)の位置に配置されます。