特性域快速浏览
特性域是描述字段类型合法值的规则,提供了一种增强数据完整性的方法。特性域用于约束表或要素类的任意特定属性中的允许值。如果要素类中的要素或表中的非空间对象已被分组为各个子类型,则可将不同的特性域分配给每个子类型。域是可接受的特性值的声明。如果一个域与某个特性字段相关联,则只有该域内的值才对此字段有效。也就是说,此字段不会接受不属于该域的值。使用域可以针对特定字段限制可供选择的值,从而有助于确保数据完整性。
可以在地理数据库中的各要素类、表和子类型之间共享特性域。
例如,给水干管的要素类和存储给水支管的要素类可以将同一个域用于地表类型字段。
域属性
创建或修改域时,必须编辑以下属性:
名称和描述
创建新域时,需要指定一个用于描述该域所控制的参数的名称。
对域进行命名时,不能使用字符 '(单引号)和 `(撇号)。
如果在创建某个域之后打开要素类或表的“属性”对话框,当选择与给定字段相关联的域时将在域下拉菜单中显示该域的名称。描述是用于说明域用途的简短句子。
字段类型
字段类型是可以与域关联的特性字段的类型。
可将字段类型设置为以下类型之一:
- Short - 短整型
- Long - 长整型
- Float - 单精度浮点数
- Double - 双精度浮点数
- Text(仅限编码域)- 字母数字字符
- Date - 日期和时间数据
字段类型设置完毕后,在“属性”对话框中,属于该类型的字段所对应的域名称会显示在域下拉列表中。
域类型
创建域时,必须指定想要使用的域类型。
有两种类型的特性域:
- 范围域 - 范围域用于指定数值特性的有效值范围。创建范围域时,需要输入一个最小有效值和一个最大有效值。可将范围域应用于短整型、长整型、浮点型、双精度浮点型和日期特性类型。
例如,在给水干管要素类中,可以针对输水干管、配水干管和旁路给水干管设置子类型。配水干管的压强可以介于 50 到 75 psi 之间。要使一个配水干管对象有效,为其输入的压强值必须介于 50 到 75 psi 之间。范围域是通过使用“验证要素”命令进行验证的。了解有关使用默认值和特性域进行编辑的详细信息。
- 编码域 - 编码值域可以应用于任何类型的特性 - 文本、数值和日期等。编码值域用于为特性指定有效的值集。
例如,可将给水干管埋在 GroundSurfaceType 特性字段所标志的以下几种不同类型的地表下:硬路面、砂砾、沙石或无(适用于暴露在外的给水干管)。编码值域既包括存储在数据库中的实际值(例如,1 代表硬路面),也包括对值的实际含义的用户友好型描述。对编码值域的验证是通过限制用户从下拉列表中选择字段值来实现的。
分割与合并策略
在编辑数据时,经常需要将一个要素分割成两个要素,或将两个单独的要素组合(或合并)为一个要素。例如,在 landbase 数据库中,一个地块可能由于再分区而被分割成两个单独的地块。类似的分区变更可能需要将两个相邻的地块合并为一个地块。
尽管对要素几何执行的这些类型的编辑操作的结果很容易预测,但它们对特性值的影响则不然。分割要素时,特性值的行为受控于它的分割策略。合并两个要素时,特性值受控于它的合并策略。
每个特性域都有分割策略和合并策略。对要素进行分割或合并时,地理数据库会参照这些策略以确定最终所得要素对于某个特定特性具有哪些值。
分割策略
任何给定表、要素类或子类型的特性都可以有以下三种分割策略之一,这些策略控制着输出对象中的特性值:
- 默认值 - 两个最终所得要素的特性使用给定要素类或子类型的默认特性值。
- 复制 - 两个最终所得要素的特性使用原始对象的特性值副本。
- 几何比 - 两个最终所得要素的特性是原始要素值的比率。该比率取决于原始几何的分割比率。如果几何被分割成相等的两部分,则每个新要素的特性值将是原始对象特性值的一半。几何比策略只适用于数值字段类型的域。
在上面的宗地示例中,当分割一块宗地时,将自动分配 Area 特性,以作为最终所得几何的一个性质。Owner 的值会被复制到新对象(在此数据库中,分割一块宗地并不会影响它的所有权)。将根据宗地的面积或大小来计算 PropertyTax。为了计算每个新对象的 PropertyTax,分割策略会根据新要素的各自面积将原始宗地的 PropertyTax 按比例分配给各个新要素。
合并策略
在将两个要素合并为一个要素时,合并策略控制着新要素的特性值。任何给定要素类或子类型的特性都可以具有以下三种合并策略之一:
- 默认值 - 最终所得要素的特性使用给定要素类或子类型的默认特性值。这是唯一适用于非数值字段和编码值域的合并策略。
- 总和值 - 最终所得要素的特性使用原始要素特性值的总和。
- 几何加权 - 最终所得要素的特性使用原始要素特性值的加权平均值。此平均值取决于原始要素的几何。
在上面的宗地示例中,当合并两块宗地时,将自动分配 Area 特性,以作为最终所得几何的一个性质。将为 Owner 分配其默认值。由于合并要素的 PropertyTax 值是原始要素 PropertyTax 值的总和,因此其合并策略是对原始要素的 PropertyTax 值进行求和。
请注意,在编辑器中合并要素时,将不会对合并策略求值。但开发人员在编写自己的合并实现方法时可以充分利用合并策略。
编码值
编码值部分仅可用于编码域。它包含域的编码值以及对该值含义的相关描述。
下图显示了将缩写文本用作编码值来表示要素类别的方法。在此实例中,土地用途类别由适合的缩写来表示:
输入编码值时,编码必须与关联的字段类型相匹配。在上述示例中,不能输入整数来表示“住宅用地”类别,因为 LandUse 域与 Text 数据类型相关联。