【景观生态学实验】实验一 ArcGIS地理数据处理及制图基础
实验目的
1.掌握ArcGIS软件基本操作:通过实验操作与学习,熟练掌握ArcGIS软件相关的基本操作,包括界面熟悉、工具栏使用、数据的加载和保存、基本数据处理操作等;
2.掌握如何使用ArcGIS进行影像拼接及裁剪:通过实验操作与学习,学习使用ArcGIS软件中的影像处理工具,掌握遥感影像拼接和裁剪工具的使用方法,能够熟练处理不同区域的遥感影像数据,并确保数据的准确性和连续性;
3.掌握如何使用ArcGIS制作土地利用现状专题地图:通过实验操作与学习,熟练掌握使用ArcGIS制作专题地图的方法,具体包括数据视图的切换、图上信息的添加、数据的符号化等操作,最终制作得到清晰、美观的土地利用现状专题地图;
4.掌握ArcGIS分区统计方法:通过实验操作与学习,熟练掌握使用ArcGIS的相关数据处理工具,进行空间统计分析等,从而能够深入了解不同区域内地理现象的差异性与其基本特征,为决策提供支持。
实验内容
(1)“计算机印刷地图”制图实习
(2)利用ArcMap制作土地利用分类图
(3)单一土地利用类型空间分布图的制作
实验过程
(1)“计算机印刷地图”制图实习
具体步骤:
1. 我们需要制作的地图分为三个部分,乡镇人口密度图、学生分布密度图、实景图片与报表,为得以上结果我们分别进行制作,首先制作乡镇人口密度图:打开Arcgis,在图层中添加【乡镇人口密度】图层,并选择菜单【View】—>【Layout View】,从数据视图进入布局视图:
2.调整地图布局中地图页面尺寸的大小:在布局视图中右键,选择【页面和打印设置】,在弹出的选项框中,大小选择【A4】,方向选择【横向】;

3.设置地图单位与比例尺:在地图目录表中,鼠标右键单击【乡镇人口密度】图层,在快捷菜单中选择【属性】,在出现的对话框中的【常规】下,设定地图单位和显示单位均为千米;在Data Frame下的extent中,确定比例尺为1:500000:

4.地图配色:我们首先打开【乡镇人口密度】图层的属性表,右键字段【POPDEN】,选择【属性】,在弹出的字段属性选项框中,将字段名改为【密度分类】:

随后右键图层【乡镇人口密度】,选择【属性】,在图层属性选项框中选择【符号系统】,在左处的显示中选择【数量】—>【分级色彩】,根据图层美观需要自我调节符号颜色,同时在字段中值选择【密度分类】,并且将标注改为低、较低、中、较高、高:

5.添加地图其它信息:在Arcgis主页面中,选择【插入】,即可看到其中各个选项,我们选择为当前数据添加【图例】、【指北针】与【比例尺】,添加图例,并依次设定图例名、图例外框线、背景色、图例区大小和形状等参数:

与上述步骤相同添加比例尺与指北针,但与图例不同,无需再设置过多参数:

6.添加第二幅地图:如今我们依然停留在布局视图,因此我们在Arcgis主页面中选择【插入】选择【数据框】,即可在页面布局中新增一个数据框,右键我们这个新建的数据框【添加数据】,添加student.shp、sub_con.sh和view.jpg 三个新数据:

7.制作报表:与上述制作第一幅地图的操作相同,我们为第二幅同样添加图例、比例尺与指北针并且根据地图美观需要,利用图层属性中的符号系统更改地图配色,但除此之外,此次我们还需要为地图制作报表,具体操作如下所示:
选中底图【县域乡镇】所在的数据框,随后在Arcgis主页面中选择【视图】—>【报表】—>【创建报表】,在图层/表中选择sub_con,报表字段则根据我们制图需要选择【FID】,【AREA】,【POPDEN】:

分组级别选择默认不变,在字段排序的选择中,依次添加字段如下右图所示,bing且将排序方式都改为升序:

上述操作点击完成后,即会弹出报表查看器让我们预览报表结果,在报表查看器中,我们点击编辑后我们可以修改报表的相关属性,包括将报表头与数据居中展示,修改布局打印宽度等,此类操作可以帮助我们使得报表在地图中的展示效果更为美观:

最终结果展示:
最后将上述复合地图打包输出为“乡镇人口与学生分布” JPG格式的地图如下图所示,作为地信学子,我在老师实验内容要求的基础上做了部分自我的修改、增加与删减,以使地图达到更为美观更符合个人审美的效果:

(2)利用ArcMap制作土地利用分类图
1. 加载原始遥感影像并拼接:首先打开Arcgis软件,将4幅影像数据(.tif)和Hubei_Xian.shp文件添加到图层中加载影像,随后打开工具箱,选择【数据管理工具】—>【栅格】—>【栅格数据集】—>【镶嵌至新栅格】,打开参数框后设置参数如下图所示:

2.裁剪湖北省遥感影像:【系统工具箱】—>【数据管理工具】—>【栅格】—>【栅格处理】—>【裁剪】,但Arcgis中有关裁剪的工具十分之多,涉及裁剪不同属性的图层,不同的工具也有不同的适用范围,在此次实验中我们也可使用【按掩膜提取】工具进行遥感影像的裁剪,设置参数框如下图所示:

3.利用裁剪数据进行制图:与上述实验过程中所描述的相同,为了得到图例较为美观直接明了的地图,我们首先右键图层【Extract】,选择【属性】,在图层属性选项框中选择【符号系统】,在左处的显示中选择【唯一值】,根据图层美观需要自我调节符号颜色,同时在字段中值选择【密度分类】,并且将标注根据值的大小进行更改(依据如下右图所示):

其它在地图中插入图例、比例尺、指北针等操作与上述实验过程所描述的基本相同,仅【图例】的插入我们需要额外注意,在插入后将图例列数设置为2列。
最终结果展示:
最后将上述地图打包输出为“2010年湖北省土地利用现状图” JPG格式的地图如下图所示,作为地信学子,我在老师实验内容要求的基础上做了部分自我的修改、增加与删减,以使地图达到更为美观更符合个人审美的效果:

(3)单一土地利用类型空间分布图的制作
1.以土地利用类型——耕地为例,为将耕地这个土地利用类型与其它土地利用类型区分开来,我们首先点击打开裁剪好的图层的【图层属性】,选择左处的【显示】—>【唯一值】,在符号字段中仅保留值为10,即耕地的数据,通过此种方法我们可以在数据视图与布局视图中仅显示耕地这一土地利用类型的数据:

2.与上述实验过程相同,最终制作得到专题地图如下图所示:

思考题
问题1:地图制图过程中需要注意哪些事项?
- 地图数据符号化显示:在我们Arcgis制图中,地图数据的符号化显示是我们得到地图的第一眼中最为重要与最为关注的信息。首先对于地图数据我们要使用适当的分类方法和分级方案,这一步骤的选择必须符合我们的数据分布特点与地图展示需要,以便在地图中更好的呈现数据空间分布与大小数量;其次,使用适当的符号化颜色,许多符号颜色已经是Arcgis制图中所默认的,例如水体为蓝色,植被为绿色等等,我们不宜进行别具一格的更改;
- 地图设计的基本原则:地图设计的基本原则为地图中必须包含各类必不可少的基本要素,包括添加图例,解释地图中使用的符号和颜色确保图例清晰明了而不引起歧义;添加指北针和比例尺,加入指北针可以帮助用户了解地图的方向,而比例尺则用于显示地图上不同地理距离之间的比例关系;添加标注和注释,添加清晰可读的标注和注释,应该使用适当的字体大小和颜色,以及合适的位置,避免重叠;
- 地图布局设计的恰当:正如上文中所提到的,在布局视图下一幅地图中所包含的要素是十分之多的,因此精心设计地图的具体布局,包括地图的标题、图例、指北针、比例尺等元素的位置和样式,确保这些元素的布局整齐、清晰、美观,使得地图易于我们的阅读和理解,以达到大众美观的效果是非常必要的。
问题2:仿照前述的方法,提取制作其他土地类型空间分布图(不少于4种土地利用类型),形成对应图层文件,展示结果。
| 土地利用 类型 | 图层文件结果 |
| 水体 |
|
| 草地 |
|
| 森林 |
|
| 人造地表 |
|
问题3:如何计算出每个县的单一土地利用类型(如耕地)面积?
以土地利用类型中的耕地为例,我们计算各个县中耕地的面积,具体步骤如下所示:
1.首先我们需要获得裁剪的遥感影像中仅包括耕地这一土地利用类型的图层,与上述实验中把其它土地利用类型在符号系统中删除不同,这仅仅只是把其它土地利用类型不在图层中显示,而我们需要的是删除图层中其它土地利用类型的所有数据,在属性表中进行删除也是行不通的,因此我们需要借助【栅格计算器】这一工具,点击工具箱中【Spatial Analyst】—>【地图代数】—>【栅格计算器】,设置参数如下图所示,其含义为将图层中值不为10的赋值为空,其它保留:

2.选择工具箱中【Spatial Analyst】—>【区域分析】—>【以表格显示分区统计】,输入参数如下图所示,即可得到我们想要的结果!!特别注意!!文件后缀名一定要改为.dbf,即可输出表文件,若未修改文件后缀名,也可通过【表转Excel】工具输出结果:
补充
(1)ArcGIS中分区统计计算面积的方法总结:
- 利用【以表格分区统计】工具:此类方法也是我们此次在实验过程中使用的方法。使用该方法的过程较为曲折,首先想到它是因为在近期的实验中我们经常使用该工具提取某一区域内的光谱反射率,但在此次实验中,我们没有考虑到被提取图层中含有的数据并不单一(即除耕地还存在众多土地利用类型),因此遇到了一些困难,但这并不能否认此工具的强大之处,与【栅格计算器】工具相结合,我们依然得到了我们希望的结果;
- 利用【面积制表】工具:选择【Spatial Analyst】—>【区域分析】—>【面积制表】,此类方法是我通过课堂后的网络搜索与经过课下实验实践后,发现的同样可以实现我们实验目的的一种方法,与第一个实验方法不同,【面积制表】工具可以根据我们需要分区统计的图层的属性表中的各个土地利用类型,自动得到不同县,不同土地利用类型的面积,如下图所示,十分便捷与方便直接,不需要先通过栅格计算器的计算,因此也是我们最为推荐的方法:

(2)ArcGIS中自定义符号:
1.创建新样式库:点击Arcgis主页面中的【自定义】—>【样式管理器】—>【样式】,在打开弹出的数据框中我们即可以引用我们电脑上已下载的其它软件的符号系统,同样也可以点击【创建新样式】,根据我们自己的需要创建我们想要的样式库:

2.直接修改符号:除上述方法外,我们还有另外一种直接改变符号图形的简单方法,双击符号,打开【符号选择器】数据框,选择【编辑符号】—>【图片填充符号】,即可直接在电脑上选择我们希望更改为什么样式的图形:

实验心得
- 作为一名地信学子,对于已经接触Arcgis这个软件两年多的我们来说,此次实验课的相关内容与操作都较为轻松,因此许多较为基本基础的实验过程与实验步骤在实验报告中我都并未赘述但作为追求进步积极上进的大学生来说,我们需要在有限的时间与宝贵的机会中抓住一切提升自我的机会。因此在此次实验中,乘着时间充裕我通过网络搜索与自主学习,尝试了在地图中自定义符号库,在提升自我制图水平的同时,达到了更好的地图效果;
- 除此之外,随着自我学习的不断深入,我发现自我对Arcgis这一软件的理解也在不断进步之中。在大一时我所有实验目的、过程、步骤也都较为直接简单,因此那时的我仅认为Arcgis是一个简单的实现功能的工具。而通过后续的学习对原理有了真正的理解,我逐渐发现在Arcgis中许多的问题并不是只有一个答案,例如:图像的裁剪,我们既可以使用【裁剪】工具,也可以使用【按掩膜提取】工具;分区统计,我们既可以使用【面积制表】工具,也可以使用【以表格分区统计】工具;
- 因此我认为,在我们Arcgis软件接触、学习、使用的过程中,最为忌讳的就是依照前人已有的实验步骤一板一眼步步照搬的简单执行,从不去思考其背后的原因。真正正确的实验思路应该是:首先明确我们需要得到什么样的实验结果;然后了解Arcgis工具箱中的各个工具可以实现什么样的效果,这就需要我们清楚理解各个工具的执行原理,有时许多步骤的反复操作,可能一个工具就能轻松解决;最后确定清晰的操作思路,选择最为恰当的实验工具方法;
- 作为一个已经使用了Arcgis两年的学生,我能熟练利用Arcgis进行基本的数据制图操作,也能利用Arcpy工具进行大量数据的批处理操作。我曾认为自己对于Arcgis的掌握已经是十分足够的了,然而在此次实验中,我依旧是学到了报表的制作、图例列数的选择等等的新知识,这也使我认识到学习是永无止境不进则退的,我也将在平时的学习中从拓宽自我视角的角度进行更为深入的学习。
相关文章:
【景观生态学实验】实验一 ArcGIS地理数据处理及制图基础
实验目的 1.掌握ArcGIS软件基本操作:通过实验操作与学习,熟练掌握ArcGIS软件相关的基本操作,包括界面熟悉、工具栏使用、数据的加载和保存、基本数据处理操作等; 2.掌握如何使用ArcGIS进行影像拼接及裁剪:通过实验操作与学习&am…...
今年双十一最值得入手的好物有哪些?双十一值得选购的好物盘点!
在这个全民狂欢的购物盛宴——双十一,每一个角落都弥漫着诱人的优惠与不可错过的精品。从科技潮品到生活必需品,从时尚尖货到家居好物,无数精选商品在这一季集中绽放,等待着慧眼识珠的你将它们带回家,今年的双十一&…...
【OpenCV】人脸识别方法
代码已上传GitHub:plumqm/OpenCV-Projects at master EigenFace、FisherFace、LBPHFace 这三种方法的代码区别不大所以就一段代码示例。 EigenFace与FisherFace 1. 将人脸图像展开为一维向量,组成训练数据集 2. PCA(EigenFace)或…...
xxl-job定时任务
学习中心 清理Redis中的历史榜单: 持久化榜单数据: 创建历史榜单表: 支付服务 待退款订单检查: 未支付订单检查: 交易服务 退款单处理: 促销中心 优惠券发放状态处理:...
C#从零开始学习(如何构建应用)(1)
开始使用 C# 本章所有的代码都放在 https://github.com/hikinazimi/head-first-Csharp 创建一个控制台应用 打开Visual Studio 2019 创建项目 选择控制台应用程序 创建后点击运行,就可以在控制台打印Hello World 构建一个游戏(创建WPF项目) 构建游戏的步骤 首先创建WPF项…...
OpenCV高级图形用户界面(7)获取指定窗口的属性值函数getWindowProperty()的使用
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 提供窗口的参数。 函数 getWindowProperty 返回窗口的属性。 cv::getWindowProperty() 函数用于获取指定窗口的属性值。这个函数允许你查询窗口…...
Java实现文件上传功能
目录 1、准备工作 2、注意事项 3、jsp页面代码 4、Servlet 5、注册Servlet 1、准备工作 导入依赖:commons-fileupload和commons-io 2、注意事项 ①为保证服务器安全,上传文件应该放在外界无法直接访问的目录下,比如WEB-INF目录下 ②为…...
Leetcode|24. 两两交换链表中的节点 ● 19.删除链表的倒数第N个节点 ● 面试题 02.07. 链表相交 ● 142.环形链表II
24. 注意:涉及头节点的修改或者删除时,最好设置一个虚拟的头结点,方便简化代码,不必进行是否为头节点的的判断,简化code class Solution { public:ListNode* swapPairs(ListNode* head) {ListNode* dummyHead new Li…...
OpenCV学习笔记5——图像的数值计算
目录 一、简单数值计算 二、opencv中提供函数进行计算 三、cv2.addWeighted 一、简单数值计算 在opencv中,我们有许多可以获取图像各类数值的办法,许多函数能获得各种方面的数据。但如果我们什么都不用,仅仅对图像上每一个点做加法运算会…...
P3137 [USACO16FEB] Circular Barn S
P3137 [USACO16FEB] Circular Barn S 思路:数据范围为O(n^2)那么因此我们可以暴力,那么如何进行构造呢?首先假设一头奶牛在a,一头在b,如果要使一个到b,另一个到c,(a<b<c)&…...
yocto编辑软件包-devtool的使用方法
之前用了很多次devtool,总是忘记用法,故此记录一下。 假设你有一个软件包名叫foo,并且已经下载编译过,需要修改它的源码并生成patch 生成修改工作区 devtool modify foo modify命令会将foo的源码压缩包解压到build/workspace/so…...
51单片机快速入门之 串行通信 2024/10/21
51单片机快速入门之 串行通信 并行通信: 好处:传输快 适合短距离通信弊端:占用大量io 接线形式为8对8 串行通信 异步通信: 数据一帧一帧传送,传输完一帧之后,可继续或者等待(等待时为高电平) 其帧细分为(图片来源) 起始位:数据帧开始,一定为 0 外部设备只有接受到 0 之后…...
webpack 老项目升级记录:node-sass 规定的 node v8 提升至支持 node v22
老项目简介 技术框架 vue 2.5.17webpack 4.16.5"webpack-cli": "3.1.0""node-sass": "^4.7.2" 几个阶段 第一步:vue2 升级到最新 第一步:升级 vue2 至最新版本,截止到目前(2024-10-…...
【wpf】08 xml文件的存取操作
在使用wpf编程过程中,会用到xml的配置文件,实现对其读取和存储的操作是必须的。 1 xml说明 可扩展标记语言 (Extensible Markup Language, XML) ,标准通用标记语言的子集,可以用来标记数据、定义数据类型,是一种允许…...
即时通讯代码优化
在线用户逻辑修复 在进行测试时,发现当前代码有个问题,如果test1在服务器进行连接,本地的test2给test1发消息,虽然test1能收到服务器上的信息,但是本地服务日志中会报teset1不在线,需要对该种情况进行修复…...
jmeter学习(8)界面的使用
1、新建test plan 3、 打开文件 4、保存 5、剪切 6、复制 7、粘贴 8、所有线程组展开 9、所有线程组收缩 10、置灰,操作后无法使用 11、执行 13、清空当前线程组结果 14、清空所有线程组结果 15、函数助手 搜索,可以用于搜索某个请求&#x…...
记录一次hiveserver2卡死(假死)问题
问题描述 给开发人员开通了个账号,连接hive进行查询,后来发现,hive服务有时候会卡死,查询不了,连不上(所有账号/客户端都连不上hive),但在chd里面看监控,服务器资源状态…...
【ios】在 SwiftUI 中实现可随时调用的加载框
在 SwiftUI 项目中实现一个自定义的加载框(loading)功能,可以在任意位置调用,以便显示加载动画或者进度条。下面的教程将详细讲解如何创建一个可复用的 Loading 组件,并通过通知机制控制其显示和隐藏。 先上效果&…...
字符、解释型语言、编程语言的互操作、输出
字符 同样是1,有人看到的是数字,有人看到的是字符,还有人看到的是一个小目标。 不同语言的字符 正则表达式把字符分成普通字符和元字符,元字符为了搭配匹配。比如.代表任意非换行字符,这对于通配很简便,用\…...
基于Python的自然语言处理系列(39):Huggingface中的解码策略
在自然语言生成任务中,如何选择下一步的单词或者词语对生成的文本质量影响巨大。Huggingface 提供了多种解码策略,可以在不同的场景下平衡流畅度、创造力以及生成效率。在这篇文章中,我们将逐步介绍 Huggingface 中的几种常见解码策略&#x…...
SpringBoot-17-MyBatis动态SQL标签之常用标签
文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…...
K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
抖音增长新引擎:品融电商,一站式全案代运营领跑者
抖音增长新引擎:品融电商,一站式全案代运营领跑者 在抖音这个日活超7亿的流量汪洋中,品牌如何破浪前行?自建团队成本高、效果难控;碎片化运营又难成合力——这正是许多企业面临的增长困局。品融电商以「抖音全案代运营…...
Cloudflare 从 Nginx 到 Pingora:性能、效率与安全的全面升级
在互联网的快速发展中,高性能、高效率和高安全性的网络服务成为了各大互联网基础设施提供商的核心追求。Cloudflare 作为全球领先的互联网安全和基础设施公司,近期做出了一个重大技术决策:弃用长期使用的 Nginx,转而采用其内部开发…...
c#开发AI模型对话
AI模型 前面已经介绍了一般AI模型本地部署,直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型,但是目前国内可能使用不多,至少实践例子很少看见。开发训练模型就不介绍了&am…...
uniapp中使用aixos 报错
问题: 在uniapp中使用aixos,运行后报如下错误: AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...
Redis数据倾斜问题解决
Redis 数据倾斜问题解析与解决方案 什么是 Redis 数据倾斜 Redis 数据倾斜指的是在 Redis 集群中,部分节点存储的数据量或访问量远高于其他节点,导致这些节点负载过高,影响整体性能。 数据倾斜的主要表现 部分节点内存使用率远高于其他节…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
CMake控制VS2022项目文件分组
我们可以通过 CMake 控制源文件的组织结构,使它们在 VS 解决方案资源管理器中以“组”(Filter)的形式进行分类展示。 🎯 目标 通过 CMake 脚本将 .cpp、.h 等源文件分组显示在 Visual Studio 2022 的解决方案资源管理器中。 ✅ 支持的方法汇总(共4种) 方法描述是否推荐…...




