バージョン編集プロセス
このトピックは、ArcGIS for Desktop Standard および ArcGIS for Desktop Advanced にのみ該当します。
ここでは、バージョンの編集、リコンサイル、競合解決、およびターゲット バージョンへの変更のポストについて説明します。リコンサイルとポストのターゲット バージョンは、DEFAULT バージョン、親バージョン、またはその他直系の上位バージョンです。
デフォルトでは、ArcMap の編集セッションは、バージョン対応の編集を実行するように設定されています。つまり、バージョン対応登録されたデータを編集できます。編集セッションがバージョン対応の編集を実行するように設定されていない場合は、バージョン対応編集を行うには、[編集オプション] ダイアログ ボックスを開いて、[バージョニング] タブをクリックし、[データベースのバージョンを編集(元に戻す、やり直し操作を許可)] チェックボックスをオンにします。
1. 編集を開始します。
ArcMapで編集を開始する際、マップがあるバージョンを参照していると、そのバージョンが自動的に編集モードで開かれます。編集セッションで編集できるバージョンは一度に 1 つだけなので、マップが複数のバージョンを選択している場合は、編集を開始するバージョンを 1 つ選択しなければなりません。
編集作業を開始すると、そのバージョンの独自の状態を編集することになります。同じバージョンに接続している他のユーザは、そのバージョンへの変更が保存されるまで、編集内容を参照することはできません。
あるバージョンの編集を開始した後、別のユーザが同じバージョンへの編集を保存したとします。ここで自分の編集を保存したらどうなるでしょうか。ArcGIS はバージョンの 2 つの状態をリコンサイルします。競合が存在する場合は、編集セッションとデータベースの状態のどちらかを優先して、最初にすべての競合を解決することができます。ArcMap で設定しているバージョン編集オプションに応じて、「対話形式のダイアログを使用して競合を 1 つずつ確認し、それらを手動で解決する」、「競合している編集内容をデータベースに保存しない」、または「編集セッション、データベースのどちらかの内容で自動的に上書きする」ことができます。
必要に応じて、1 つのバージョンを複数の編集セッションで操作することができます。編集が完了し、変更をターゲット バージョンにマージする準備が整ったら、リコンサイルを実行します。
2. リコンサイルします。
バージョンの編集を開始した後、他のユーザによってターゲット バージョンに競合するような変更が加えられている場合があります。リコンサイルは、これらの競合を確認する操作です。
ターゲット バージョンが変更されると、編集中のバージョンが、ターゲット バージョンの変更内容で更新されます。ターゲット バージョンでのフィーチャまたはレコードの挿入、更新、削除が編集セッションに適用される際、ディスプレイ上のフィーチャが変更されることがあります。
リコンサイルの過程で競合が検出されるのは、2 人以上のユーザが近傍のフィーチャを編集している場合です。競合には次の 2 種類があります。
- 編集内容をバージョンに保存する際、そのバージョンの同じフィーチャが別の編集セッションで更新されていた(または、あるセッションで更新され、別のセッションで削除されていた)場合に発生する競合
- ターゲット バージョンと子バージョンで同じフィーチャが更新されていた(または、あるバージョンで更新され、別のバージョンで削除されていた)場合に発生する競合
一般的に組織において、それぞれのプロジェクトやそれに対応する各バージョンは異なる地理的な領域を対象とするため、リコンサイル処理においてコンフリクト(競合)が発生するのはまれなケースとなります。編集者がマップ上の異なる地域を編集している場合、競合は発生しません。
編集内容をバージョンに保存するときの競合 ─ 暗黙的な競合
編集内容をバージョンに保存する際に競合が発生するのは、ある編集セッションで更新したフィーチャを、別の編集者が異なる編集セッションで同じバージョンを使用して更新するか、削除した場合です。編集内容を保存すると、そのバージョンのジオデータベース内の編集セッション間での競合が検出され、[編集オプション] ダイアログ ボックスの [バージョニング] タブで設定した保存の優先順位に基づいて、競合が解決されますこのリコンサイル プロセスは定義済みの設定に基づいて実行されるため、暗黙的なリコンサイルです。
編集内容をバージョンに保存するときの競合 ─ 暗黙的な競合
[バージョニング] ツールバーの [リコンサイル] ボタンをクリックして子バージョンを親バージョンに対して明示的にリコンサイルしたときにも、競合が発生する場合があります。
競合が発生した場合はダイアログ ボックスが表示され、編集バージョンとターゲット バージョンのどちらを優先して競合を解決するか選択することができます。
3. 競合の確認
上記の 2 種類の競合は、最初に ArcGIS によって解決されます。
対話型のダイアログ ボックスで競合を 1 つずつ確認し、必要に応じて変更を加えることもできます。競合ごとに、フィーチャを編集前の状態に戻すか(編集を保存していないことが前提となります)、編集セッションの状態にするか、競合する他の編集セッションまたはターゲット バージョンの状態と置き換えることができます。
保存時に同じバージョンで競合が検出され、保存の優先順位が [常に自動的に変更を保存] に設定されている場合、競合を確認することはできません。変更内容は [編集オプション] ダイアログ ボックスの [バージョニング] タブで設定された競合ルールに基づいてリコンサイルされます。
4. 変更のポスト
この時点で、リコンサイルは完了しています。競合が検出されていた場合は、それらを確認することができます。変更内容をターゲット バージョンにマージする準備が整ったら、[バージョニング] ツールバーの [ポスト] ボタンをクリックします。まず、現在の編集セッションが保存され、次に、ターゲット バージョンにリコンサイルが完了した状態が適用されます。
ポストしたバージョンを参照している他のユーザは、バージョン ワークスペースを更新するまで、ポストの結果を参照できません。現在編集していないバージョンに変更を適用することになるので、ポストを元に戻すことはできません。
それらの変更をターゲット バージョンに適用するには、リコンサイル、競合の解決、ポストのプロセスを再び実行する必要があります。
あるバージョンにおける一連の編集作業が完了した場合は、ArcCatalogまたはArcMapで編集したバージョンを削除することができます。そのためには、削除するバージョンのすべての子バージョンを先に削除する必要があります。バージョンを削除できるのは、バージョンの所有者またはデータベース管理者(sdeまたはdboユーザ)だけです。