Работа с представлениями в версионной среде

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

Более подробно о версияхБолее подробно о том, как хранятся представления

Как представления работают в версионной среде?

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

Существующие рекомендации для использования представлений в версионной среде

Сценарий 1

  • Родительская (целевая) версия изменяет представление RuleID с R на R* для представления пространственного объекта.
  • Дочерняя (редактируемая) версия редактирует представление этого же объекта, но вместо этого добавляет замещение атрибута, которое сохраняется в поле Override как O*.
    • Дочерняя версия - это открепление родительской версии. В зависимости от того, как определяются конфликты, вы можете получить разные результаты.
    • Уровень строки: так как в обеих версиях редактируется один и тот же объект, выявляется конфликт. Конфликт разрешается в пользу одной из версий, в зависимости от приоритетности. Таким образом, в итоге в представлении будет либо правило RuleID R с замещением Override O* , либо правило RuleID R* с замещением Override O. Результаты согласованы между собой.
    • Уровень столбца: так как редактируется одно и то же представление пространственного объекта, изменения вносятся в два разных поля или атрибута, называющихся RuleID и Override. Это не выявит конфликт. После согласования у представления правило RuleID равно R*, а замещение атрибута - O*. У представления пространственного объекта есть замещение атрибута для свойства, которое на принадлежит правилу представления, с которым представляется. Результаты противоречивы.
    • Чтобы избежать подобной ситуации, используйте вместо этого опцию замещения на уровне строки row_level.

Сценарий 2

  • Родительская (целевая) версия изменяет форму представления пространственного объекта или добавляет замещение формы, которое сохраняется в поле замещений Override как O*.
  • Дочерняя (редактируемая) версия редактирует это же представление объекта, но добавляет вместо этого замещение атрибута, которое сохраняется в поле замещений Override как O**.
  • Дочерняя версия - это открепление родительской версии. Независимо от версии, для которой вы решили разрешать конфликты, результат будет одним и тем же.
    • Уровень строки или столбца: одно представление объекта редактируется в обеих версиях. К тому же правка вносится в замещение одного и того же атрибута. Хотя замещения формы и атрибутов - это два разных элемента, правка вносится в одно и то же поле замещений Override. Конфликты выявляются, и вам приходится оставить лишь одно из этих замещений - O* или O**.
    • Обходной путь: Сохраняйте изменения атрибутов в явном поле, а не в поле замещений Override. При согласовании - в случае, если выбирается определение на уровне столбца, - у вас не будет выявлено никаких конфликтов, так как правка вносится в два разных поля (поле замещений Override и в явное поле). В результате, вы сможете сохранить оба изменения.

Сценарий 3

  • Родительская версия (целевая) создает замещение атрибута для представления пространственного объекта. Поле замещений Override обновляется до O*.
  • Дочерняя версия (редактируемая) изменяет это же представление, но конвертирует представление пространственного объекта в свободное представление. Значение RuleID меняется на -1, и графический объект заносится в поле замещений Override. В результате, на этом шаге изменяются оба поля - правил RuleID и замещений Override - на R* и O**.
  • Дочерняя версия - это открепление родительской версии.
    • На уровне строки или столбца: Возникает конфликт. Если вы разрешаете конфликты в пользу родительской (целевой) версии, результат будет противоречивый. Замещение атрибута O* будет существовать со значением RuleID равным -1 или R*.
    • Обходной путь: Чтобы избежать противоречивых результатов, разрешайте конфликты в пользу дочерней версии. В этом случае сохраняйте внесенные в дочернюю версию изменения и игнорируйте изменения родительской версии. Однако вам необходимо обратить внимание, что в этом случае теряются изменения, внесенные в родительскую версию.

Сценарий 4

Если у вас есть несколько картографических продуктов, основанных на нескольких представлениях одного и того же класса пространственных объектов, используйте сценарий нескольких проектов (Multiple Project) для редактирования картографических продуктов. Например, создайте по отдельной версии для каждого картографического продукта: M1, M2, M3 и т. д. После редактирования этих версий, согласуйте и отправьте в родительские версии (или SDE.Default) с использованием определения и разрешения любых конфликтов на уровне столбца в пользу редактируемой версии. Если вы хотите записать замещения атрибутов в дополнительное поле вместо поля замещений Override, тогда создайте по дополнительному полю для каждого из картографических продуктов.

наилучшие способы

Связанные темы

5/10/2014