条件值(有时也称为条件属性值)是一种数据设计要素,用于使一个字段中的值取决于另一个字段中的值。 通过属性域,您可以将字段上的有效条目限制为一组值的列表或范围。 条件值进一步扩展了此模型,方法为通过针对一个字段选择值,从而进一步限制另一个字段上可用的域值。 通过这种方式,条件值可通过应用附加约束以减少有效字段输入的数量来强制保持数据完整性。 在 GIS 中对实际部分和资产进行建模时,这将非常有用,尤其对于公共事业机构尤其有用。 这对于创建决策树或调查问题也非常有用,因为在这些情境中进行选择将决定下一组有效选择。
警告:
在表或要素类上创建条件值时,会导致表或要素类与 ArcMap 以及 ArcGIS Pro 2.3 和 ArcGIS Enterprise 10.7.x 之前的版本不兼容。 有关客户端版本与地理数据库版本不同时提供的功能的详细信息,请参阅客户端和地理数据库的兼容性。
条件值应用的一个常用示例是购买车辆。
决策树可能如下所示:选择汽车品牌 > 车型 > 内饰等级 > 颜色
首先,选择汽车品牌,例如 Honda。
根据选择的品牌,提供多款车型。
对于 Honda,可以选择 Pilot、CRV、Accord 和 Civic。
对于 Toyota,提供的车型列表可能会有所不同。
然后,基于您选择的车型,将提供多种内饰等级。
对于 Honda Pilot,可以选择 LX、EX-L、Sport 和 Touring。
对于您选择的内饰等级,将提供多种颜色,例如红色、蓝色、黑色和白色。
决策树中的每个选择将根据您之前选择的内容提供一个选项列表。 选择不同的汽车品牌将提供不同的车型。 您选择的车型决定了可选择的内饰等级,并且每个内饰等级可能具有一组不同的颜色选项。 根据您在每个阶段的选择,可能会导致不同结果:本田 > Pilot > EX-L > 白色,或丰田 > 4Runner > TRD Sport > 地狱红。
借助条件值,可以在数据中设置这些字段依赖关系,通过选择一个字段中的值来定义和限制另一个字段的有效值列表。
对于真实 GIS 示例,请考虑公共设施网络资产包中的 StructureJunction 要素类。 结构交汇点的点要素类包含诸如电线杆、检修孔、平台等资产子类型。
对于 Pole 子类型,已将属性域应用于 3 个字段。 属性域将每个字段的可用值限定为有效值的列表。 例如,电线杆可以为 1 类、2 类 或 3 类电线杆;电线杆的材料可以为纤维玻璃、木材或钢;电线杆的高度可以为 30 英尺、35 英尺、40 英尺、45 英尺等。
可以使用条件值来进一步限制这组字段的有效值。 例如,可以使用条件值定义 1 类电线杆,材料仅使用纤维玻璃,并且高度限制为 30、35、40 或 45 英尺。
针对 Pole 子类型,请考虑您希望在字段值之间设置的条件。 对于这组字段(类、材料和高度),可以设置如下条件:
字段 | 条件值 | 条件值 | 条件值 |
---|---|---|---|
类 | 1 | 2 | 3 |
Material | Fiberglass | Wood | Steel |
高度 | 30, 35, 40, 45 | 30, 35, 40, 45 | 50, 55, 60, 65 |
创建这些条件值之后,如果放置新的电线杆要素或者修改现有电线杆要素,并将其指定为 1 类电线杆,则 Material 字段的可用值将会限制为 Fiberglass。 同样,对于 Class 1 Fiberglass 电线杆,其高度的有效值将限制为 30、35、40 或 45。
以相同方式在数据中构建条件值可以进一步限制字段集的有效值,并且可以更有效地管理数据的有效性和完整性。