Версионное редактирование
Эта тема относится только к ArcGIS for Desktop Standard и ArcGIS for Desktop Advanced.
Ниже приводится описание процессов редактирования версии, согласования, разрешения конфликтов и, наконец, закрепления изменения в целевой версии. Целевой версией, в которой вы будете согласовывать и закреплять ваши изменения, может быть версия DEFAULT, родительская версия или любая другая версия, являющаяся ее прямым предком.
По умолчанию сессии редактирования ArcMap настроены на выполнение версионных редактирований. Это означает, что вы сможете редактировать данные, которые были зарегистрированы как версионные. Чтобы убедиться в том, что ваша сессия редактирования настроена таким образом, откройте диалоговое окно Опции редактирования (Editing Options), щелкните на вкладке Работа с версиями (Versioning) и поставьте галочку в поле Редактировать версию базы данных с возможностью отмены и повтора операций (Edit a version of the database with the ability to undo and redo).
1. Начало редактирования
В момент начала работы в ArcMap, если ваша карта обращается к одной версии, то эта версия будет автоматически открыта для редактирования. В каждой сессии редактирования вы сможете редактировать только одну версию, так что если ваша карта будет обращаться к нескольким версиям, то вам будет нужно выбрать одну из них.
В момент начала редактирования вы начинаете работу с вашим собственным представлением версии. Другие пользователи, которые подключены к той же самой версии, не смогут видеть ваши изменения, пока вы их не сохраните.
Предположим, вы начали редактирование версии, а другой пользователь сохранил изменения в той же самой версии. Что происходит при сохранении ваших изменений? ArcGIS произведет согласование двух представлений этой версии. Если в них будут какие-то конфликты, то вы сможете разрешить их в пользу сессии редактирования или в пользу представления базы данных этой версии. В зависимости от опций версионного редактирования, установленных вами в ArcMap, вы сможете либо просматривать по одному конфликту за раз, либо вручную разрешать каждый из них в интерактивном диалоге, выбирая возможность не сохранять произведенные вами изменения, которые образуют конфликт с базой данных, или выбирать возможность автоматической перезаписи содержимого базы данных.
Более подробно об установках опций редактирования
Вы можете работать над версией столько сессий редактирований, сколько вам будет нужно. Как только вы закончите редактирование и захотите добавить изменения в целевую версию, вам будет нужно перейти к следующему шагу - согласованию.
2. Согласование
Как только вы начнете редактирование вашей версии, другие пользователи могут изменить целевую версию таким образом, что их изменения будут конфликтовать с вашими. Согласование производит проверку на предмет наличия таких конфликтов.
Узнать о том, как согласовать изменения
Если целевая версия будет изменена, то версия, которую вы редактируете, будет обновлена с изменениями из целевой версии. Вы сможете заметить, как изменения в отображении объектов целевой версии (вставки, обновления или удаления объектов или записей) будут отображены в вашей сессии редактирования.
Обнаружение конфликтов происходит в течение согласования изменений объектов, находящихся в непосредственной близости, которые производятся двумя или несколькими пользователей. Существует два типа конфликтов:
- Те, которые возникают в случае, когда при сохранении изменений в версии тот же самый объект обновляется в этой версии в другой сессии редактирования (или обновляется в одной сессии редактирования, а удаляется в другой)
- Те, которые возникают когда один и тот же объект обновляется и в целевой версии, и в дочерней версии (или обновляется в одной версии, а удаляется в другой)
При выполнении большинства операций согласования конфликтов, как правило, не возникает. Это происходит потому, что в большинстве организаций проекты и версии проектов представляют собой определенные географические области. Если вы и ваши коллеги работают над различными участками карты, то в вашей работе не должны возникать конфликты.
Конфликты, возникающие при сохранении изменений в версии - неявное согласование
В случае возникновения первого типа конфликтов разные редакторы изменяют один и тот же объект в той же версии базы геоданных в разных сессиях редактирования или тот же самый объект удаляется в одной сессии редактирования, но изменяется в другой. При сохранении ваших изменений ArcGIS обнаружит любые конфликты между сессиями редактирования в рамках этой версии базы геоданных и разрешит конфликты на основании настроек сохранения изменений, которые вы установили на вкладке Работа с версиями (Versioning) диалогового окна Опции редактирования (Editing Options). Поскольку такой процесс согласования происходит на основе предопределенных настроек, то его называют неявным согласованием.
Конфликты, возникающие при согласовании дочерней версии и целевой версии - явное (прямое) согласование
Второй тип конфликтов возникает в тех случаях, когда происходит прямое согласование дочерней версии с ее родительской версией. Эта операция производится путем нажатия кнопки Согласовать (Reconcile) на панели инструментов Работа с версиями (Versioning).
Более подробно о том, как согласовать версию
При согласовании появится диалоговое окно, в котором вы сможете выбрать опцию разрешения конфликтов в пользу редактируемой вами версии или в пользу целевой версии.
3. Обзор конфликтов
Оба типа конфликтов, которые описаны выше, исходно разрешаются средствами ArcGIS.
При желании вы можете произвести поочередный обзор конфликтов с помощью диалогового окна и, если это будет необходимо, произвести любые изменения. Для каждого конфликта вы сможете выбрать опцию возврата объекта в то состояние, в котором он был в начале вашей работы в этой сессии редактирования.Вы также сможете сохранить объект в его состоянии в вашей текущей версии редактирования или заменить его объектом из конфликтной сессии редактировании или целевой версии.
Более подробно об обзоре конфликтов
если в момент сохранения будут обнаружены конфликты в одной и той же версии, то если ваши настройки сохранения изменений были установлены на автоматическое сохранение изменений во всех случаях, то у вас не будет возможности произвести обзор конфликтов; эти изменения будут согласованы на основании правила разрешения конфликтов, которые вы установили на вкладке Работа с версиями (Versioning) диалогового окна Опции редактирования (Editing Options).
4. Закрепление изменений
На этом этапе вы закончили согласование, и если существовали какие-то конфликты, то вы произвели их обзор. Когда вы будете готовы внести ваши изменения в целевую версию, нажмите кнопку Закрепить (Post) на панели инструментов Работа с версиями (Versioning). При закреплении происходит сохранение вашей текущей сессии редактирования, а затем происходит закрепление изменений текущей версии в целевой.
Другие пользователи, считывающие версию, в которой вы закрепили изменения, не будут видеть результатов закрепления до тех пор, пока они не обновят их версионные рабочие области. Закрепление не сможет быть отменено, поскольку вы закрепляете изменения в версии, которую вы не редактируете в настоящий момент.
Более подробно о закреплении изменений
После закрепления вы сможете продолжить производить изменения в вашей сессии редактирования. Чтобы внести эти изменения в целевую версию, вам будет нужно пройти этапы согласования, разрешения конфликтов и повторного закрепления процессов.
Если закрепление изменений в вашем случае означает конец работы над проектом или завершение работы над частью вашего рабочего потока, то вы можете удалить версию, которую вы редактируете с помощью ArcCatalog или ArcMap. Вы сможете удалить версию при условии, что сперва будут удалены все ее дочерние версии. Только владелец версии или администратор баз данных (пользователи sde или dbo) могут удалять версии.