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

news2024/11/24 11:45:48

系列文章目录

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使用入门(三)图层右键工具——使用符号级别


文章目录

  • 系列文章目录
  • 前言
  • 一、本期工具:数据管理工具—属性域
  • 二、使用方法
    • 方法1:使用工具条建立属性域
      • (1) 创建属性域
      • (2) 向属性域添加编码值
      • (3) 指定字段的属性域
    • 方法2:使用表转属性域
      • (1) 创建编码表格
      • (2) 表转属性域
      • (3) 指定字段的属性域
    • 方法3:全手动添加属性域
      • (1) 手动创建属性域
      • (2) 手动指定字段的属性域
  • 三、表连接赋值
    • 1.工作空间加载编码表
    • 2.表连接,计算字段
  • 总结


前言

本期开始介绍ArcGIS Desktop的一些进阶工具——ArcToolbox工具箱,后续会持续更新。
(ArcToolbox工具箱的添加方式均为ArcGIS Desktop软件界面顶部 红色工具箱 图标,鼠标点击后会激活工具箱窗口,找到相应的工具进行设置运行即可。)


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

工具名称:数据管理工具——属性域
工具样式:
1

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

二、使用方法

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

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

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

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

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

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

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

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

(1) 创建属性域

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

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

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

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

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

5)属性域类型(可选),默认值 为 coded 编码值,字段填写文本值常用此项,数字编码对应属性值;
range 指定数值属性的有限取值范围,字段填写数值常用此项。

6)分割策略(可选),一般默认值即可,可选则default(默认值)两个所生成要素的属性使用给定要素类或子类型的默认属性值、
duplicate两个所生成要素的属性使用原始对象的属性值副本、
geometry ratio两个所生成要素的属性是原始要素值的比率。该比率取决于原始几何的分割比例。如果几何被分割成相等的两部分,则每个新要素的属性值将是原始对象属性值的一半。几何比策略仅适用于范围属性域。

7)合并策略 (可选),所创建属性域的合并策略,一般默认值即可。在将两个要素合并为一个要素时,合并策略控制着新要素的属性值。
可选项default(默认值)—所生成要素的属性使用给定要素类或子类型的默认属性值。这是唯一适用于非数字字段和编码值属性域的合并策略。
sum_values—所生成要素的属性使用原始要素属性值的总和。总和值策略仅适用于范围属性域。
area_weighted—所生成要素的属性使用原始要素属性值的加权平均值。此平均值取决于原始要素的几何。加权面积策略仅适用于范围属性域。

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

向属性域的编码值列表添加值。
5
1)输入工作空间,即保存属性域的地理信息数据库,mdb、gdb数据库。

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

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

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

(3) 指定字段的属性域

设置特定字段的属性域,也可设置子类型的属性域。如果未指定任何子类型,则仅为特定字段指定属性域。
需要注意的是,此字段不能有值,即应为空,所以最好新建1个辅助字段。

7

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

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

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

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

方法2:使用表转属性域

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

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

(1) 创建编码表格

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

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

(2) 表转属性域

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

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

8

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

2)编码字段,用于从中派生域编码值的数据库表中的字段。
第一个属性域"修改说明"的编码值在表格 A列 "编码1"列;

3)描述字段,用于从中派生属性域描述值的数据库表中的字段。
第一个属性域"修改说明"的编码值描述在表格 B列" 修改说明"列;

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

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

6)属性域描述(可选),对名称的详细描述,方便理解。
不会更新现有属性域的属性域描述。

7)更新选项(可选),如果是新建属性域,此框为空;
如果属性域已经存在,请指定如何更新属性域。
append—从数据库表追加到属性域值。
replace—用数据库表中的值替换属性域中的值。

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

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

9

(3) 指定字段的属性域

这次不使用工具箱,而是手动进行属性域链接。
方法:使用 ArcCatalog 目录,找到设置属性域的地理信息数据库,再找到准备设置属性域的要素图层或表,鼠标右键——属性,打开要素类属性窗口,如下图所示:
10
此方法,同时添加了辅助字段,并对新字段设置了属性域。

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

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

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

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

(1) 手动创建属性域

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

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

方法同上面方法2的第三步骤,注意 字段类型的匹配。
需要注意的是,设置属性域的字段不能有值,即该字段应为空,否则会报错,如下图:
请添加图片描述
这也是为什么新建辅助字段的好处,新字段专门为属性域服务,使用结束后删除即可,不影响要素层的原始结构。

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

属性域的使用演示动画:

请添加图片描述

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

三、表连接赋值

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

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

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

1.工作空间加载编码表

把编码表excel加载到工作空间中,多个属性域就添加多个表格,注意表格名称别混淆。
我的2个属性域编码在一个表格中,所以我加载的是 “d:\修改说明.xlsx\Sheet1”

2.表连接,计算字段

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

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

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

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

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1581297.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从ChatGPT到多模态大模型:现状与未来(多模态)

ChatGPT 训练的核心技术主要包括: 预训练语言模型;有监督微调;基于人类反馈的 强 化 学 习 (ReinforcementLearningfrom Human Feedback,RLHF) 首先,通过自监督预训练使语言模型从大规模语料库中学习语言规律,具备基础 理解和生成能力;然后,通过构造指令微调数据集 并对模型进…

部署GlusterFS群集

目录 一、部署GlusterFS群集 1. 服务器节点分配 2. 服务器环境(所有node节点上操作) 2.1 关闭防火墙 2.2 磁盘分区,并挂载 2.3 修改主机名,配置/etc/hosts文件 3. 安装、启动GlusterFS(所有node节点上操作&…

34. UE5 RPG实现鼠标点击移动

在前面,我们实现过使用键盘按键wasd去实现控制角色的移动,现在,我们实现了InputAction按键触发,后面,实现一下通过鼠标点击地面实现角色移动。 我们将实现两种效果的切换,如果你点击地面快速松开&#xff0…

​如何使用 ArcGIS Pro 制作带贴图建筑

对于用GIS软件制作三维建筑,很多时候都是制作的建筑体块,这里为大家介绍一下怎么使用 ArcGIS Pro 制作带贴图的建筑,希望能对你有所帮助。 数据来源 教程所使用的数据是从水经微图中下载的建筑数据,除了建筑数据,常见…

浏览器工作原理与实践--渲染流水线:CSS如何影响首次加载时的白屏时间

在上一篇文章中我们详细介绍了DOM的生成过程,并结合具体例子分析了JavaScript是如何阻塞DOM生成的。那本文我们就继续深入聊聊渲染流水线中的CSS。因为CSS是页面中非常重要的资源,它决定了页面最终显示出来的效果,并影响着用户对整个网站的第…

大话设计模式——18.策略模式(Strategy Pattern)

简介 是一系列算法的封装,即做的事情相同(方法名称相同)但是实现的方式不同,以相同方式调用所有的算法,减少算法与使用算法的耦合。直接调用方法。 UML图 应用场景 Java AWT中的LayoutManager(布局管理器&…

开源铱塔切换MySQL数据库启动报异常

1.错误日志: 铱塔切换数据库配置为MySQL之后,启动后报错如下: SqlExceptionHelper - Table iotkit.task_info doesnt exist SqlExceptionHelper - Table iotkit.rule_info doesnt exist SqlExceptionHelper - Table iotkit.device_info does…

微软称在量子纠错领域取得大进展,量子超级计算机能在2033年问世?

大数据产业创新服务媒体 ——聚焦数据 改变商业 自从物理学家费曼(Richard Feynman)在80年代首次提出了利用量子力学原理进行计算的概念,无数科学家就梦想着用量子计算重塑未来。可惜现实往往“磕磕绊绊”,40多年过去了&#xff…

Element UI前端页面

1.前端 如何用ElementUI快速搭建一个前端网页模板,接下来会详细讲解! 1.Container布局 这是ElementUI官网提供的能快速搭建一个网页的基本布局模式,以下是一个网页的基本架构模式,主要分为三大块: AsideHeaderMain 我…

SpringBoot快速入门笔记(7)

文章目录 VueRouter前端路由1、简介2、RouterDemo3、子路由4、动态路由 VueRouter前端路由 1、简介 Vue的单页面应用是基于路由和组件的,不同组件的切换需要前端路由完成 vue-router3只能结合vue2,vue-router4只能结合vue3 安装 npm install vue-router…

FreeGPT3.5 开源软件

GPT-3.5不需要付费,也不需要注册用户,可以直接使用了,官方彻底开放了API接口。 该API政策一放开,GitHub很快就已经出现了一个开源项目FreeGPT35,可以自动生成key调用GPT3.5的API接口,再也用不着注册账号和申…

Hololens2远程音视频通话与AR远程空间标注,基于OpenXR+MRTK3+WebRTC实现

Hololens2远程音视频通话与AR远程空间标注 使用Unity2021.3.21版本开发,基于OpenXRMRTK3.0WebRTC实现。 (1)通过视频获取视频帧的矩阵的方法可以参考:https://learn.microsoft.com/zh-cn/windows/mixed-reality/develop/advanced…

强化学习:基础开发

基本就是把看到有用的资料整合在一起了 资料 https://blog.csdn.net/weixin_48878618/article/details/133590646 https://blog.csdn.net/weixin_42769131/article/details/104783188?ops_request_misc%257B%2522request%255Fid%2522%253A%2522166792845916800182132771%25…

【azure笔记 1】容器实例管理python sdk封装

容器实例管理python sdk封装 测试结果 说明 这是根据我的需求写的,所以有些参数是写死的,比如cpu核数和内存,你可以根据你的需要自行修改。前置条件: 当前环境已安装python3.8以上版本和azure cli并且已经登陆到你的账户 依赖安…

Angular 使用DomSanitizer

跨站脚本Cross-site scripting 简称XSS,是代码注入的一种,是一种网站应用程序的安全漏洞攻击。它允许恶意用户将代码注入到网页上,其他用户在使用网页时就会收到影响,这类攻击通常包含了HTML和用户端脚本语言(JS&…

echarts 条形图(柱状图)多个图例按钮默认高亮一个,且只能高亮一个

核心:给图例按钮添加点击事件 myChart.on("legendselectchanged", function (params) {let selected {功率柜: true,母线柜: false,充电桩终端: false,网络柜: false,};for (let key in selected) {if (key ! params.name) {myChart.setOption({legend:…

数据结构之来链表——单链表

什么是单链表: 文字说明: 单链表顾名思义,就是指单项链表,即只有一个方向的链性线性表。 图解: 如下图所示,即为链表(DATA为我们自己所定义的数据类型): 单链表的创建&am…

【jQuery】jQuery框架

目录 1.jQuery基本用法 1.1选择器 1.2jQuery对象 1.3事件绑定 1.4链式编程 1.5过滤方法 1.6样式操纵 1.6属性操纵 1.7操作value 1.8查找方法 1.9类名操纵 1.10事件进阶 1.11触发事件 1.12window事件绑定 2.节点操作与动画 2.1获取位置 2.2滚动距离 2.3显示/隐…

使用阿里云试用Elasticsearch学习:4. 聚合——1

在这之前,本书致力于搜索。 通过搜索,如果我们有一个查询并且希望找到匹配这个查询的文档集,就好比在大海捞针。 通过聚合,我们会得到一个数据的概览。我们需要的是分析和总结全套的数据而不是寻找单个文档: 在大海里…

ONERugged车载平板终端:提升港口运输水平

现代港口是国际贸易中至关重要的枢纽,而提高港口运输效率对于促进贸易流通和经济发展至关重要。近年来,车载平板技术的快速发展为港口运输行业带来了巨大的变革和机遇。车载平板的广泛应用不仅提高了港口的操作效率,还改善了货物跟踪、通信和…