Ознакомьтесь с советами, инструментами и возможностями базы геоданных в ArcGIS Pro при использовании связанных данных из класса отношений.
Копирование данных в классе отношений
Можно копировать любой набор классов объектов, класс объектов или таблицу из базы геоданных в базу геоданных адресата, используя функции Копирование и Вставка . Для каждого набора классов объектов, класса пространственных объектов и таблицы, при копировании в базе геоданных адресата создаются новые наборы классов объектов, классы пространственных объектов и таблицы, содержащие все объекты или записи из источника данных.
При копировании и вставке также происходит копирование любых зависимых данных. Предположим, вы копируете класс объектов или таблицу, участвующую в классе отношений. В этом случае класс отношений и все другие классы объектов или таблицы в классе отношений также копируются. То же самое относится и к классам объектов с объектно-связанными аннотациями; будут скопированы и объектно-связанные аннотации. При копировании класса пространственных объектов с правилами атрибутов копируются все правила атрибутов и любые дополнительные классы пространственных объектов или последовательности, указанные в правилах атрибутов. Что касается обладающих доменами, подтипами или индексами классов пространственных объектов, скопированы будут также домены, подтипы и индексы.
Внимание:
Инструмент геообработки Класс объектов в базу геоданных копирует только простые классы объектов. Например, если классы объектов содержатся в наборах данных объектов для экспорта, копируются только классы объектов. Набор классов объектов и все дополнительные элементы, такие как топологии, классы отношений и вложения, не будут скопированы в выходную базу геоданных.
Более подробно о копировании наборов классов объектов, классов объектов и таблиц в базу геоданных
Редактирование данных в классе отношений
Класс отношений можно настроить таким образом, чтобы при изменении объекта связанные объекты обновлялись автоматически. Это может включать физическое перемещение связанных объектов, удаление связанных объектов или обновление атрибута. Например, можно настроить отношение таким образом, чтобы всякий раз при перемещении опоры электропередачи, подключенные трансформаторы и другое оборудование перемещались вместе с ней. Устанавливая правила, класс отношений может ограничить тип допустимых отношений. Например, на одной опоре может быть установлено максимум три трансформатора. Стальная опора может поддерживать трансформаторы класса А, но не класса В. Классы связей активно поддерживают целостность ссылочных данных между связанными классами, даже если один из них не был добавлен в сеанс ArcGIS Pro. Когда объект, который участвует в простых отношениях с другими объектами, удаляется из базы геоданных, все его отношения также удаляются. Если удаленный объект является объектом-источником, то внешний ключ во всех связанных объектах-адресатах равен null. Объект-источник остается незатронутым, если удаленный объект является объектом-адресатом.
Предположим, что связи сохраняются в виде строк в промежуточной таблице (отношения многие ко многим или атрибутивные отношения). Когда объект-источник или объект-адресат и его связи удаляются, строки, соответствующие этим связям, удаляются из промежуточной таблицы.
На панели Атрибуты можно создать и удалить отношения между выбранными объектами и добавить новые отношения между выбранными объектами и непространственными записями в таблице. Связанные объекты должны участвовать в одном и том же классе отношений.
Дополнительные сведения о редактировании данных в классе отношений см. в разделе Редактирование отношений объектов.
Предоставляя автоматическое обновление связанных объектов, класс отношений может избавить вас от выполнения дополнительных операций редактирования.
См. раздел Версионные данные в классе отношений, чтобы узнать больше о редактировании и управлении классами отношений и связанными с ними данными при хранении в многопользовательской базе геоданных.
Отслеживание изменений и классы отношений
Отслеживание изменений предоставляет настройку для классов объектов и таблиц, которая автоматически записывает информацию о любых вставках и обновлениях, внесенных в класс. Она также сохраняет информацию о редакторе, который создал или изменил данные, и временную метку, регистрирующую дату и время изменения. Отслеживание изменений применяется только к операциям с существующими наборами данных и не применяется к операциям, которые создают наборы данных.
Не для всех типов классов отношений поддерживается отслеживание изменений. Когда создается класс отношений с кардинальностью многие ко многим (M:N) или с атрибутами, создается промежуточная таблица. Отслеживание изменений может быть включено только для этих классов атрибутивных отношений на основе таблиц.
Задать правила разбиения класса отношений
При создании линейного или полигонального класса объектов для него автоматически определяется модель разбиения по умолчанию. Модель разбиения определяет, как будут разделены геометрия и атрибуты объекта в таблице при разбиении объекта во время редактирования.
В дополнение к определению модели разбиения класса объектов вы также можете задать правила разбиения для класса объектов. Правила разбиения класса отношений определяют, как обрабатываются связанные записи в таблице-адресате, когда объект в классе-источнике объектов разбивается во время редактирования.
В зависимости от типа класса отношений, простого или сложного, могут быть определены разные варианты поведения правил разбиения, в том числе По умолчанию (простой), По умолчанию (сложный) и Дублировать связанные объекты.
См. раздел Настроить правила разбиения класса отношений для получения более подробной информации о настройке и использовании этого свойства класса отношений.
Работа с атрибутами отношений
В ArcGIS Pro есть инструменты, облегчающие построение и поддержку отношения.
- Если в источнике и адресате имеются объекты, но они не связаны, можно вручную установить в ArcGIS Pro в определенный момент времени одно отношение. Для этого, выберите один или несколько объектов в адресате, выберите один или несколько объектов в источнике, а затем откройте диалоговое окно Атрибуты и свяжите их. Это можно сделать при условии, что по крайней мере на одной стороне отношения имеются объекты.
- Можно выбрать объект, и в соответствующем классе создать связанный объект, при условии, что это новая запись в таблице, а не объект.
- Объект можно удалить из отношения при помощи диалогового окна Атрибуты.
- Как только вы закончите редактировать сложное отношение или отношение с правилами, можно использовать правила атрибутов проверка или ограничение, чтобы проверить свою работу и обеспечить целостность ссылочных данных.
Индексы атрибутов в классах атрибутивных отношений
Индексы атрибутов могут ускорить объединение соединения и быстро находить записи, соответствующие атрибутивному запросу, в таблицах, классах объектов, шейп-файлах или классах атрибутивных отношений.
Для большинства атрибутивных запросов поиск записи с индексом выполняется быстрее, чем поиск начиная с первой записи по всей таблице. Как только у вас есть данные в таблице, классе объектов, шейп-файле или классе атрибутивных отношений, можно создать индексы атрибутов для полей, к которым вы часто обращаетесь с запросами.
Правила атрибутов для данных в классе отношений
Правила атрибутов могут использоваться для чтения и редактирования связанных записей для наборов данных, которые участвуют в классах отношений в базе геоданных.
Правила могут применяться к классам признаков и таблицам, участвующим в классах отношений, включая вложения и объектно-связанную аннотацию. Правила атрибутов также могут отделять события редактирования от обновлений класса-источника и класса-адресата в отношении, что включает добавления, перемещения или удаления связанной записи. Например, правило атрибута немедленных вычислений может обновлять поле атрибута при добавлении пространственного объекта в связанный класс пространственных объектов.
При работе с классами отношений можно читать связанные записи с помощью функций Arcade, которые принимают входные объекты и возвращают связанные записи. Связанные записи из классов отношений также могут быть отредактированы с помощью правил вычислений на основе возврата словаря.
Функции Arcade и выражения скриптов могут использоваться в правилах вычислений атрибутов для доступа к связанным данным в классе отношений. Чтение связанных записей для класса отношений с помощью функций Arcade FeatureSetByName, FeatureSetByRelationShipName, and FeatureSetByRelationshipClass. Можно добавить новую связанную запись для класса отношений при обновлении редактирования.
Внимание:
При создании класса отношения многие-ко-многим или атрибутивного класса отношений, создается новая промежуточная таблица. Эта промежуточная таблица не распознается как объектный класс в базе геоданных. В результате, поведение базы геоданных, такое как правила атрибутов, домены, подтипы, зависящие значения и значения по умолчанию, не может быть применено к этой промежуточной таблице или использовано с ней.
Правила атрибутов проверка или ограничение можно создавать и применять для обеспечения соблюдения правил класса отношений.
Более подробно о правилах атрибутов и классах отношений, и о правилах проверки классов отношений.
Права доступа и классы отношений
Чтобы разрешить другим пользователям базы данных или корпоративной базы геоданных просматривать или изменять ее содержание, необходимо предоставить им соответствующие права доступа.
Если права предоставляются для доступа к классу объектов или таблице, которые участвуют в классе отношений, такие права должны обеспечивать доступ как к классу-источнику, так и к классу-адресату. Если класс-источник объектов и класс-адресат находятся в одном наборе классов объектов, они имеют одинаковый набор прав доступа, так как права предоставляются на уровне набора классов объектов. Однако если класс-источник и класс-адресат находятся в разных наборах пространственных данных, необходимо предоставить требуемые права доступа как для класса-источника, так и для класса-адресата. Если класс отношений является атрибутивным или имеет кардинальность многие-ко-многим, при предоставлении прав доступа к классу-источнику права автоматически передаются промежуточной таблице.
Версионные данные в классе отношений
Классы отношений сохраняются в базе геоданных и помогают упростить редактирование. Класс отношений в многопользовательской базе геоданных поддерживается следующими опциями редактирования рабочего процесса:
- Сервис-ориентированные версии
- Традиционные версии
- Традиционное управление версиями (перемещение изменений в базу)
- Неверсионное редактирование
Когда классы отношений и связанные с ними данные хранятся в многопользовательской базе геоданных, редактированием данных можно управлять с помощью версий. В многопользовательской базе геоданных с несколькими редакторами версии позволяют нескольким пользователям одновременно работать с одними и теми же объектами или записями в отношении и редактировать их, без применения блокировок или дублирования данных. Версии предоставляют каждому редактору свое уникальное, изолированное представление данных.
Советы по сервис-ориентированной версии и классу отношений
Нельзя зарегистрировать набор данных как сервис-ориентированную версию, если набор данных участвует в классе отношений, и первичным ключом отношения является поле ObjectID.
Подсказка:
Используйте инструмент геообработки Перенести класс отношений, чтобы перенести класс отношений на основе Object ID в класс отношений на основе Global ID.
Более подробно о регистрации набора данных как сервис-ориентированной версии
В сервис-ориентированной версии конфликты могут быть обнаружены в процессе согласования, когда именованная версия согласовывается с версией по умолчанию. Например, конфликт возникнет в том случае, если топологически связанный объект или класс отношений изменяется и в текущей именованной версии и в версии по умолчанию.
Подсказка:
Просмотрите конфликты редактирования именованной версии и версии по умолчанию, используя вид Конфликты.
В сервис-ориентированной версии при устранении конфликтов вы решаете, какое представление объектов и атрибутов следует оставить. Удаление объекта из класса отношений объектов-источников может вызвать отправку сообщения на удаление объекта из класса отношений объектов-адресатов. Поэтому следует учитывать возможные последствия замены конфликтов, возникающих в исходных классах пространственных объектов, участвующих в классах отношений.
Более подробно об устранении конфликтов с классами отношений с помощью сервис-ориентированных версий
Советы по традиционной версионности и классу отношений
Традиционная версионность обеспечивает гибкость при работе с версиями для длинных транзакций при непосредственном доступе из многопользовательской базы геоданных и упрощает редактирование при использовании сервисов объектов для размещения более коротких транзакций.
Традиционная версионность с опцией перемещения изменений в базу - это необязательная форма традиционной версионности. Это позволяет редакторам и приложениям получать прямой доступ к базовым данным, в то же время позволяя другим редакторам работать в своих изолированных версиях. Эта опция включает в себя многие из тех же преимуществ, что и традиционная версионность. Однако можно редактировать только простые объекты, такие как точки, линии, полигоны, аннотации и классы отношений. Вы не можете редактировать классы объектов в топологии, наборе сетевых данных или инженерной сети.
В традиционной версионности конфликты могут быть обнаружены во время операции согласования, когда сохраняются изменения в версии, и тот же объект был обновлен в этой версии в другом сеансе редактирования (или обновлен в одном сеансе редактирования и удален в другом).
Подсказка:
В традиционной версионности, если рабочий процесс имеет такую структуру, при которой один пользователь редактирует, а другой согласовывает изменения, убедитесь в том, что пользователь, производящий согласование, имеет полные права доступа для всех классов объектов и таблиц, которые были изменены в этой версии; в противном случае, он не сможет согласовать изменения. Как упоминалось в приведенном выше разделе о предоставлении прав, пользователь, выполняющий согласование, должен иметь полные права доступа как для класса-источника, так и для класса-адресата, которые участвуют в любом измененном классе отношений, включая простые или сложные отношения. В таком рабочем процессе пользователь, выполняющий согласование, также должен иметь необходимые права доступа к версии. Он должен иметь возможность изменения версии для ее согласования, то есть эта версия должна быть открытой и пользователь должен иметь возможность просмотра целевой версии, то есть либо он должен быть владельцем этой версии, либо версия должны быть открытой или защищенной.
В традиционной версионности при устранении конфликтов вы решаете, какое представление объектов и атрибутов следует оставить. Удаление объекта из класса отношений объектов-источников может вызвать отправку сообщения на удаление объекта из класса отношений объектов-адресатов. Поэтому следует учитывать возможные последствия замены конфликтов, возникающих в классах пространственных объектов, участвующих в классах отношений. Например, в вашем наборе классов объектов электросетевого хозяйства, если вы удалите опору электросети, связанную с одним или несколькими трансформаторами, связанные трансформаторы также будут удалены.
Более подробно об устранении конфликтов с классами отношений с помощью традиционной версионности
Использование репликации базы геоданных с классами отношений
Репликация базы геоданных позволяет реплицировать некоторые или все наборы данных в многопользовательской базе геоданных. Она позволяет определить, какие объекты или строки должны быть реплицированы. Для этого могут быть использованы фильтры и классы отношений. В процессе создания реплики, строки и объекты добавляются в реплику на основании фильтров, определенных в приложении. Затем для присоединения дополнительных строк и объектов используются классы отношений.
Следующий пример иллюстрирует поведение репликации в отношении связанных объектов. В этих примерах используется модель данных простого отношения источник-адресат между объектами собственности, зданиями и связанными с ними аннотациями.
Более подробно см. в разделе Подготовка данных для репликации.
При синхронизации производится обслуживание отношений. Для двусторонней и односторонней репликации во время синхронизации применяются те же фильтры и правила класса отношений, которые использовались при создании реплики. Все изменения в каждом наборе данных реплики, внесенные с момента последней синхронизации, оцениваются при определении изменений для отправки. Если изменение удовлетворяет условиям фильтров реплики, то оно будет синхронизировано.
Например, некоторые объекты в классе-источнике, такие как здания, были выбраны для репликации. Здания, связанные через класс простых отношений с записями атрибутов в таблице, исключены из реплики. В течение редактирования в дочерней реплике было удалено здание. В процессе синхронизации, чтобы аннулировать отношение с объектом, который был удален, соответствующая запись в поле внешнего ключа в связанном классе-адресате, таблице, установлена как NULL.
Публикация наборов данных, содержащих класс отношений
Сервисы объектов допускают запросы на связанные данные, но только в том случае, если отношение определено через класс отношений базы геоданных, и таблица-источник и таблица-адресат находятся на карте перед публикацией.
Чтобы разрешить запросы на связанные данные в сервисе объектов или в размещенном векторном слое, определите класс отношений между классом объектов и связанной таблицей или классом объектов. Связанные данные с доступом через класс отношений будут включены в публикуемый сервис объектов. Чтобы поддерживать запросы, возвращающие связанные объекты, нужно включить таблицу и слой в класс отношений на опубликованной карте. Сервис объектов игнорирует отношение, если карта не содержит слой-источник или слой-адресат, или таблицу.
Примечание:
Для атрибутивных классов отношений в карту необходимо включить таблицу классов отношений.
Более подробно о подготовке данных для публикации сервиса объектов, создании сервиса объектов и работе со связанными данными с помощью сервисов (видео).