Подтипами называются записи в таблице или в классе пространственных объектов, сгруппированные на основе значения атрибутивного поля. Подтипы создаются с помощью кодированных значений и поэтому должны быть ассоциированы с полями, содержащими длинное (short integer) или короткое целое (long integer). Каждое из этих целых значений представляет один подтип пространственного объекта. Например, следующие коды подтипа RoadClass могут отражать классификацию объектов-улиц:
0 - Улицы
1 - Переулки
2 - Магистрали
Каждый подтип может иметь собственный набор значений, использующихся по умолчанию. На предыдущем примере, подтип улиц может иметь используемое по умолчанию значение максимально разрешенной скорости в 60 км/ч, тогда как подтип магистралей - 80 км/ч. Если вы добавляете улицу в класс пространственных объектов, ограничение скорости для нее будет автоматически установлено в 60 км/ч. Если вы добавляете магистраль, ограничение скорости по умолчанию составит 80 км/ч.
Каждый подтип может иметь собственный интервальный домен или домен кодированных значений для определенного поля. Например, в классе объектов водные магистрали можно использовать интервальный домен значений водяного давления. Подтип магистральных трубопроводов может иметь значения давления в диапазоне от 40 до 100 psi, а подтип распределительной сети - в диапазоне от 50 до 75 psi.
Каждый подтип может иметь различную связность, отношения или правила топологии.
Сравнение классов пространственных объектов и подтипов
При проектировании базы геоданных, вам необходимо принять решение о том, стоит ли использовать отдельные классы объектов, или можно воспользоваться функциональностью подтипов. Выбирая между подтипами и классами пространственных объектов, имейте в виду следующее:
- Рекомендуется создавать отдельные подтипы для единственного класса пространственных объектов или таблицы когда вы с трудом различаете объекты по их значениям по умолчанию, атрибутивным доменам, правилам связности и правилам отношений.
- Если вы хотите различать объекты по различным поведения, атрибутам, правам доступа и наличию регистрации как версионных, необходимо создавать дополнительные классы объектов.