Доступно с лицензией Location Referencing.
Предотвращение конфликтов улучшает поддержку многопользовательского редактирования за счет координации редактирования маршрутов и событий в системе линейных координат (LRS) многопользовательская база геоданных. ArcGIS Location Referencing координирует редактирование, применяя набор условий и поведений, которые требуют от редакторов блокировки перед редактированием маршрута или события.
Основной принцип предотвращения конфликтов Location Referencing: если маршрут или событие заблокированы для редактирования редактором в версии базы данных, эти маршруты или события не могут быть отредактированы тем же человеком в другой версии базы данных или другими людьми в любой версии.
Включение предотвращения конфликтов
Предотвращение конфликтов поддерживается только для набора данных LRS сервис-ориентированной версии.
Традиционное управление версиями поддерживается в Location Referencing, но предотвращение конфликтов недоступно в наборах данных с традиционным управлением версиями.
После того, как ваш набор данных станет сервис-ориентированной версией, запустите инструмент Изменить LRS с опцией Предотвращение конфликтов, установленной на Включено.
Если предотвращение конфликтов включено, каждый инструмент редактирования автоматически получает блокировки, если они доступны, или предупреждает вас, когда блокировки не могут быть получены.
Изменение маршрута и создание блокировки для предотвращения конфликтов
Пример рабочего процесса предотвращения конфликтов показан с помощью Исключить маршрут. Маршрут RouteY будет исключен.
- Щелкните кнопку Идентифицировать маршрут и нажмите RouteY.
Появится диалоговое окно Идентифицировать маршрут.
- Убедитесь в отсутствии блокировок на выбранном маршруте.
Поскольку результаты не показывают никаких блокировок, мы знаем, что для этого маршрута блокировок не существует.
- Убедившись, что на маршруте нет блокировок, щелкните Исключить на вкладке Location Referencing.
Появляется панель Исключить маршрут.
- На панели Исключить блокировки щелкните Имя маршрута "От" и укажите маршрут, который вы желаете исключить.
После выбора имени маршрута в верхней части панели появляется сообщение о получении блокировки.
Сообщение о блокировке содержит следующую информацию:
- Блокировка на RouteY успешно установлена.
- Блокировка получена пользователем портала, User11.
- Блокировка маршрута для версии базы данных Version1 получена пользователем User11.
Примечание:
Вы автоматически перенесете существующий маршрут или блокировку линии от другого человека на себя, если выполняются следующие условия:
- Версия, принадлежащая другому лицу, является общедоступной.
- Вы делаете запрос в той же версии, в которой у другого человека есть блокировка.
- Если версия блокировки является дочерней, то у владельца блокировки в настоящее время нет открытого сеанса редактирования в этой версии. Если версия блокировки является версией по умолчанию, то у владельца блокировки в настоящее время нет открытого сеанса чтения в версии по умолчанию.
- Вы также можете подтвердить наличие блокировки, нажав Идентифицировать маршрут и RouteY еще раз.
Значок Заблокировано вами также подтверждает, что у вас есть блокировки для указанного маршрута и вы можете редактировать этот маршрут.
- Вы также можете определять существующие блокировки с помощью кнопки Блокировки LRS на вкладке Location Referencing
Появляется таблица Блокировки LRS.
Сообщения о предотвращении конфликтов
Как описывалось ранее, логика предотвращения конфликтов разрешает изменение маршрута и события одновременно только одним человеком в одной версии.
Например, если пользователь User22 попытается изменить маршрут, в то время как тот же маршрут заблокирован пользователем User11, появится следующее сообщение:
В сообщении содержится следующая информация:
- Маршрут RouteY изменить нельзя, поскольку он принадлежит другому человеку.
- Блокировка уже получена пользователем портала User11.
- Блокировка маршрута RouteY для версии базы данных Version1 уже была получена пользователем User11.
Идентификатор маршрута показывает следующий результат:
Появляется таблица Блокировки LRS со списком блокировок.
Убедитесь, что редактируется самая последняя версия набора данных
Отредактируйте самую последнюю версию базы данных, чтобы все последние изменения данных присутствовали в редактируемой версии. Чтобы подтвердить самую последнюю версию, Location Referencing перед получением блокировки проверяет, требуется ли согласование с версией по умолчанию. Когда версию необходимо согласовать с версией по умолчанию, появляется следующее сообщение:
При щелчке по кнопке Да при появлении сообщения Получить блокировки версия редактора согласуется с версией по умолчанию.
Примечание:
Прежде чем редактировать маршруты или события, убедитесь, что все конфликты с версией по умолчанию устранены.
Вы можете выбрать автоматическое согласование перед получением блокировок. Если включено автоматическое согласование, вы можете получить блокировку без согласования, за исключением случаев, когда во время согласования будут обнаружены конфликты.
Общая логика предотвращения конфликтов при редактировании маршрута показана на следующей схеме:
Типы блокировок
Предотвращение конфликтов в Location Referencing имеет два типа блокировок:
- Блокировки маршрутов
- Блокировки события
Блокировки маршрутов
Блокировки маршрутов не позволяют другим пользователям редактировать маршрут и события на этом маршруте, пока этот маршрут редактируется. Блокировки маршрутов имеют следующие свойства:
- Блокировка называется блокировкой маршрута, когда маршрут в сети редактируется.
- Когда маршрут заблокирован, редактировать этот маршрут и события на этом маршруте в той версии, в которой была получена блокировка, может только тот, кто его заблокировал.
Блокировки событий
Блокировки событий не позволяют другим людям редактировать слой событий для определенного маршрута. Блокировка события устанавливается для слоя событий для маршрута.
Если User1 заблокировал Слой событий1 для Route1 в Version1, применяется следующее:
- Никто другой не может редактировать Слой событий1 для Route1 ни в каких версиях.
- User1 не может редактировать Слой событий1 для Route1 ни в каких других версиях, кроме Version1.
- Другие люди могут получить блокировки на других слоях событий (кроме Слоя событий1) для Route1 или для любого другого маршрута, если для этого маршрута не существует блокировки маршрута.
- Никто не может получить блокировку маршрута, если несколько человек имеют блокировки событий для этого маршрута.
- Другие люди могут получить блокировки на Слое событий1 для любых других маршрутов, для которых могут быть получены блокировки.
- Блокировка события устанавливается, если она необходима для редактирования какого-либо события на маршруте.
Примечание:
- Если существует несколько временных интервалов маршрута или события, полученная блокировка действительна для всех временных интервалов.
- Блокировки получаются инструментами геообработки по мере необходимости.
Логика предотвращения конфликтов, когда для маршрута существуют события, показана на следующей схеме:
Предотвращение конфликтов при редактировании центральной линии
Там, где существуют параллельные маршруты, маршруты блокируются на основе общих центральных линий. Следующий рисунок демонстрирует эту концепцию:
- Если Route X редактируется, блокировка устанавливается на Route X, и никто другой не может получить блокировку на Route Y, поскольку они имеют общую центральную линию C2.
- Если Route Y редактируется, блокировка устанавливается на Route Y, и никто другой не может получить блокировку на Route X, поскольку они имеют общую центральную линию C2.
- Если редактируется центральная линия C1 (картографическое выравнивание или разбиение центральной линии), блокируется только Route X.
- Если редактируется центральная линия C3, блокируется только Route Y.
- Если редактируется центральная линия C2, оба Route X и Route Y блокируются, поскольку C2 является общей центральной линией между этими двумя маршрутами.
Снять блокировки:
Блокировки снимаются автоматически в следующих случаях:
- Версия, содержащая блокировки, публикуется в версии по умолчанию.
- Версия, содержащая блокировки, удалена.
- Блокировки, полученные в версии по умолчанию в результате использования редактирования маршрута, центральной линии или инструментов геообработки, снимаются после завершения выполнения.
Блокировки можно снять вручную в зависимости от их статуса.
Если значение статуса возможности снятия равно Да, вы можете снять блокировку, выполнив следующие действия:
- Щелкните кнопку Снять блокировки на вкладке Location Referencing.
- Щелкните кнопку Снять блокировки , которая находится в таблице Блокировки LRS.
Если значением статуса возможности снятия является Нет, блокировка не может быть снята.
Если значением статуса возможности снятия является При публикации, блокировка может быть снята только после публикации в версии по умолчанию.
Примечание:
Вы автоматически перенесете существующий маршрут или блокировку линии от другого человека на себя, если выполняются следующие условия:
- Версия, принадлежащая другому лицу, является общедоступной.
- Вы делаете запрос в той же версии, в которой у другого человека есть блокировка.
- Если версия блокировки является дочерней, то у владельца блокировки в настоящее время нет открытого сеанса редактирования в этой версии. Если версия блокировки является версией по умолчанию, то у владельца блокировки в настоящее время нет открытого сеанса чтения в версии по умолчанию.
Краткое изложение правил предотвращения конфликтов
Когда предотвращение конфликтов включено, вы можете редактировать маршрут после получения блокировки на этом маршруте при следующих условиях:
- Ни у кого нет блокировки на этом маршруте ни в одной из версий базы данных.
- У того же человека уже есть блокировка маршрута на этом маршруте в той же версии базы данных, с которой он работает в данный момент.
Когда включено предотвращение конфликтов и не выполняются условия передачи блокировки, вы не можете редактировать маршрут при следующих условиях:
- Необходима сверка с версией по умолчанию.
- Конфликты базы геоданных существуют в текущей версии.
- Маршрут уже заблокирован другим человеком.
- У того же человека уже есть блокировка маршрута на этом маршруте в другой версии базы данных, в которой он сейчас работает.
- Другой человек имеет блокировки событий на этом маршруте (при условии, что условия передачи блокировки не выполняются).
- У того же человека есть блокировки событий на этом маршруте в другой версии базы данных.
Когда предотвращение конфликтов включено, вы можете редактировать событие после получения блокировки на этом слое событий при следующих условиях:
- Ни у кого нет блокировки на этом слое событий для маршрута, на котором находится событие в любой версии базы данных (при условии, что условия передачи блокировки не выполняются).
- У этого же человека уже есть блокировка события в той же версии базы данных, в которой он сейчас работает (для маршрута, на котором находится событие).
- У того же человека уже есть блокировка маршрута (для маршрута, на котором расположено событие) в той же версии.
Когда предотвращение конфликтов включено, вы не можете редактировать событие при следующих условиях:
- Необходима сверка с версией по умолчанию.
- Конфликты базы геоданных существуют в текущей версии.
- Слой события уже заблокирован другим человеком для маршрута, на котором находится событие (при условии, что условия передачи блокировки не выполняются).
- Слой события уже заблокирован тем же человеком для маршрута, на котором находится событие, но в другой версии.
- Маршрут, на котором находится событие, уже заблокирован другим человеком (при условии, что условия передачи блокировки не выполняются).
- Маршрут, на котором находится событие, уже заблокирован тем же человеком, но в другой версии.