ArcGIS Desktop使用入门(四)工具箱——属性域

系列文章目录

ArcGIS Desktop使用入门(一)软件初认识
ArcGIS Desktop使用入门(二)常用工具条------标准工具
ArcGIS Desktop使用入门(二)常用工具条------编辑器
ArcGIS Desktop使用入门(二)常用工具条------数据驱动页面
ArcGIS Desktop使用入门(二)常用工具条------基础工具
ArcGIS Desktop使用入门(二)常用工具条------布局工具
ArcGIS Desktop使用入门(二)常用工具条------绘图
ArcGIS Desktop使用入门(二)常用工具条------捕捉
ArcGIS Desktop使用入门(二)常用工具条------编辑折点
ArcGIS Desktop使用入门(二)常用工具条------高级编辑
ArcGIS Desktop使用入门(二)常用工具条------效果
ArcGIS Desktop使用入门(二)常用工具条------地理配准
ArcGIS Desktop使用入门(三)图层右键工具------使用符号级别


文章目录


前言

本期开始介绍ArcGIS Desktop的一些进阶工具------ArcToolbox工具箱 ,后续会持续更新。

(ArcToolbox工具箱的添加方式均为ArcGIS Desktop软件界面顶部 红色工具箱 图标,鼠标点击后会激活工具箱窗口,找到相应的工具进行设置运行即可。)


一、本期工具:数据管理工具---属性域

工具名称:数据管理工具------属性域

工具样式:

综述:属性域,是地理数据库的一种行为规则,它可以限制表格、要素类或者子类型中某字段的合法取值,提高数据编辑的效率和准确性。

二、使用方法

下面介绍工具的一般使用方法,此外附上我的一些使用心得,如果不妥欢迎批评指正。

日常GIS工作中,在操作和修改地理信息数据库时,会要求记录一些修改过程,在要素的某个字段中重复填写一些固定单词或语句,不允许填写其他内容。如下图示例:

字段"修改说明"只能填写下列5种语句,字段"修改依据"只能填写下列3种语句。

此种情况非常常见,反复打字一些重复文字非常的影像心情,此时会想到能否借鉴Excel表格中的一些功能---数据序列。如下图所示:

还好,ArcGIS软件确实有类似的功能,就是本期介绍的工具"属性域",位置在工具箱---数据管理工具---属性域,可以实现在填写字段时使用下拉箭头进行选择,无需重复打字。

属性域工具有几种不同的使用方法,下面逐一介绍:

方法1:使用工具条建立属性域

此方法使用工具箱中的现有工具条,先后顺序一步一步进行操作,完成属性域的设置。

操作顺序:1创建属性域------2向属性域添加编码值------3指定字段的属性域。

(1) 创建属性域

使用属性域进行填写的是要素图层的某个字段,但是属性域要保存在地理数据库中的,所以要有mdb、gdb数据库。

1)输入工作空间,即保存属性域的地理信息数据库,mdb、gdb数据库。

2)属性域名称,要创建或要更新的属性域的名称,可以跟字段名称一致,方便对照。本文第一个属性域名称为 "修改说明"。

3)属性域描述(可选),对名称的详细描述,方便理解。

4)字段类型,要创建的属性域的类型。属性域是描述字段类型合法值的规则。指定的字段类型应与将属性域指定到的字段的数据类型相匹配。
特别注意,字段类型是属性域进行链接设置的关键,一般使用数字进行编码,数字格式有短整型、长整型、双精度等等,这里记住只要在后面建立链接字段时字段类型统一即可,否则类型不同无法匹配上。

5)属性域类型(可选),默认值 为 coded 编码值,字段填写文本值常用此项,数字编码对应属性值;

range 指定数值属性的有限取值范围,字段填写数值常用此项。

6)分割策略(可选),一般默认值即可,可选则default(默认值)两个所生成要素的属性使用给定要素类或子类型的默认属性值、

duplicate两个所生成要素的属性使用原始对象的属性值副本、

geometry ratio两个所生成要素的属性是原始要素值的比率。该比率取决于原始几何的分割比例。如果几何被分割成相等的两部分,则每个新要素的属性值将是原始对象属性值的一半。几何比策略仅适用于范围属性域。

7)合并策略 (可选),所创建属性域的合并策略,一般默认值即可。在将两个要素合并为一个要素时,合并策略控制着新要素的属性值。

可选项default(默认值)---所生成要素的属性使用给定要素类或子类型的默认属性值。这是唯一适用于非数字字段和编码值属性域的合并策略。

sum_values---所生成要素的属性使用原始要素属性值的总和。总和值策略仅适用于范围属性域。

area_weighted---所生成要素的属性使用原始要素属性值的加权平均值。此平均值取决于原始要素的几何。加权面积策略仅适用于范围属性域。

(2) 向属性域添加编码值

向属性域的编码值列表添加值。

1)输入工作空间,即保存属性域的地理信息数据库,mdb、gdb数据库。

2)属性域名称,上一步骤创建的 属性域名称。本文第一个属性域名称为 "修改说明"。

3)编码值 & 4)编码描述,即按照编码表,填写编码值数字及编码描述,如图片示例:编码值 1 表示 修改属性。可以事先编辑好编码值,此处复制粘贴即可。

提示:向属性域 追加 编码值及描述,可以使用此工具,但是要注意追加的 编码值数字不能与已有编码值重复。

(3) 指定字段的属性域

设置特定字段的属性域,也可设置子类型的属性域。如果未指定任何子类型,则仅为特定字段指定属性域。

需要注意的是,此字段不能有值,即应为空,所以最好新建1个辅助字段。

1)输入表,用于从中派生属性域值的数据库表。

这里指定的是 地理数据库内的,准备设置属性域字段的要素图层或者表的名称。载入工作空间的图层或表可以下列选择,未载入的需要通过路径指定。

2)字段名,要指定属性域的字段的名称。
特别注意:截图可以看到,我选择的字段名,并不是要素层中原始的字段名,而是标注了数字的字段名 "修改说明1 ",这是专门为了链接属性域而新建的辅助字段,字段类型于 第一步骤 "创建属性域"的字段类型完全一致,上面是short短整型,这里新建字段类型也要是short短整型。

无法使用要素图层原始字段的原因是,原始字段的字段类型是text文本型,填写的是文本字符,不能与属性域进行链接。

3)属性域名称,要指定给字段名的地理数据库属性域的名称。将自动加载可用的属性域。本文第一个属性域名称为 "修改说明 ",第二个属性域名称为 "修改依据"。

至此,属性域的设置完成,使用效果演示见本文章后面动画。

方法2:使用表转属性域

此方法使用工具箱中的现有工具条,表转属性域。

操作顺序:1创建编码表格excel------2表转属性域------3指定字段的属性域。

(1) 创建编码表格

在表格中填写好编码值及编码含义,每组编码代表1个属性域,可以每个属性域创建1个表格,也可以多个属性域在一张表格中,这个表格后续会进行要素连接,根据个人习惯确定表格数量。能做到不混淆即可。

本文第一个属性域名称为 "修改说明 ",第二个属性域名称为 "修改依据 "。如下图:

(2) 表转属性域

通过提前创建好的表中的值,创建或更新编码值属性域。

注意:每次创建一个属性域,多个属性域重复本步骤即可。

1)输入表,用于从中派生属性域值的数据库表,即上一步创建的编码表格excel。

2)编码字段,用于从中派生域编码值的数据库表中的字段。

第一个属性域"修改说明"的编码值在表格 A列 "编码1"列;

3)描述字段,用于从中派生属性域描述值的数据库表中的字段。

第一个属性域"修改说明"的编码值描述在表格 B列" 修改说明"列;

4)输入工作空间,即保存属性域的地理信息数据库,mdb、gdb数据库。

5)属性域名称,要创建或要更新的属性域的名称。可以跟字段名称一致,方便对照。

6)属性域描述(可选),对名称的详细描述,方便理解。

不会更新现有属性域的属性域描述。

7)更新选项(可选),如果是新建属性域,此框为空;

如果属性域已经存在,请指定如何更新属性域。

append---从数据库表追加到属性域值。

replace---用数据库表中的值替换属性域中的值。

特别提示 :导入表格生成的属性域,字段类型默认均为 双精度 数值型,所以在对要素层或表新建链接字段时,需要特别注意字段类型。

查看属性域的方法:找到添加了属性域的地理信息数据库,鼠标右键------属性,弹出的窗口即可看见属性域,可以查看属性域的名称及描述,属性域的字段类型,属性域的编码及描述。

(3) 指定字段的属性域

这次不使用工具箱,而是手动进行属性域链接。

方法:使用 ArcCatalog 目录,找到设置属性域的地理信息数据库,再找到准备设置属性域的要素图层或表,鼠标右键------属性,打开要素类属性窗口,如下图所示:

此方法,同时添加了辅助字段,并对新字段设置了属性域。

至此,属性域的设置完成,使用效果演示见本文章后面动画。

方法3:全手动添加属性域

此方法不使用工具箱,全程手动方法添加属性域。

操作顺序:1手动创建属性域------2指定字段的属性域。

(1) 手动创建属性域

使用 ArcCatalog 目录,找到设置属性域的地理信息数据库,鼠标右键属性,打开数据库属性窗口,找到"属性域",手动设置属性域,如下图所示:

(2) 手动指定字段的属性域

方法同上面方法2的第三步骤,注意 字段类型的匹配。

需要注意的是,设置属性域的字段不能有值,即该字段应为空,否则会报错,如下图:

这也是为什么新建辅助字段的好处,新字段专门为属性域服务,使用结束后删除即可,不影响要素层的原始结构。

至此,属性域的设置完成,如何使用,看下面动画的演示,特别提醒,注意看动画最后的计算字段操作。

属性域的使用演示动画:

发现问题了吗?我们最终想要的结果是 给要素层的原始字段"修改说明"赋值为文本,但是现在确是数字(实际上是编码值),那如何达到我们的目的呢?下面来解决这个问题。

三、表连接赋值

这一步也非常简单,只要真正理解了属性域的含义就好操作了。

我们新建的属性域辅助字段 "修改说明1 " 和 "修改依据1",真实存储的内容是属性域的 编码值,也就是1、2、3、4这些数值,只不过因为属性域的存在,显示的是文本内容。

我们使用编码表格excel与要素层进行表连接,根据 编码值 匹配即可,然后 进行字段计算,要素 . "修改说明" = 表格 . "修改说明"(即表格中编码值的描述)。

1.工作空间加载编码表

把编码表excel加载到工作空间中,多个属性域就添加多个表格,注意表格名称别混淆。

我的2个属性域编码在一个表格中,所以我加载的是 "d:\修改说明.xlsx\Sheet1"

2.表连接,计算字段

通过 编码值 进行匹配,然后 对原始字段进行 计算赋值。

操作如下图:

正常应该加载多个编码表进行多次的表连接赋值,以防止在操作中出现混淆,导致错误。因为我只有2个属性域,数量较少。但还是提倡标准操作,避免无谓的错误发生。

到此,我们想要的结果终于实现了。

这一步在属性域使用结束以后,准备提交最终成果的时候才能操作,否则辛苦建立的属性域,就被你删除了。

关于表连接功能,非常强大,也是经常使用的一种操作,有机会详细介绍。

总结

使用"属性域",可以提高字段填写内容的准确性,避免重复打字造成的输入错误。尤其使用 range 指定数值属性的有限取值范围,防止字段填写数值超范围异常。

相关推荐
闲晨3 小时前
C++ 继承:代码传承的魔法棒,开启奇幻编程之旅
java·c语言·开发语言·c++·经验分享
幼儿园老大*4 小时前
Go的环境搭建以及GoLand安装教程
开发语言·经验分享·后端·golang·go
考试宝4 小时前
国家宠物美容师职业技能等级评价(高级)理论考试题
经验分享·笔记·职场和发展·学习方法·业界资讯·宠物
枝上棉蛮7 小时前
GISBox VS ArcGIS:分别适用于大型和小型项目的两款GIS软件
arcgis·gis·数据可视化·数据处理·地理信息系统·gis工具箱·gisbox
momo_aa11 小时前
mac找到主目录下的文件夹
经验分享
天行健PLUS17 小时前
【经验分享】六西格玛管理培训适合哪些人参加?
经验分享
小奥超人18 小时前
PPT文件设置了修改权限,如何取消权?
windows·经验分享·microsoft·ppt·办公技巧
Jack黄从零学c++21 小时前
C++ 的异常处理详解
c++·经验分享
做网站建设制作设计小程序推广1 天前
如何建购物网站提升用户体验
经验分享
程思扬1 天前
为什么Uptime+Kuma本地部署与远程使用是网站监控新选择?
linux·服务器·网络·经验分享·后端·网络协议·1024程序员节