Создание предустановленных атрибутов для связи объектов и объектов схемы
Объекты схемы, управляемые компоновщиком сетевых данных и стандартным компоновщиком (если он работает с объектами ШИС, выделенными на карте после операции выбора или трассировки) автоматически связываются с объектами ГИС, на основе которых они были созданы. Для схематических представлений, основанных на XML компоновщике, управление этими связями с объектами ГИС или объектами, хранимыми в какой-либо базе геоданных, также может выполняться, если в XML-данных имеются определенные XML-теги <UOID>, <UCID> и <DataSourceName>. В этом случае, если используется инструмент Идентифицировать (Identify), на объекте схемы, который связан с объектом ГИС, в открывающемся окне Идентифицировать (Identify) не отображаются не только свойства щелкнутых объектов схемы, но и свойства соответствующих объектов ГИС. Таким же образом, если объекты схемы и связанные с ними объекты ГИС содержатся в одном документе MXD, команды Распространить выборку в схеме на карту (Propagate Schematic Selection To Map) и Распространить выборку на карте в схему (Propagate Map Selection To Schematic) работают без какой-либо определенной спецификации.
Эти связи являются связями типа один к одному; это означает, что каждый созданный объект схемы связан только с одним объектом ГИС. Для управления несколькими связями или для задания связей на объектах схемы, созданных пользовательскими запросами, можно настроить три предопределенных атрибута схемы: FOID, FCN и FDSN.
- Предполагается, что предустановленный атрибут FOID должен возвращать OBJECTID объекта, который нужно связать с объектом схемы.
- Предустановленный атрибут FCN должен возвращать имя класса объектов или имя таблицы объекта, который нужно связать с объектом схемы.
- Предустановленный атрибут FDSN задает имя источника данных, используемое для подключения к базе геоданных, в которой этот объект содержится (этот источник данных должен использовать подключение ESRI: ESRI Access GDB, File GDB, SDE GDB и так далее).
Для существующих схематических представлений, зависящих от режима оценки, настроенного для этих предопределенных атрибутов, новые настроенные связи будут отражаться на объектах схемы, которые они содержат, только после их обновления или загрузки в память.
Предопределенный атрибут FOID может быть настроен без настройки атрибутов FCN и FDSN. Аналогично, атрибуты FOID и FCN могут быть настроены без настройки атрибута FDSN.
- Если предустановленный атрибут FCN отсутствует, Schematics автоматически пытается работать с классом или таблицей объектов, настроенных в поле Класс связанных объектов (Associated Object Class) параметра для классов объектов схемы.
- Если предустановленный параметр FDSN отсутствует, Schematics пытается работать с базой геоданных, содержащей сам класс объектов схемы (CURRENTDS) или, для объекта схемы, настроенного с помощью пользовательского запроса, с источником данных, который соединяется с базой данных, в которой работает пользовательский запрос.
Предопределенные атрибуты FOID, FCN и FDSN могут возвращать уникальный OBJECTID, имя класса объектов/таблицы, и имя источника данных, или список идентификаторов OBJECTID, которые являются именами классов объектов/таблиц, и имена источников данных. Это означает, что они могут использоваться для связи объекта схемы с несколькими объектами, хранящимися в разных классах/таблицах объектов, даже если они происходят из разных баз геоданных. В этом случае предполагается, что значения атрибутов форматируются таким образом, что каждое значение в списке разделяется символом точки с запятой (;). Например, если нужно, чтобы объект схемы был связан с двумя объектами, хранящимися в классе объектов FC1 (эти два объекта имеют идентификаторы OBJECTID 1 и 2), и с тремя объектами, хранящимися в таблице T1 (эти три объекта имеют идентификаторы OBJECTID 101, 102 и 103), значение предопределенного атрибута FOID для объекта схема должно возвращать 1; 2; 101; 102; 103, а предопределенный атрибут FCN должен иметь значение FC1; FC1; T1; T1; T1. Обратите внимание, что в этом примере атрибут FCN также может иметь значение FC1; FC1; T1, последнее значение T1 автоматически применяется ко всем идентификаторам OBJECTID, начиная с третьего положения в списке FOID.