Атрибутивные домены - это правила, описывающие допустимые значения для различных типов полей и обеспечивающие целостность данных. Атрибутивные домены используются для ограничения диапазона значений, допустимых для определенного атрибута таблицы или класса пространственных объектов. Если объекты класса пространственных объектов или объекты таблицы сгруппированы в подтипы, каждому подтипу может быть присвоен атрибутивный домен. Домен - это описание допустимых значений атрибутов. Поскольку домен ассоциирован с атрибутивным полем, для этого поля допустимы только входящие в домен значения. Другими словами, поле не примет значение, которое отсутствует в домене. Использование доменов помогает гарантировать целостность данных, ограничивая выбор значений для определенного поля.
Атрибутивные домены могут одновременно использоваться с классами пространственных объектов, таблицами и подтипами базы геоданных.
Например, класс объектов для слоя постоянных водопроводов и класс для слоя летних водопроводов могут использовать один домен, содержащий значения полей, означающих тип поверхности земли.
Свойства домена
При создании или изменении домена, вы должны отредактировать следующие параметры:
Название и описание
При создании нового домена указывается имя, описывающее параметр, за который он отвечает.
Символы ' и `, одинарную кавычку и апостроф нельзя использовать в названии домена.
После создания домена, при открытии диалогового окна свойств класса пространственных объектов или таблицы, имя домена отображается в ниспадающем списке, который используется для ассоциации домена с данным полем. Описание - небольшое описание назначения домена.
Типы полей
Тип поля - тип атрибутивного поля, с которым домен может быть ассоциирован.
Тип поля может быть следующим:
- Short — Короткое целое (Short integers)
- Long — Длинное целое (Long integers)
- Float — Числа с плавающей точкой одинарной точности (Single-precision floating point numbers)
- Double — Числа с плавающей точкой двойной точности (Double-precision floating point numbers)
- Text (только для доменов кодированных значений) — буквенно-цифровые знаки
- Дата — данные даты и времени
После выбора типа поля, имя домена появится в ниспадающем списке доменов для любого поля соответствующего типа в диалоговом окне Свойства.
Тип домена
При создании домена вы должны указать его тип.
Существуют два типа атрибутивных доменов:
- Интервальный домен - Интервальный домен определяет корректный диапазон значений для числового атрибута. При создании интервального домена указываются минимальное и максимальное корректные значения. Интервальный домен может применяться к следующим типам атрибутов:коротким целым (short-integer), длинным целым (long-integer), числам с плавающей точкой (float), числам с плавающей точкой двойной точности (double) и датам.
Например, в классе объектов для слоя трубопроводов вы можете выделить подтипы для водопроводных магистралей, для раздающих и для обходных трубопроводов. В распределительных водопроводных трубах допустимо давление от 50 до 75 фунтов на квадратный дюйм. Допустимое значение давления для распределительных трубопроводов должно находиться в диапазоне между 50 и 75 фунтами на квадратный дюйм. Интервальные домены проверяются с помощью команды Проверить объекты (Validate Features). Более подробно о редактировании со значениями по умолчанию и атрибутивными доменами.
- Домены кодированных значений. Домен кодированных значений может применяться к любым типам атрибутов: текстовым, числовым, дате и т. д. Домены кодированных значений определяют валидные значения атрибутов.
Например, трубопроводы могут пролегать под различными типами поверхностей, что указывается в атрибутивном поле GroundSurfaceType: мостовая, гравий, песок или нет (для надземных трубопроводов). Домены кодированных значений содержат как значение, хранящееся в базе данных (например, 1 для мостовой), так и описание этого значения. Контроль данных при использовании доменов кодированных значений осуществляется с помощью ограничения значений, доступных для выбора.Вы можете выбрать только валидное значение, имеющееся в ниспадающем списке.
Правила разбиения и слияния
Часто, когда редактируются данные, единственный объект делится на два, или два отдельных объекта комбинируются или сливаются в один. Например, в базе данных земельных участков один участок может оказаться разделенным на два отдельных в результате землеотвода. Также, при изменении зонирования, может потребоваться слияние двух соседних участков в один.
Влияние такого редактирования на геометрию пространственных объектов легко предсказуемо, чего нельзя сказать о влиянии на атрибутивные значения. Поведение атрибутивных значений при разделении пространственных объектов контролируется с помощью правил разбиения (split policy). При слиянии объектов, атрибутивные значения контролируются с помощью правил слияния (merge policy).
Каждый атрибутивный домен имеет правила разделения и слияния. Когда пространственный объект разделяется или сливается, база геоданных обращается к этим правилам, чтобы определить, какие значения следует использовать для каждого из атрибутов полученного пространственного объекта или объектов.
Правила разбиения
Атрибут любой таблицы, класса пространственных объектов или подтипа может иметь одно из трех правил разбиения, которое определяет значение атрибута в выходном объекте:
- Значение по умолчанию - Атрибуты двух итоговых объектов используют значение по умолчанию, заданное для данного класса пространственных объектов или подтипа.
- Дублировать - Атрибуты итоговых объектов используют значение атрибута исходного объекта.
- Геометрические пропорции — Значения атрибутов итоговых объектов являются пропорцией значения исходного объекта. Значения вычисляются на основании соотношения исходной геометрии. Если геометрия разделена на равные части, значения атрибута нового пространственного объекта будет равно половине значения атрибута исходного объекта. Правила геометрической пропорции применяются только для доменов полей числового типа.
На приведенном выше примере, при разбиении земельного участка, атрибут Area автоматически присваивается итоговой геометрии в качестве свойства. Значение Owner копируется в новые объекты (в этой базе данных, разделение земельных участков не затрагивает права владения). Значение PropertyTax рассчитывается на основе площади, или размера, земельного участка. Чтобы рассчитать PropertyTax для новых объектов, правило разбиения делит значение PropertyTax исходного участка пропорционально площадям новых участков.
Правила слияния
При слиянии двух пространственных объектов в один, правила слияния управляют значениями атрибутов нового пространственного объекта. Атрибут любого класса пространственных объектов или подтипа может использовать одно из трех правил слияния:
- Значение по умолчанию - Атрибут итогового объекта используют значение по умолчанию, заданное для данного класса пространственных объектов или подтипа. К нечисловым полям и доменам кодированных значений применяются только это правило слияния.
- Суммарное значение - Значение атрибута итогового пространственного объекта рассчитывается как сумма значений атрибутов исходных объектов.
- Средневзвешенное геометрии - Значение атрибута итогового пространственного объекта рассчитывается как средневзвешенное значений атрибута исходных объектов. Это вычисление основано на геометрических характеристиках исходных пространственных объектов.
На примере с земельными участками, приведенном выше, при слиянии двух участков, атрибут Area автоматически назначается как свойство результирующей геометрии. Атрибуту Owner присваивается значение по умолчанию. Т.к. атрибут PropertyTax сливающихся объектов является суммой атрибутов PropertyTax исходных объектов, в качестве правила слияния используется суммирование значений.
Заметьте, что правила слияния не используются при объединении пространственных объектов в сеансе редактирования. Однако, разработчики могут использовать правила слияния при написании собственных схем слияния.
Кодированные значения
Раздел кодированных значений доступен только для доменов кодированных значений. В нем содержатся кодированные значения домена, а также описание этих значений.
На следующем рисунке показано использование текстовых сокращений в качестве кодированных значений для отображения категорий пространственных объектов. В этом случае, категории отображаются с помощью соответствующих кодов:
При вводе кодированных значений, код должен соответствовать типу ассоциированного поля. На приведенном выше примере, вы не сможете сразу ввести текст административного значения, т.к. домен 'Adm_sts' ассоциирован с целочисленным типом данных; но в процессе редактирования можно будет выбрать готовое административное значение из ниспадающего списка.