サマリー
ターゲットバージョンに対して 1 つまたは複数のバージョンをリコンサイルします。
使用法
リコンサイルを実行するには、バージョンを編集中のユーザーが自分だけであることと、バージョンの保存またはポストまでのリコンサイル プロセス全体を通じてバージョンの編集を許可されたユーザーが自分だけであることが前提となります。
リコンサイル プロセスを実行するには、編集中のバージョンで変更されたすべてのフィーチャクラスに対するフル アクセス権が必要です。
バージョニング ツールはエンタープライズ (ArcSDE) ジオデータベースでのみ機能します。ファイル ジオデータベースとパーソナル ジオデータベースは、バージョニングをサポートしていません。
ジオデータベースは、バージョニングを使用することで、効率的にロング トランザクションを管理およびサポートできるように設計されています。
リコンサイル プロセスを実行すると、編集バージョンとターゲット バージョン間の差分が検出され、その差分に競合フラグを設定します。競合が発生している場合は、その競合を解決する必要があります。
「ALL_VERSIONS」オプションを使用して正常にリコンサイル プロセスを実行すると、ジオデータベースのすべてのバージョンの状態が同じになります。
構文
ReconcileVersions_management (input_database, reconcile_mode, {target_version}, {edit_versions}, {acquire_locks}, {abort_if_conflicts}, {conflict_definition}, {conflict_resolution}, {with_post}, {with_delete}, {out_log})
パラメーター | 説明 | データ タイプ |
input_database | リコンサイルするバージョンを含むエンタープライズ ジオデータベース。デフォルトでは、その環境で定義されているワークスペースが使用されます。 | Workspace |
reconcile_mode | ツールの実行時にどのバージョンをリコンサイルするかを決定します。
| String |
target_version (オプション) | 編集バージョンの直系に当たる任意の上位バージョン (親バージョンやデフォルト バージョンなど) の名前。 一般的に、リコンサイルを実行しているユーザーが自分の編集バージョンに取り込もうとしている、他のバージョンの編集が含まれます。 | String |
edit_versions [edit_versions,...] (オプション) | 選択したターゲット バージョンに対してリコンサイルされる 1 つまたは複数の編集バージョンの名前。個別のバージョン名を指定するか、バージョン名の Python リストを指定します。 | String |
acquire_locks (オプション) | フィーチャのロックを取得するかどうかを指定します。
| Boolean |
abort_if_conflicts (オプション) | ターゲット バージョンと編集バージョン間の競合が検出された場合に、リコンサイル プロセスを中断するかどうかを指定します。
| Boolean |
conflict_definition (オプション) | 競合の発生に必要な条件を記述します。
| String |
conflict_resolution (オプション) | 競合が検出された場合の動作を記述します。
| String |
with_post (オプション) | リコンサイル後のターゲット バージョンに、現在の編集セッションをポストします。
| Boolean |
with_delete (オプション) |
| Boolean |
out_log (オプション) | 出力されるログ ファイルの名前と場所を指定します。ログ ファイルは、ジオプロセシング メッセージの内容を含む ASCII ファイルです。 | File |
コードのサンプル
ReconcileVersions (バージョンのリコンサイル) の例 (スタンドアロン スクリプト):
次のスタンドアロン スクリプトは、ReconcileVersions (バージョンのリコンサイル) ツールを使用して、SDE 接続ファイルで指定されたユーザーが所有するすべてのバージョンをリコンサイルする方法を示しています。
# Name: ReconcileVersions.py
# Description: Reconciles all versions owned by a user with SDE.Default
# Import system modules
import arcpy, os
# Set workspace
workspace = 'C:/Data/connections/bender@production.sde'
# Set the workspace environment
arcpy.env.workspace = workspace
# Use a list comprehension to get a list of version names where the owner
# is the current user and make sure sde.default is not selected.
verList = [ver.name for ver in arcpy.da.ListVersions() if ver.isOwner
== True and ver.name.lower() != 'sde.default']
arcpy.ReconcileVersions_management(workspace,
"ALL_VERSIONS",
"SDE.Default",
verList,
"LOCK_ACQUIRED",
"NO_ABORT",
"BY_OBJECT",
"FAVOR_TARGET_VERSION",
"NO_POST",
"KEEP_VERSION",
"c:\RecLog.txt")
print('Reconciling Complete')
環境
ライセンス情報
- ArcGIS Desktop Basic: いいえ
- ArcGIS Desktop Standard: はい
- ArcGIS Desktop Advanced: はい