属性域属性是描述字段类型可用值的规则。 可用于约束表或要素类的任意特定属性中的允许值。 通过将字段的内容限制为有效列表或选择范围,可以提供用于增强数据完整性的方法。 如果已将要素类中的要素或者表中的非空间对象分组为各个子类型,则可为每个子类型分配不同的属性域。 如果一个属性域与某个属性字段相关联,则只有该属性域内的值才对此字段有效。 也就是说,此字段不会接受不属于该属性域的值。
可以在地理数据库中的各要素类、表和子类型之间共享属性域。 例如,给水干管的要素类和存储给水支管的要素类可以将同一个属性域用于地表类型字段。
属性域视图
可在属性域各自的表格形式的视图中(称为属性域视图)创建和编辑属性域。 在属性域视图中,您可以查看现有属性域、编辑其属性和值,并创建属性域。
在下图中,可以看到属性域视图显示了一些与 Campus Editing 数据模型相关联的属性域。
视图中的每一行均表示一个现有属性域,它们均具有共同的属性,例如名称、描述、字段类型、属性域类型以及分割与合并策略。
您可以使用具有属性域视图的属性域选项卡上的过滤器文本文本框过滤视图中列出的属性域。 输入文本时,视图将仅更新在“属性域视图”字段中具有匹配文本的那些属性域。
属性域属性
查看以下在创建或修改域时记录的域属性。
所有者
在企业级地理数据库中创建域时,当前已连接的用户将成为该域的所有者。 仅所有者或地理数据库管理员能够修改域属性。
名称和描述
在创建属性域时,需指定一个用于描述该属性域所控制参数的名称。 在对属性域进行命名时,不能使用字符 '(单引号)和 `(撇号)。 创建属性域后,当选择与字段视图或子类型视图中的给定字段相关联的属性域时,域名将显示在属性域下拉菜单中。
描述是一段描述属性域用途的短句子。
字段类型
字段类型是可以与属性域关联的特性字段的类型。
可将字段类型设置为以下类型之一:
- Short — 短整型(16 位)
- Long—长整型(32 位)
- Big integer - 大整型(64 位)
- Float — 单精度(32 位)浮点数
- Double — 双精度(64 位)浮点数
- Text(仅限编码属性域)- 字母数字字符
- Date - 日期和时间值
注:
日期字段类型上的域仅支持基于秒的精度。
- 仅日期 - 仅日期值,无时间值
- 仅时间 - 仅时间值,无日期值
注:
仅时间是一种线性数据类型,其中时间值以线性方式存储并表示非特定日期的小时、分钟和秒。 有效时间值从上午 12:00:00 开始,到晚上 11:59:59 结束。如果您需要在午夜分割域,则需要配置条件值。
字段类型设置完毕后,在字段视图和子类型视图中,任何该类型字段所对应的属性域名称都将显示在属性域下拉列表中。
属性域类型
创建属性域时,必须指定想要使用的属性域类型。
有两种类型的属性域:
-
范围属性域 - 范围属性域用于指定数值或日期属性数据类型的有效值范围。 在创建值域范围时,需要提供一个最小有效值和一个最大有效值。 可将值域范围应用于短整型、长整型、大整型、浮点型、双精度浮点型、日期、仅日期和仅时间字段类型。
例如,在给水干管要素类中,可以针对输水干管、配水干管和旁路给水干管设置子类型。 配水干管的压力可以介于 50 到 75 psi 之间。 要使一个配水干管对象有效,压强值必须介于 50 到 75 psi 之间。
以下示例显示两种范围属性域。
- Domain1_TimeOnly - 为“仅时间”字段类型创建的范围属性域,其中 7:00:00 AM - 9:00:00 PM 之间的任何时间值都有效。
- Domain2_DateOnly - 为“仅日期”字段类型创建的范围属性域,其中 4/20/2023 - 5/16/2023 之间的任何日期值都有效。
编码值属性域 - 编码值属性域可以应用于任何属性 - 文本、数值和日期等。 编码值属性域用于为属性指定有效的值集。
例如,可将给水干管埋在 GroundSurfaceType 属性字段所标志的以下几种不同类型的地表下:硬路面、砂砾、沙石或无(适用于暴露在外的给水干管)。 编码值属性域既包括存储在数据库中的实际值(例如,1 代表硬路面),也包括对值的含义的用户友好型描述。 编码值属性域仅允许用户从一组值列表中进行选择,因此他们在配置过程中无法选择任何其他值。
以下示例显示编码值属性域。
- Domain3_TimeOnly - 为仅时间字段创建的编码值属性域。 将此域应用于“仅时间”字段后,只有这些时间会出现在列表中供用户选择并且有效。
注:
依次单击编码值中的列标题和保存排序顺序复选框后,可以对编码域值进行排序并保留排序。 单击保存排序顺序复选框将覆盖当前属性域值排序并且此操作不可逆。
分割与合并策略
在编辑数据时,经常需要将一个要素分割成两个要素,或将两个单独的要素组合(或合并)为一个要素。 例如,在 landbase 数据库中,一个地块可能由于再分区而被分割成两个单独的地块。 类似的分区变更可能需要将两个相邻的地块合并为一个地块。
尽管对要素几何执行的这些类型的编辑操作的结果可预测,但其对属性值的影响则不然。 如果属性应用了属性域,则分割要素时,该属性值的行为将受控于属性域的分割策略。 合并两个要素后,对于已应用属性域的任何属性,其值将受控于属性域的合并策略。
注:
如果未向字段分配任何属性域,则会将属性值从原始要素复制到新要素。 如果原始字段的值为空,则新要素的值也为空。
每个属性域都有分割策略和合并策略。 对要素进行分割或合并时,地理数据库会参照这些策略以确定最终所得要素对于某个特定特性具有哪些值。
分割策略
任何已应用属性域的给定表、要素类或子类型的属性都可以具有以下三种针对属性域的属性而设置的分割策略之一,这些策略控制着输出对象中的属性值:
- 默认值 - 两个最终所得要素的特性使用给定要素类或子类型的默认特性值。
- 复制 - 两个最终所得要素的特性使用原始对象的特性值副本。
- 几何比 - 两个最终所得要素的属性是原始要素值的比率。 该比率取决于原始几何的分割比率。 如果几何被分割成相等的两部分,则每个新要素的属性值将是原始对象属性值的一半。 几何比策略只适用于数值字段类型的属性域。
合并策略
在将两个要素合并为一个要素时,合并策略控制着新要素的属性值。
任何已应用属性域的给定表、要素类或子类型的属性都可以具有以下三种针对属性域的属性而设置的合并策略之一,这些策略控制着输出对象中的属性值:
- 默认值 - 所生成要素的属性使用给定要素类或子类型的默认属性值。 这是唯一适用于非数字字段和编码值属性域的合并策略。
- 总和值 - 最终所得要素的特性使用原始要素特性值的总和。
- 几何加权 - 所生成要素的属性使用原始要素属性值的加权平均值。 此平均值取决于原始要素的几何。