В этом упражнении вы научитесь настраивать атрибуты схемы. Вы научитесь делать следующее:
- Создавать атрибуты.
- Удалять атрибуты.
- Настраивать атрибуты связанного поля.
- Настраивать атрибуты запросов.
- Настраивать форматированные атрибуты.
Редактирование набора схематических данных
- Откройте ArcCatalog.
- Выберите каталог руководства schematics, C:\ArcGIS\ArcTutor\Schematics.
- Дважды щёлкните базу геоданных AdvancedSchematicDB, чтобы открыть содержащийся в ней набор схематических данных AdvancedSchematic.
- Щёлкните правой кнопкой мыши набор схематических данных AdvancedSchematic и выберите пункт во всплывающем меню Редактировать (Edit).
Запустится приложение Редактор набора схематических данных (Schematic Dataset Editor).
- Разверните шаблон BrazilTemplate в дереве редактора набора схематических данных, чтобы увидеть под ним все классы объектов схемы.
Создание атрибута схемы
Атрибуты в Schematics используются для самых разных целей, в том числе условные обозначения, надписывание и дополнительные элементы конфигурации для создания связей и отношений.
Прежде чем создать атрибут с помощью инструментов конфигурирования, решите, действительно ли это нужно. В Schematics для этого существует несколько разных средств. Их выбор обусловлен решаемой задачей и имеющимися данными.
- Если создаваемый атрибут будет использоваться только для условных обозначений или надписывания, а таблицы, из которых нужно получать атрибут, можно соединить с помощью ArcMap, то, как правило, в этом случае лучше создать соединение в слое схемы в ArcMap. Большое преимущество соединения в том, что конечный пользователь немедленно получает доступ к связанным полям таблицы и может использовать их для условных обозначений и надписывания. Если вы не воспользуетесь этим способом, но вам нужно предоставить конечному пользователю доступ, например, к 10 полям таблицы, то придется создавать 10 атрибутов в конфигурации вместо создания одного простого соединения в слое. Этот способ предоставляет больше гибкости конечному пользователю и избавляет вас от необходимости делать лишнюю работу в конфигурации. Более подробно о соединениях в слоях схемы см. в упражнении 1 в данном руководстве пользователя.
- Если в силу какой-либо внешней необходимости атрибут нужно хранить вместе с записью схемы, тогда вам нужно конфигурировать атрибуты в редакторе набора схематических данных (Schematic Dataset Editor).
- Если атрибуты используются в схеме для реализации дополнительных возможностей (связности, отношений и т. п.), тогда их нужно задать в редакторе набора схематических данных (Schematic Dataset Editor).
Более подробно об использовании атрибутов для реализации связности и пример см. в Упражнении 6 руководства пользователя по базовой конфигурации Schematics.
- Щёлкните правой кнопкой мыши класс объектов схемы pug_PUG_gas_plants в дереве редактора набора схематических данных и выберите во всплывающем меню Создать атрибут (New Attribute).
В окне редактора справа автоматически появляется вкладка Свойства (Properties) для нового атрибута схемы: Атрибут не будет создан, пока не выполнены два действия:
- Следует нажать кнопку OK (для фиксации типа атрибута).
- Сохранить (Save) (для фактического создания атрибута в системе).
- Щёлкните на кнопке ОК.
Теперь вы должны видеть запись атрибута с именем NewAttribute в дереве редактора набора схематических данных под узлом pug_PUG_gas_plants.
Удаление атрибута
Дополнительная информация об удалении атрибута
- Если вы не нажали кнопку ОК на вкладке свойств атрибута и ничего не изменили после создания атрибута, щёлкните другой элемент дерева, и первый атрибут будет удален.
- Если вы не нажали кнопку ОК на вкладке свойств атрибута, но изменили какие-либо свойства на вкладке свойств атрибута, щёлкните Отмена (Cancel) для удаления атрибута. В этом случае, если вы щёлкнете какой-либо другой элемент дерева, система запросит подтверждение на сохранение атрибута.
- Если вы нажали кнопку ОК, но не нажали Сохранить (Save) после создания атрибута, при закрытии редактора набора схематических данных без сохранения, атрибут будет удален.
- И наконец, если атрибут был сохранен (или была нажата кнопка ОК), его всегда можно удалить следующим способом:
- В дереве редактора набора схематических данных щёлкните правой кнопкой мыши запись NewAttribute и выберите Удалить (Delete) во всплывающем меню.
Создание и настройка атрибута типа Связанное поле (Associated Field)
При работе с классами пространственных объектов, с которыми связаны классы объектов (связь была установлена автоматически при импорте файла .mxd в упражнении 1) чаще всего приходится иметь дело с атрибутами типа «связанное поле». Это позволяет выбрать поле из класса пространственных объектов GIS и, по сути, добавить его в любой класс пространственных объектов схемы. Затем при работе с надписыванием или условными обозначениями можно вместо создания соединения в ArcMap, как в предыдущем упражнении, просто использовать указатель на это поле вашего слоя схемы. Сейчас вы выполните это действие для поля NAME класса пространственных объектов схемы pug_PUG_gas_plants, связанного с классом пространственных объектов GIS pug_PUG_gas_plants.
- Щёлкните правой кнопкой мыши класс объектов схемы pug_PUG_gas_plants в дереве редактора набора схематических данных и выберите во всплывающем меню Создать атрибут (New Attribute).
По умолчанию атрибут имеет тип Связанное поле (Associated Field). Из этого списка Тип (Type) можно при необходимости выбрать другой тип атрибута. Это пригодится позднее.
- Введите GasPlantName в поле Имя (Name).
- Если для опции Режим хранения (Storage Mode) выбрано значение Поле (Field) (это значение по умолчанию), то новое поле будет добавлено к классу пространственных объектов. Имя этого поля — в данном случае GasPlantName — будет добавлено в поле Имя (Name). Другие режимы хранения используются для других типов внутренних элементов или для данных, необходимых разработчику алгоритмов. Их не следует использовать, если поле предназначено для работы конечного пользователя с условными обозначениями или надписыванием.
- Режим оценки (Evaluation Mode) используется для сообщения системе о необходимости обновления отслеживаемого системой параметра. Значение по умолчанию При создании/обновлении (On Generate/Update) означает, что данное значение копируется из объекта GIS в объект схемы только при создании или обновлении диаграммы. Выбор значения При начале редактирования (On Start Editing) приведет к тому, что система будет синхронизировать значение каждый раз, когда пользователь начинает или заканчивает сеанс редактирования диаграммы. Если выбрать значение При перерисовке/обновлении (On Redraw/Refresh), система будет поддерживать постоянную синхронизацию этого параметра. Следует заметить, что значение При перерисовке/обновлении (On Redraw/Refresh) нужно использовать как можно реже, так как его наличие значительно снижает быстродействие диаграммы.
- В раскрывающемся списке Поле (Field) выберите NAME.
В этом списке содержатся все поля класса объектов GIS, доступные для pug_PUG_gas_plants.
- Щёлкните на кнопке OK для создания атрибута.
- Создайте еще один атрибут типа Связанное поле (Associated Field), чтобы получилось поле Rel_Electric. Оно понадобится вам через минуту для определения атрибута Запрос (Query). Щёлкните правой кнопкой мыши класс объектов схемы pug_PUG_gas_plants в дереве редактора набора схематических данных и выберите во всплывающем меню Создать атрибут (New Attribute).
- Введите RelElecID в поле Имя (Name).
- В раскрывающемся списке Поле (Field) выберите Rel_Electric.
- Щёлкните на кнопке ОК.
Создание и настройка атрибута типа Запрос (Query)
- Щёлкните правой кнопкой мыши класс объектов схемы pug_PUG_gas_plants в дереве редактора набора схематических данных и выберите во всплывающем меню Создать атрибут (New Attribute).
- Введите RelElecName в поле Имя (Name) на вкладке свойств.
- В раскрывающемся списке Тип (Type) выберите Запрос (Query).
- Щёлкните на кнопке OK для создания атрибута.
В этой версии к типам атрибута Запрос (Query) был добавлен новый: Использовать источник данных связанного объекта (Use Associated Feature Data Source). Установите этот флажок, если вы работаете с версионными данными и вам необходимо запрашивать другую таблицу на основе той же версии, что и каждый загружаемый объект. Это приведет к выполнению запроса на данных той же версии, из которой брались связанные объекты. В предыдущей версии продукта такой возможности не было, и запрос всегда выполнялся на данных версии по умолчанию. Если запросы выполняются в другой базе данных, не ставьте этот флажок, так как он приведет к игнорированию настроек и выполнению запросов с использованием того же источника данных, что и у связанного объекта. В этом случае не удастся найти таблицу, для которой нужно выполнить запрос. Поскольку вы не работаете в среде версий, вам не нужно использовать эту опцию. Теперь настройте запрос.
- Щёлкните на кнопке Редактор Запроса/Идентификатора (Edit Query/Identifier). в разделе Запрос (Query) вкладки Свойства (Properties).
Откроется диалоговое окно Редактор Запроса/Идентификатора (Query/Identifier Editor).
- В раскрывающемся списке Источник данных (Data Source) выберите Brazil.gdb, где находятся нужные исходные данные.
Появится перечень таблиц, доступных в этом источнике данных.
- Прокрутите список Таблицы (Tables) и дважды щёлкните элемент pug_PUG_electric.
Это нужно для заполнения запроса по умолчанию в разделе Запрос (Query). Теперь нужно добавить в запрос фильтрацию, чтобы он возвращал запись, соответствующую газогенераторной установке из диаграммы пользователя. Поиск строки будет осуществляться по значению objectID, полученному из ранее определенного вами атрибута RelElecID.
- Измените строку запроса, добавив в конец существующей строки следующее: where objectid = ?
Откроется новый раздел Параметры (Parameters).
- В раскрывающемся списке Имя (Name) в разделе Параметры (Parameters) выберите RelElecID.
- Снимите флажок Текстовое (Is Text), так как это числовой параметр.
- Введите тестовое значение 1 в поле Тестовое значение(Test Value).
- В разделе Запрос (Query) щёлкните на кнопке Show Results (Показать результаты).
В разделе Результаты (Results) должна быть выведена одна строка таблицы, относящаяся к электростанции CAMACARI. Чтобы проверить результат, прокрутите содержимое окна до поля имени.
- В раскрывающемся списке Идентификатор (Identifier) выберите NAME_.
Теперь ваша система будет для каждого объекта pug_PUG_gas_plant на пользовательской диаграмме получать идентификатор связанной с ним электростанции из атрибута связанного поля и выполнять атрибут-запрос к таблице pug_PUG_electric для получения названия этой электростанции.
- Щёлкните на OK, чтобы закрыть форму Редактор Запроса/Идентификатора (Query/Identifier Editor).
Создание и настройка форматированных атрибутов
Форматированные атрибуты позволяют сочетать несколько атрибутов и при необходимости добавлять текст. В данном примере вы скомбинируете два атрибута. Вы добавите текст, чтобы в записи pug_PUG_gas_plant выводилось нечто вроде Питание от электростанции (номер и имя электростанции).
- Щёлкните правой кнопкой мыши класс объектов схемы pug_PUG_gas_plants в дереве редактора набора схематических данных и выберите во всплывающем меню Создать атрибут (New Attribute).
- Введите ElectricFormat в поле Имя (Name) на вкладке Свойства (Properties).
- В раскрывающемся списке Тип(Type) выберите Форматированный (Formatted).
- В поле формата введите следующее: Питание от электростанции %s — %s
%s — это местозаполнитель, позволяющий вставлять другие атрибуты. В данном случае будут вставлены идентификатор и имя связанной электростанции.
- В раскрывающемся списке в таблице Параметры (Parameters) выберите RelElecID.
- В таблице Параметры (Parameters) в нижнем раскрывающемся списке выберите RelElecID.
- Щёлкните на кнопке OK для создания атрибута.
- Щёлкните на кнопке Сохранить (Save) на панели инструментов Редактор набора схематических данных (Schematic Dataset Editor).
- Закройте Редактор набора схематических данных (Schematic Dataset Editor).
Проверка измененных атрибутов
- Откройте файл Brazil.mxd с помощью ArcMap.
Этот файл находится в каталоге C:\ArcGIS\ArcTutor\Schematics\Schematics_Configuration\Mixed_Data.
- С помощью инструмента выбора ArcMap выделите все в текущем представлении.
- Щёлкните на кнопке Создать новое схематическое представление (Generate New Schematic Diagram) на панели инструментов Schematic.
Откроется диалоговое окно Создание схематического представления (New Schematic Diagram).
- Щёлкните на кнопке просмотра рядом с раскрывающимся списком Папка или набор схематических данных (Schematic Dataset or Folder).
Откроется диалоговое окно Выбор набора схематических данных или папки схемы (Select schematic dataset or schematic folder).
- Выберите в диалоговом окне набор схематических данных AdvancedSchematic из базы геоданных AdvancedSchematicDB в папке C:\ArcGIS\ArcTutor\Schematics.
- Щёлкните на кнопке Добавить (Add).
Так как ваша конфигурация содержит только один шаблон схемы (BrazilTemplate), он будет автоматически выбран в разделе Шаблон схематического представления (Schematic Diagram Template).
- Введите TestAttributes в текстовое поле Имя схематического представления (Schematic Diagram Name).
- Щёлкните на кнопке ОК.
Диаграмма должна оказаться в компоновке Иерархический — Компактное дерево (Hierarchical — Compact Tree), поскольку такие параметры заданы по умолчанию для шаблона диаграммы. На панели инструментов Редактора схем (Schematic Editor) для параметра Задача компоновки (Layout Task) также установлено значение Иерархический — Компактное дерево (Hierarchical - Compact Tree).
- Сделайте двойной щелчок по элементу pug_PUG_gas_plants в таблице содержания, которая находится под слоем схемы TestAttributes.
Откроется диалоговое окно Свойства слоя (Layer Properties).
- Перейдите на вкладку Поля (Fields).
- Прокрутите вниз список полей, чтобы увидеть только что созданные атрибуты в конце списка.
Обратите внимание: это произошло потому, что вы задали для параметра Режим хранения (Storage Mode) значение Поле (Field).
- Перейдите на вкладку Надписи (Labels).
- В открывшемся диалоговом окне установите флажок Надписать объекты этого слоя (Label features in this layer), если он еще не поставлен.
- В раскрывающемся списке Поле надписи (Label Field) выберите поле SCH1E_pug_PUG_gas_plants.ElectricFormat.
- Щёлкните на кнопке ОК.
Теперь газогенераторы в списке должны выводиться с надписью «Питание от электростанции 1 — CAMACARI». Запомните, что эта надпись выводится благодаря настройке трех разных атрибутов: одного атрибута типа Связанное поле (Associated field) для номера электростанции, одного атрибута типа Запрос (Query) для имени электростанции и одного форматированного атрибута, позволяющего их скомбинировать.
- Закройте ArcMap и ArcCatalog и щёлкните на Нет (No) во всех диалоговых окнах с запросами сохранения.