Упражнение 3: Создание подтипов и атрибутивных доменов
Одним из преимуществ хранения ваших данных в базе геоданных является возможность настройки правил, которые управляют редактированием данных. Вы настроите эти правила путем создания нового атрибутивного домена для диаметров отводов водопровода (класс объектов Laterals); создадите подтипы для класса объектов Laterals; и свяжите новый домен, существующие домены и значения по умолчанию с каждым подтипом.
Атрибутивные домены являются правилами, определяющими допустимые значения для поля. Несколько классов объектов и таблиц могут иметь общий домен, который хранится в базе данных. Однако не все объекты в классе объектов или таблице нуждаются в общих атрибутивных доменах.
Например, в сети водопровода предполагается, что только объекты типа hydrant water laterals (трубы для гидрантов) могут иметь давление от 40 до 100 фунтов на квадратный дюйм, в то время как объекты типа service water laterals (сервисные водопроводы) могут иметь давление в пределах от 50 до 75 фунтов на квадратный дюйм. Для применения этого ограничения необходимо использовать атрибутивный домен. Чтобы реализовать правило проверки вам не потребуется создавать отдельные наборы классов для труб гидрантов и сервисных труб, но вам требуется различать их в пределах класса, чтобы назначить им отдельный набор доменов и значений по умолчанию. Это можно осуществить с помощью подтипов.
Для получения дополнительной информации о подтипах и атрибутивных доменах см. Краткий обзор подтипов и Краткий обзор атрибутивных доменов.
Создание новых атрибутивных доменов
Вы используете приложение ArcCatalog для создания нового домена кодированных значений (coded value attribute domain). Этот домен будет описывать набор допустимых значений диаметров для труб в вашем новом классе объектов Laterals.
-
Щелкните правой кнопкой мыши базу геоданных Montgomery и выберите Свойства (Properties).
Откроется диалоговое окно Свойства базы данных (Database Properties).
- Перейдите на закладку Домены (Domains).
- Щелкните первое пустое поле в столбце Имя домена (Domain Name) и введите LatDiameter в качестве имени нового домена.
- В поле Описание (Description) введите Корректные значения диаметров отводов.
-
В окне Свойства домена (Domain Properties) откройте раскрывающийся список Тип поля (Field Type) и выберите Float (с плав. точкой).
Эта настройка определяет тип данных в поле, которому будет назначен домен.
- Щелкните ниспадающий список Тип домена (Domain Type) и выберите Кодированные значения (Coded Values).
- Щелкните первое пустое поле в столбце Код (Code) на панели Кодированные значения: (Coded Values:) и введите 13.
- Щелкните поле Описание (Description) и введите 13" в качестве описания этого кода.
-
Добавьте следующие значения кодов:
Код (Code)
Описание (Description)
10
10"
8
8"
6
6"
4
4"
3
3"
2.25
2 1/4"
2
2"
1.5
1 1/2"
1.25
1 1/4"
1
1"
0.75
3/4"
-9
Неизвестно (Unknown)
-
Щелкните ОК, чтобы закрыть диалоговое окно Свойства базы данных (Database Properties).
Домен был добавлен в базу геоданных.
Теперь вы укажите свойства домена. Эти свойства включают в себя тип поля, к которому может быть назначен домен, тип домена – диапазон или кодированных значений, правила слияния и разбиения, и допустимые значения для домена.
Интервальный домен описывает допустимый диапазон значений поля, а домен кодированных значений описывает набор допустимых значений поля. В данном случае вы создадите новый домен кодированных значений.
Все домены также имеют настройки правил разбиения (split) и слияния (merge). Когда объект разбивается или сливается, ArcGIS обращается к этим правилам, чтобы определить значения для определенных атрибутов результирующего объекта или объектов.
Введите допустимые значения или коды для домена кодированных значений, и для каждого кода укажите описание значения понятное пользователю. Как вы увидите позднее в упражнениях, ArcMap использует дружественные описания, а не коды для значений полей объектов, для которых назначены домены кодированных значений.
Создание подтипов и назначение значений по умолчанию и доменов
Теперь вы создадите подтипы для объектов в классе объектов Laterals и назначите для каждого подтипа значения по умолчанию и домены для полей. При создании подтипов необязательно все объекты труб должны иметь одинаковые значения по умолчанию (default values), домены или правила подключения (connectivity rules), с которыми вы познакомитесь дальше в упражнениях.
- Дважды щелкните на наборе классов Water в базе геоданных Montgomery, чтобы открыть его.
-
Щелкните правой кнопкой мыши класс объектов Laterals и выберите Свойства (Properties).
Откроется диалоговое окно Свойства класса объектов (Feature Class Properties).
- Перейдите на закладку Подтипы (Subtypes).
- В раскрывающемся списке Поле подтипа (Subtype Field) выберите TYPECODE.
- Щелкните поле Описание (Description) справа от кода подтипа 0 на панели Подтипы (Subtypes) и введите Неизвестно (Unknown) для его описания.
- На панели Значения по умолчанию и домены (Default Values and Domains) щелкните поле Значение по умолчанию (Default Value) рядом с полем H_CONFID и введите 0 в качестве его значения по умолчанию.
- Введите 0 в качестве значения по умолчанию для полей DEPTH_BURI и RECORDED_L.
- Для полей WNM_TYPE и PWTYPE в качестве значения по умолчанию введите WUNKNOWN.
- Щелкните поле Значение по умолчанию (Default Value) рядом с полем DIAMETER и введите 8 в качестве значения по умолчанию.
-
Щелкните раскрывающийся список Домен (Domain) для поля DIAMETER и выберите LatDiameter, чтобы использовать этот атрибутивный домен по умолчанию для подтипа Unknown.
- Щелкните поле MATERIAL и введите DI в качестве значения по умолчанию.
-
Выберите пункт Material в раскрывающемся списке Домен (Domain) для поля MATERIAL.
-
Добавьте следующие подтипы:
Код подтипа (Subtype code)
Описание (Description)
1
Ответвления гидранта
2
Пожарные отводы
3
Сервисные ответвления
- Для всех трех новых подтипов задайте значения по умолчанию и домены для полей DEPTH_BURI, RECORDED_L, DIAMETER, и MATERIAL тем же образом, что и для первого подтипа Unknown.
- Для подтипа Ответвления гидранта (Hydrant laterals) настройте значение по умолчанию для полей WNM_TYPE и PWTYPE как WHYDLIN.
- Для подтипа Пожарные отводы (Fire laterals) настройте значение по умолчанию для полей WNM_TYPE и PWTYPE как WFIRELIN.
- Для подтипа Сервисные ответвления (Service laterals) настройте значения по умолчанию для полей WNM_TYPE и PWTYPE как WSERVICE.
-
Щелкните раскрывающийся список Подтип по умолчанию (Default Subtype) и выберите пункт Сервисные ответвления (Service laterals), чтобы установить его как подтип по умолчанию.
- Нажмите ОК.
Теперь вы настроите поле подтипа (subtype field) для этого класса объектов. Поле подтипа содержит значения, которые указывают на то, к какому подтипу принадлежит объект.
Теперь вы добавите коды подтипов и их описания.
Когда вы добавляете новый подтип, вы назначаете значения по умолчанию и домены для некоторых полей.
Когда, с помощью среды редактирования ArcMap, вы будете добавлять новые объекты в класс объектов, для которого настроены подтипы, в случае, когда вы не укажете целевой подтип, объектам будет присвоен подтип по умолчанию. Когда вы добавите все подтипы в класс объектов, вы можете выбрать подтип по умолчанию из введенных вами подтипов.
Вы добавили поведение к базе геоданных с помощью добавления доменов и создания подтипов.
Теперь вы добавите дополнительное поведение базы геоданных с помощью создания отношений. См. Упражнение 4: Создание отношений между объектами.