Управление конфликтами сервис-ориентированных версий

Доступно с лицензией Standard или Advanced.

При согласовании именованной версии с версией по умолчанию будут найдены все возможные конфликты. Если конфликты обнаруживаются в процессе согласования, они первоначально разрешаются в пользу версии редактирования. Если вам нужно, чтобы все конфликты были разрешены в пользу представления объектов и атрибутов, присутствующих в вашей именованной версии, вы можете продолжить публикацию изменений в версии по умолчанию (default).

Однако если вы хотите просмотреть конфликты и, возможно, сохранить другое представление объекта или атрибутов, просмотрите конфликты и укажите, какое представление сохранить. Например, вы можете просмотреть изменения, конфликтующие между именованной версией и версией default, и решить, что представление объекта или атрибута в версии default является правильным.

Конфликты возникают в следующих ситуациях:

  • Один и тот же объект обновляется в текущей именованной версии и в версии default.
  • Один и тот же объект обновляется в одной версии (именованной или default) и удаляется в другой.
  • Топологически связанный объект или класс отношений изменяется в текущей именованной версии и в версии default.

Используйте вид Конфликты, чтобы просмотреть конфликты редактирования между именованной версией и версией default. Вид Конфликты содержит все слои векторного веб-слоя, в которых есть конфликты. Для каждого слоя в виде Конфликты отображаются конфликтующие объекты или строки.

В сервис-ориентированной версии конфликты хранятся в системной таблице, на которую ссылается вид Конфликты. Это дает вам возможность просмотреть конфликты сразу после согласования, сохранить свой проект ArcGIS Pro и вернуться позже для завершения разрешения конфликтов с помощью вида Конфликты.

Примечание:

Не тратьте слишком много времени на просмотр и разрешение конфликтов, поскольку любые непросмотренные конфликты очищаются и автоматически разрешаются в пользу редактируемой версии при выполнении второй операции согласования или операции закрепления. Согласование и закрепление удаляет историю разрешения конфликтов.

Вид Конфликты позволяет выполнять следующее:

  • Определять поля или строки, участвующие в конфликте.
  • Просмотреть конфликты.
  • Разрешить конфликты путем указания того, какое представление следует использовать для замены объектов (строк) или атрибутов (полей).
  • Пометить конфликты, как просмотренные и не просмотренные.

Закончив просмотр и, при необходимости, разрешение конфликтов, можно завершить процесс слияния, закрепив изменения в версии default.

Откройте вид Конфликтов

Вид Конфликты будет доступен, если ваша именованная версия содержит конфликты. Его можно открыть непосредственно в приглашении, которое вы получаете при согласовании с версией default и обнаружении конфликтов. Если вы закроете вид Конфликты или вам понадобится другой пользователь для просмотра конфликтов, вы можете щелкнуть кнопку Менеджер конфликтов на вкладке Версии, чтобы снова открыть вид Конфликты.

Выполните следующие действия, чтобы открыть вид Конфликты:

  1. Добавьте векторный веб-слой на карту

    Это веб-слой, в котором вы создали именованную версию.

  2. На панели Содержание щелкните вкладку По источнику данных По источнику данных.
  3. Убедитесь, что вы подключены к нужной версии. Чтобы изменить версию, щелкните правой кнопкой источник данных векторного веб-слоя ArcGIS Server, затем - Изменить версию Изменить версию, а после этого - именованную версию.
  4. Щелкните вкладку Версионность.
  5. Используйте одну из следующих опций, чтобы открыть вид Конфликты:
    • Для просмотра и управления имеющимися с момента последнего согласования конфликтами щелкните кнопку Менеджер конфликтов Менеджер конфликтов на вкладке Версии.
    • Если конфликтов нет, щелкните кнопку Согласовать Согласовать и завершите процесс согласования. Если в процессе согласования обнаруживаются конфликты, появляется вопрос, хотите ли вы просмотреть конфликты. При щелчке по кнопке Да открывается вид Конфликты.
      Запрос на просмотр конфликтов после согласования версий

Вид Конфликты можно закрепить в любой части приложения или расположить как плавающее окно. Этот позволяет взаимодействовать с видом Карта и одновременно просматривать и изучать данные.

Использование вида Конфликты

В виде Конфликты перечислены все рабочие пространства и слои или таблицы, содержащие конфликты для всех карт проекта. Конфликты организованы по подслою векторного веб-слоя, категории конфликта (например, обновить-удалить, когда объект был обновлен в именованной версии и удален из версии default) и object ID затронутого объекта.

Вид Конфликты состоит из трех основных разделов для работы с конфликтами.

  • Список на вкладке Конфликты содержит имена векторных веб-слоев, содержащих конфликты. Под каждым векторным веб-слоем находятся все подслои, содержащие конфликты. Каждый конфликтующий объект показывается под каждым подслоем, а объекты сгруппированы по типу конфликта.

    Например, на изображении ниже имя векторного веб-слоя — New construction - Phase 2 (EsriCampus). Во всем векторном веб-слое имеется три конфликта, на что указывает число после имени векторного веб-слоя.

    Этот векторный веб-слой содержит только один подслой — EsriBuildings. В этом подслое три конфликта.

    Три объекта, содержащие конфликты, показаны идентификаторами объектов и сгруппированы по типу конфликта. Объект со значением идентификатора объекта 16 был удален из указанной версии, но обновлен в версии default (Удалить-Обновить). Объект со значением идентификатора объекта 1633 был обновлен в указанной версии, но удален из версии default. Объект со значением идентификатора объекта 1631 был обновлен в обеих версиях, но обновления были разными.

  • В информационной сетке показаны атрибуты и значения в том виде, в котором они представлены в именованной версии (Текущей), версии default (Целевой) и так, как они были представлены до редактирования или последней синхронизации (Общего предка). Выберите object ID одного из объектов в списке, чтобы просмотреть атрибуты и значения этого объекта.
    Примечание:

    Поля атрибутов содержатся в столбце Свойство информационной сетки.

    Например, на изображении ниже в списке конфликтов выбран объект со значением идентификатора объекта, равным 1631. Объект был обновлен в именованной версии и обновлен в версии default (Обновить-Обновить). Все строки, содержащие конфликтующие значения, помечены красным.

  • Вьюер Показать конфликты позволяет визуально сравнивать изменения, внесенные в геометрию выбранного объекта. На изображении ниже геометрия выбранного объекта не редактировалась, поэтому объект отображается одинаково как для именованной версии (Текущей), так и для версии default (Целевой) во вьюере Показать конфликты.

В информационной сетке и во вьюере Показать конфликты вы можете сравнить следующие представления выбранного объекта:

  • Текущая – представляет текущее состояние объектов и атрибутов в именованной версии. Cодержит все внесенные вами изменения.
  • Целевая – отображает объекты и их атрибуты в версии default после согласования.
  • Общий предок — отображает объекты и атрибуты на момент создания именованной версии или на момент последнего согласования именованной версии с версией default.

Обратитесь к изображению и таблице ниже, чтобы просмотреть элементы вида Конфликты:

Нумерованные секции и элементы версионного вида Конфликты

ЭлементОписание

1

Список конфликтов - раздел списка конфликтов содержит все слои и конфликтующие объекты.

2

Информационная сетка - раздел информационной сетки показывает атрибуты и значения для всех представлений выбранного вами в списке конфликтов объекта.

3

Вьюер Показать конфликты - вьюер просмотра конфликтов открывает раздел в нижней части вида Конфликты. Отображая выбранный на картах объект во вьюере, вы можете сравнить изменения, внесенные в геометрию объекта, и отобразить конфликт между двумя версиями. Вы также можете самостоятельно перемещаться по картам во вьюере и определять объекты на экране.

4

Фильтр просмотренных конфликтов - эта отметка в верхней части списка конфликтов фильтрует список, показывая только конфликты, которые не были рассмотрены.

См. расположенный ниже раздел Пометить конфликты, как просмотренные или не просмотренные, чтобы узнать о том, как просматривать конфликты.

5

Красный индикатор - красный индикатор строки означает наличие конфликта. Например, если геометрия объекта редактировалась в каждой версии, рядом с полем Shape появится красная точка.

  • Если конфликты определяются объектом — все редактируемые строки выделяются жирным и имеют красный индикатор.
  • Когда конфликты определяются атрибутом — все отредактированные строки выделяются жирным, но только у строк, находящихся в конфликте, есть красный индикатор.

6

Показать всеПоказать все поля - отображает все поля объекта, даже те, которые не содержат конфликтов.

7

Показать конфликтыПоказать только конфликтующие поля - отображает только конфликтующие поля.

8

Показать кредиты для сервисных слоев - при щелчке по этому значку открывается диалоговое окно со списком поставщиков и создателей базовой карты, используемой во вьюере Показать конфликты.

9

Инструменты навигации Показать конфликты - следующие инструменты позволяют перемещаться и управлять отображаемой версией, а также перемещаться в окнах отображения конфликтов:

  • Два ниспадающих меню, по одному для каждого окна отображения, позволяют изменить отображение, чтобы показать Текущую (именованную версию), Целевую (версию default) или версию Общего предка.

  • Приблизить Фиксированное увеличение — выполняется приближение для отображения карты в более крупном масштабе, благодаря чему увеличивается размер объектов, но показывается меньшая площадь.

  • Отдалить Фиксированное уменьшение — выполняется отдаление для отображения карты в более мелком масштабе, благодаря чему уменьшается размер объектов, но показывается большая площадь.

  • Приблизить к выборке Приблизить к результатам – масштабирует карту, чтобы отцентрировать выбранный объект.

  • Подсветить выбранное Подсветить – выбранный объект на короткое время будет мигать синим и окрасится в красный цвет во вьюере Показать конфликты.

Элементы вида Конфликты

Список конфликтов

Все слои, содержащие конфликты, и каждый объект с конфликтом отображаются в списке конфликтов. Этот список показывает общее число конфликтов для каждого векторного веб-слоя и каждого подслоя.

Разверните Развернуто каждый из слоев, чтобы увидеть типы конфликтов для всех объектов. Их можно разбить на следующие категории:

  • Обновить-Удалить – объект был обновлен в именованной версии и удален в версии default.
  • Удалить-Обновить – объект был удален в именованной версии и обновлен в версии default.
  • Обновить-Обновить – объект был обновлен в обеих версиях.

Когда вы выбираете Object ID отдельного объекта в списке конфликтов, то в информационной сетке появляются поля и атрибуты в Текущей, Целевой и версии Общего предка этого объекта.

Подсказка:

Непроверенные конфликты выделены полужирным шрифтом. Рассмотренные конфликты больше не выделяются жирным шрифтом.

См. расположенный ниже раздел Пометить конфликты, как просмотренные или не просмотренные, чтобы узнать о том, как просматривать конфликты.

Информационная сетка

В информационной сетке вы можете просмотреть различные представления значений атрибутов для выбранного объекта. Когда у вас есть атрибуты и их значения для всех представлений конфликтного объекта, вы можете видеть, как атрибутивные значения отличаются в разных версиях. Это может помочь вам выбрать, какое представление данных вам нужно сохранить. Все поля отображаются в информационной сетке, а для строки, содержащей значения атрибутов, конфликтующие в версиях, появляется красный индикатор.

Если объект был удален в каком-либо представлении данных, для значения атрибута этого представления отображается <Deleted>. Если объекты были вставлены в именованную версию, и они становятся конфликтующими, для столбцов Целевая и Общего предка будет показано Не существует.

Подсказка:

Все поля отображаются в информационной сетке в виде Конфликты, однако поля с примененным фильтром конфликта на уровне поля не идентифицируются как конфликтующие и не отображают красный индикатор.

Показать конфликты

Щелкнув Показать конфликты, вы откроете раздел вьюера просмотра конфликтов в нижней части вида Конфликты. Вьюер просмотра конфликтов позволяет просматривать конфликты геометрии объекта в том виде, в каком они появляются на карте, а также перемещаться и определять объекты на экране. Отображаемые конфликты основаны на object ID индивидуального объекта, выбранном в списке конфликтов.

Инструменты навигации по отображению конфликтов расположены под вьюером Показать конфликты. Эти инструменты содержат два раскрывающихся меню, которые позволяют вам изменять представления сравниваемых данных. Это представления данных Текущая, Целевая и Общий предок.

Содержание вьюера просмотра конфликтов зависит от того, присутствует ли на активной карте векторный веб-слой, содержащий конфликт:

  • Если слой содержится на активной карте, дисплей конфликтов отображает все слои карты, использует символы карты и включает базовую карту.
  • Если слой на активной карте отсутствует, дисплей конфликтов отображает только конфликтующий слой, использует символы по умолчанию и не включает базовую карту.

Разрешение конфликтов

При устранении конфликтов вы решаете, какое представление пространственных объектов или атрибутов следует оставить. После операции согласования можно использовать вид Конфликты, чтобы указать представление для сохранения. Имейте в виду, что использование вариантов замены в виде Конфликты – это то же самое, что и выполнение операции редактирования.

В виде Конфликты щелкните правой кнопкой заголовок представления или значение атрибута в информационной сетке или щелкните правой кнопкой слой или объект в списке Конфликты и выберите один из следующих вариантов замены:

  • Заменить текущей версией
  • Заменить целевой версией
  • Заменить версией общего предка

Контекстное меню конфликта для сервис-ориентированной версии

Ниже приведены различные уровни, на которых можно использовать варианты замены для разрешения конфликтов, основанные на том, с чем вы работаете в виде Конфликты:

  • Замещение атрибутов

    Это выполняется на уровне поля (помеченного как Свойство в информационной сетке), и вы задаете значения атрибута только для текущей (именованной) версии.

    Для этого щелкните правой кнопкой конфликтующий атрибут в столбце текущей версии информационной сетки и выберите вариант замены. Чтобы сохранить значение, представленное в текущей версии, нажмите Заменить текущей версией. Или вы можете заменить значение в текущей версии значением из представления в версии default (Заменить целевой версией) или заменить его значением из представления общего предка.

  • Замещение пространственных объектов

    Это происходит на уровне строки. Можно заменить весь объект представлением объекта в текущей версии, целевой версии или представления общего предка. Это означает, что все конфликтующие значения атрибутов объекта, включая конфликты геометрии объекта, заменяются.

    Для этого щелкните правой кнопкой object ID объекта в списке Конфликты и выберите соответствующий вариант замены.

  • Замена на уровне слоя

    Чтобы разрешить конфликт, можно заменить текущее представление всего подслоя представлением объекта в текущей версии, целевой версии или версии общего предка. Это приведет к одновременной замене всех конфликтующих объектов и атрибутов подслоя, позволяя быстро обновить и заменить конфликтующие объекты. Если в списке Конфликты присутствуют несколько объектов этого слоя, все они заменяются выбранной версией.

    Чтобы заменить все конфликты в слое, щелкните правой кнопкой имя подслоя в списке Конфликты и выберите соответствующий вариант замены.

  • Выполнение замены для векторного веб-слоя

    Это выполняется на уровне векторного веб-слоя. Вследствие использования данной опции замещения все конфликтные объекты, слои и значения атрибутов заменяются выбранным представлением.

    Щелкните правой кнопкой векторный веб-слой в верхней части списка Конфликты и выберите соответствующий вариант замены, чтобы заменить все конфликты.

  • Слияние геометрии

    Происходит на уровне полей и специально связано с атрибутом Shape. Опция слияния геометрии доступна только в меню Shape, если конфликт затрагивает поле Shape. Если два редактора редактируют геометрию одного и того же пространственного объекта, но в разных частях этого объекта, у них есть опция слияния геометрии, чтобы принять обе редакторские правки. После слияния геометрии в полученный пространственный объект будут внесены изменения, сделанные обоими редакторами.

    Если правки одного редактора охватывают область, уже отредактированную другим редактором, их области редактирования будут перекрываться. Хотя в принципе может выполняться слияние геометрии, попытка сделать это завершится неудачей со следующим сообщением об ошибке:

    В процессе слияния геометрии произошла ошибка. Не удалось совместить две геометрии. Регионы редактирования перекрываются.

Фильтрация конфликтов на уровне поля

В некоторых случаях необходимо избежать изменений, примененных по отношению к одному полю или к набору полей, если в процессе согласования были обнаружены конфликты. Далее приводятся примеры, когда может быть полезно фильтровать конфликты, обнаруженные в поле при согласовании:

  • Выполняется пакетное обновление по одному полю в разных версиях.
  • Информация записывается в поле на основе изменений, выполненных в данной версии.

Чтобы предотвратить выявление конфликтов при обновлении одного и того же атрибута в версии default и именованной версии, можно использовать инструмент Добавить фильтр конфликтов полей, чтобы задать фильтрацию от конфликтов для набора полей. Фильтр конфликтов полей позволяет отметить тегом поле или набор полей в пределах классов объектов, чтобы отфильтровать их при определении конфликтов. Если изменяются только поля с фильтрами конфликтов, то во время операции согласования конфликты возвращаться не будут. Это применимо только в случае, если вы определяете конфликты по атрибуту.

Для того чтобы узнать, заданы ли фильтры конфликтов для слоя, можно воспользоваться функцией ArcPy ListFieldConflictFilters.

Примечание:

В виде Конфликты, в столбце Свойство, отображаются все поля; однако поля, к которым применен фильтр конфликтов, не идентифицируются как конфликтующие, и в них отсутствует красный индикатор.

Данные сервис-ориентированной версии всегда согласовываются в пользу именованной версии. Фильтр конфликта полей содержит значение из именованной версии.

Инструмент Удалить фильтр конфликта полей может удалить эти фильтры из указанных полей.

Примечание:

После запуска инструмента Добавить фильтр конфликта полей или Удалить фильтр конфликта полей вы или администратор организации ArcGIS Enterprise должны перезапустить сервис, связанный с векторным веб-слоем.

Разрешение конфликтов с правилами атрибутов

Правила атрибутов улучшают процесс редактирования и обеспечивают целостность наборов данных базы геоданных. При выполнении согласования, в котором конфликты определяются атрибутом (столбцом), правила вычисления или ограничения рассматриваются для объектов, обновленных как в версии default, так и в именованной версии. Если при выполнении этого процесса будет нарушено правило ограничения, объект будет помечен как содержащий конфликт Обновить-Обновить.

Разрешение конфликтов с классами отношений

Классы отношений могут быть использованы для обеспечения пространственной целостности между связанными объектами базы геоданных. Если источники данных сервис-ориентированной версии участвуют в классе отношений, процесс согласования оценивает эти данные на предмет их пространственной целостности. Если пространственная целостность нарушена, участвующие объекты будут выведены, как конфликты, и их можно будет просмотреть в виде Конфликты.

Удаление объекта из класса отношений объектов-источников может вызвать отправку сообщения на удаление объекта из класса отношений объектов-адресатов. Поэтому вам следует учитывать возможные последствия замены конфликтов, возникающих в исходных классах пространственных объектов, участвующих в классах отношений.

Приведем пример того, когда между классами отношений может возникнуть конфликт:

  • В версии default вы добавляете целевой объект и связываете его с объектом в исходном классе.
  • В именованной версии вы удаляете тот же исходный объект, который использовался для связи с новым целевым объектом.
  • Когда эти изменения будут согласованы, в целевом классе обнаруживается конфликт обновить-обновить, а в исходном – конфликт удалить-обновить.

Другой пример:

  • Вы удалили столб, у которого есть связь с трансформатором: это вызовет удаление связанного со столбом трансформатора.
  • В то же самое время, другой редактор изменил атрибуты трансформатора, который только что был удален, поскольку вы удалили связанный с ним столб.
  • При согласовании изменений обнаруживается конфликт обновить-удалить в исходном и целевом классах.

В этом последнем примере, если второй пользователь решит заменить все конфликты представлениями сеанса редактирования, то столб и трансформатор, удаленные во время этого сеанса редактирования, будут созданы заново.

Пометить конфликты, как просмотренные или не просмотренные.

ArcGIS Pro обеспечивает механизм отслеживания конфликтов по мере их рассмотрения и способов их разрешения.

Изначально после операции согласования все конфликты считаются непросмотренными и выделяются жирным шрифтом. После того как вы и остальные проверяющие (если они есть) завершите разрешение конфликтов, вы можете пометить объекты как просмотренные. Объекты, помеченные как просмотренные, больше не будут выделяться жирным шрифтом в списке вида Конфликты.

Есть несколько ситуаций, в которых вы можете оставить конфликт не просмотренным:

  • Вам не удастся завершить просмотр всех конфликтов до закрытия ArcGIS Pro.
  • Есть другой проверяющий, которому необходимо просмотреть конфликты в вашей версии, прежде чем изменения будут опубликованы в версии default.

Чтобы отметить, что объект был просмотрен, щелкните правой кнопкой значение object ID в списке конфликтов и выберите Отметить как просмотренное. Это снимет отображение объекта в виде Конфликты жирным шрифтом. Чтобы отметить, что просмотр больше не требуется, щелкните правой кнопкой значение object ID в списке конфликтов и выберите Отметить как просмотренное. После этого объект снова будет выделен жирным в виде Конфликты.

Вы можете отфильтровать список, чтобы отображались только те конфликты, которые не были просмотрены, поставив отметку Фильтр просмотренных конфликтов в верхней части вида Конфликты.

Также можно добавить отметку о просмотре для информирования других проверяющих. Щелкните правой кнопкой на объекте и выберите Добавить примечание просмотра, а затем введите текст в окно Добавить примечание просмотра. Чтобы изменить имеющееся примечание просмотра, щелкните правой кнопкой на объекте и выберите Изменить примечание просмотра.

Примечание:

Отметки о просмотре стираются при выполнении следующей операции согласования или закрепления.

Связанные разделы