Краткая информация
Согласовывает версию или несколько версий с целевой версией.
Использование
Для процесса согласования требуется, чтобы вы были единственным пользователем, в данный момент редактирующим версию, и единственным пользователем, способным редактировать версию в процессе всего согласования вплоть до сохранения или закрепления.
Для процесса согласования требуется, чтобы у вас были полные права доступа ко всем классам пространственных объектов, которые были изменены в версии до редактирования.
Инструменты для работы с версиями работают только с многопользовательскими базами геоданных 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,...] (дополнительно) | Имя редактируемой версии или версий, которые согласовываются с выбранной целевой версией. Это может быть одно имя версии или Python список имен версий. | String |
acquire_locks (дополнительно) | Укажите, будет ли требоваться блокировка.
| Boolean |
abort_if_conflicts (дополнительно) | Определяет необходимость прерывания процесса согласования в случае обнаружения конфликтов между целевой и редактируемой версиями.
| Boolean |
conflict_definition (дополнительно) | Описывает условия, необходимые для возникновения конфликта:
| String |
conflict_resolution (дополнительно) | Описывает поведение при обнаружении конфликта:
| String |
with_post (дополнительно) | Закрепляет текущую версию редактирования в согласовываемой целевой версии.
| Boolean |
with_delete (дополнительно) |
| Boolean |
out_log (дополнительно) | Укажите имя и местоположение, где хотите сохранить log-файл. 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')