属性域是指地理数据库中,一种用于强制保证数据完整性的机制。属性域可定义要素类或非空间属性表中的字段所允许的值。如果要素或非空间对象已被分组为各个子类型,则可为每个子类型分配不同的属性域。而子类型是要素类中具有相同属性的要素的子集,或表中具有相同属性的对象的子集。可通过它们对数据进行分类。
一、建立个人空间数据库
打开ArcCatalog,选定一个合适的位置建立个人空间数据库,此作业以“desktop/homework”文件夹为例,步骤如下所示:
接着在新建立的个人空间数据库中建立要素数据集,并给其定义合适的地理坐标系,以便于后面的数据操作。步骤如下图所示:
二、导入有关数据
在执行相关分析操作前需往刚建立得到的个人空间数据库中导入相关数据,此处以示例面要素“USstates.shp”为例,操作步骤如下:
三、建立属性域
打开ArcMap,加载刚刚导入的面要素,打开其属性表,并根据“AREA”字段建立柱状图,如下图所示:
由上图可以发现,美国50个州的面积最大为阿拉斯加576561.456,而大部分州的面积介于10000到100000之间,因此,可以通过建立属性域来筛选出面积在10000到100000之间的州。
在上一步导入窗口可以发现,“AREA”字段的类型为双精度,因此根据此在ArcCatalog中建立属性域步骤如下图所示:
设定属性域完成后,即可将图层在ArcMap中加载,打开编辑器,全选图层所有面要素,再选择编辑器->验证要素,则所有面要素中不符合属性域范围的要素会被选中,如下图所示:
四、子类型操作
子类型是根据要素类的属性值将要素划分为更小的分类。因此,可以根据上步得出的对美国各州面积在10000到100000之间的范围对美国各州面要素进行子类型分类。
首先通过上一步验证要素得出的结果,打开ArcMap,在属性表中建立新字段,然后打开编辑器,将被选中的,即字段“AREA”值不在10000到100000之间的要素字段值设为0,其余的设为1,如下图所示:
然后关闭ArcMap,打开ArcCatalog,对该面要素图层进行子类型操作,子类型字段选择新建的“area_fanwei”,子类型编码为0的描述设为“面积在范围外”,为1的设为“面积在范围内”,如下图所示:
点击确定后打开ArcMap,加载该图层打开属性表,即可发现原先“area_fanwei”字段内的数字被替换为中文,并且可以对其分级色彩如下图所示: