32 ArcToolBox学习系列之数据管理工具箱——属性域(Domains)的两种创建及使用方式

属性域分为两类,一种是范围域,一种是编码的值,下面将两个一起介绍,其中涉及到的编码,名称,只是试验,并非真实情况。

一、首先新建一个文件型地理数据库,将数据导入或者是新建要素类都可以

二、打开ArcToolBox,找到工具集Domains,位置如下:ArcToolbox--Data Management Tools--Domains

新建属性域,使用工具 Create Domain 

工具介绍:http://desktop.arcgis.com/zh-cn/arcmap/latest/tools/data-management-toolbox/create-domain.htm

在新建的gdb上右键,属性,打开到Domains选项卡,结果如下

向属性域添加编码值,使用工具Add Coded Value To Domain

工具介绍:http://desktop.arcgis.com/zh-cn/arcmap/latest/tools/data-management-toolbox/add-coded-value-to-domain.htm

同样在新建的gdb上右键,属性,打开到Domains选项卡,结果如下

在此窗口上直接编码添加编码值适合于少量数据,gp工具适用于python脚本使用,效果相同

新建一个范围域,使用工具 Create Domain,其中字段类型为SHORT,Domain Type才能为Range

接下来给范围域添加数值,使用工具Set Value For Range Domain,

工具介绍:http://desktop.arcgis.com/zh-cn/arcmap/latest/tools/data-management-toolbox/set-value-for-range-domain.htm

所有属性域设置完毕,效果如下

然后为需要的字段指定属性域,需要注意的是,字段类型要与属性域设置的相同才可以用,使用工具Assign Domain To Field

工具介绍:http://desktop.arcgis.com/zh-cn/arcmap/latest/tools/data-management-toolbox/assign-domain-to-field.htm

其中【dlmc】对应的是【地类名称分类】,【dlbm】对应的是【范围值】

同样,在要素类上右键--属性,也可以执行此操作,效果如下

接下来就可以开始编辑,见证属性域的作用啦

 

有时候在创建编码的时候,并不是按照顺序创建的,出于工作便利考虑,需要对编码值进行排序,可使用Sort Coded Value Domain工具,

工具介绍:http://desktop.arcgis.com/zh-cn/arcmap/latest/tools/data-management-toolbox/sort-coded-value-domain.htm

因小编在建立的时候是按照从小到大的顺序排的,为了看出效果,我们使用DESCENDING方式

效果如下

还可将设置的属性域导出成表的形式,使用工具Domain To Table

工具介绍:http://desktop.arcgis.com/zh-cn/arcmap/latest/tools/data-management-toolbox/domain-to-table.htm

同理,也可以将表转为属性域,可以减少重复新建属性域的工作,提高效率,使用工具:Table To Domain

工具介绍:http://desktop.arcgis.com/zh-cn/arcmap/latest/tools/data-management-toolbox/table-to-domain.htm

如果需要删除属性域中已不需要的编码值,可以使用工具Delete Coded Value From Domain

工具介绍:http://desktop.arcgis.com/zh-cn/arcmap/latest/tools/data-management-toolbox/delete-coded-value-from-domain.htm

选择要删除的编码值即可

如果该gdb不想使用属性域了,也可以删除属性域

首先,需要将与字段【关联】的属性域移除,使用工具Remove Domain From Field 

工具介绍:http://desktop.arcgis.com/zh-cn/arcmap/latest/tools/data-management-toolbox/remove-domain-from-field.htm

将所有与字段关联的属性域移除之后,就可以彻底删除属性域了

 

posted @ 2019-02-12 16:30  天然呆嘛  阅读(1266)  评论(0编辑  收藏  举报