アーカイブ クラスの直接操作
アーカイブ クラスは、データセットまたはクラスで履歴管理が有効化されたときに、ジオデータベースによって作成され、管理されます。アーカイブ クラスにはデータ ブラウザからアクセスできませんが、ArcMap に追加して表示および検索することが可能です。
アーカイブ クラスを ArcMap に追加するには、まず、コンテンツ ウィンドウで履歴管理が有効なレイヤまたはテーブルを選択しハイライト表示します。[ジオデータベース履歴] ツールバーで [履歴アーカイブの追加] ボタンが有効になります。
![]() |
[履歴アーカイブの追加] ボタンをクリックすると、選択したレイヤに対応するアーカイブ クラスが ArcMap に追加されます。アーカイブ クラスには、履歴管理が有効化された後の変更がすべて表示されます。アーカイブ クラスの操作は解析目的に限られており、編集することはできません。
アーカイブ クラスをマップに追加すると、アーカイブ クラスを直接操作できるようになります。アーカイブ クラスをシンボル表示すると、解析に役立つ可能性があります。たとえば、シンボル表示のフィールドとして GDB_FROM_DATE を使用すると、それぞれのフィーチャが更新された日時に基づいて色分けされます。
オブジェクトの変更履歴に関する解析においては、時点検索と期間検索を使用します。
時点検索は、特定の時点を検索するために使用されます。これは、履歴バージョンを操作し、特定の日時に接続するのと同じです。この検索は、特定の時点にデータがどのような状態であったか、または特定の時点に特定の場所に何があったかを確認する際に有効です。
期間検索は、ある任意の期間におけるデータを検索します。この検索を使用して、フィーチャまたは場所の変化を確認することができます。特定の期間を調べることで、オブジェクトがどのように更新されたかを追跡することが可能です。オブジェクト単位での時間的な変更を比較し、対象の範囲がどのように変更されてきたかを確認することができます。
時点検索と期間検索は、どちらも ArcMap の [検索条件設定] ダイアログ ボックスで作成することができます。[検索条件設定] ダイアログ ボックスを表示するには、アーカイブ クラスを右クリックして [プロパティ] をクリックします。[フィルタ設定] タブをクリックし、[検索条件設定] ボタンをクリックします。
特定の時点のフィーチャを確認したい場合は、その ObjectID を選択して、適切な日時を入力します。
次に、時点検索の例を示します。
OBJECTID = 23 AND GDB_FROM_DATE <= '2005-10-12 14:11:20' and GDB_TO_DATE > '2005-10-12 14:11:20'
GDB_FROM_DATE フィールドと GDB_TO_DAT フィールドの構文は、データベースで日付が格納される方法に応じて異なる可能性があることに注意してください。日付の形式は、[検索条件設定] ダイアログ ボックスで GDB_FROM_DATE または GDB_TO_DATE を選択し、[個別値を取得] ボタンをクリックすれば、すぐに確認することができます。
以下に、[検索条件設定] ダイアログ ボックスを使用して期間検索を実行する例を示します。[フィルタ設定] タブをクリックし、[検索条件設定] ボタンをクリックします。
![]() |
アーカイブ クラスには、日時の範囲を検索するのに使用できる 2 つのフィールド(GDB_FROM_DATE および GDB_TO_DATE)があります。どちらかのフィールドを選択して [個別値を取得] ボタンをクリックすると、データ フィールドの値と構文が表示されます。あとは、これらの値を使用してクエリを構築するか、検索したい日時を入力することができます。
たとえば、2003 年 5 月 1 日から 2005 年 6 月 1 日までの間に特定の地理範囲がどのように変化したか確認したい場合は、次のクエリを構築することができます。
GDB_FROM_DATE > '2003-05-01 12:00:00' AND GDB_FROM_DATE < '2005-06-01 12:00:00'
これにより、この期間に挿入および更新された行がすべて返されます。
特定の期間にわたる挿入、更新、削除のすべての変更内容を検出することが可能です。アプリケーションの開発などで変更を検出する必要がある場合は、SDK で IVersionedTable インタフェースをご参照ください。
![注意 注意](rsrc/note.png)
アーカイブ クラスを直接変更すると、アーカイブされたデータの一貫性が失われるおそれがあります。ArcGIS を使用して、読み取り専用モードでアーカイブ クラスにアクセスしてください。