ArcMap:第一届全国大学生GIS技能大赛(滁州学院)详解-下午题

news2024/11/23 16:46:05

目录

01 题目

02 数据

2.1 主要沟谷文件 

2.2 DEM数字高程文件

2.3 气象站点数据

2.4 系统设计相关的DLL等文件

03 思路

3.1 作物生长条件的思路 

3.1.1 对于条件1

3.1.2 对于条件2

3.1.3 对于条件3

3.1.4 对于条件4

3.2 水系的提取

3.3 种植面积的计算

04 实操

4.1 获取阳坡数据

4.1.1 计算坡向

 4.1.2 对坡向数据进行重分类(得到阳坡数据)

4.1.3  将阳坡数据栅格转面

 4.2 获取主沟谷缓冲区数据

 4.3 获取指定区间的年平均温度数据

4.3.1 添加文本文件

 4.3.2 空间插值

 4.3.3 重分类温度数据

​编辑

 4.3.4 温度数据栅格转面

4.4 获取指定区间的降雨数据

4.5 获取满足所有条件的区域

 4.6 水系提取

4.6.1 DEM填洼

4.6.2 流向数据获取

4.6.3 流量数据获取

4.6.4 水系提取(重分类)

4.6.5 水系矢量化

 4.7 专题制作


01 题目

题目:空间分析技术的应用与GIS系统设计

某一地区引进X型经济作物,该作物的生长环境需要满足一定的地形及气象条件。现有该地区的地形及气象数据,请你根据X型作物的生长条件,为该地区进行X型作物适宜区分析,并制作专题图。同时,梳理上述问题及其解决过程,规划出科学合理的GIS应用系统,进行系统功能及界面设计。

相关信息说明如下:

  • 数据中,dem为数字高程模型数据,gully.shp为主沟谷数据;climate.txt为气象观测表数据(包含坐标、温度/℃及降雨/ mm等)。
  • dll中,DevComponents.DotNetBar2.DLL为工具控件库,IrisSkin2.DLL为皮肤控件库,titlerectangle.ssk为皮肤文件。
  • X型作物生长的条件为:
  1. 作物喜阳;
  2. 作物一般生长在该山区主沟谷两侧区域,一般不超过800米;
  3. 作物生长的年平均温度为9.5-11.5℃;
  4. 作物生长的年总降雨量为600-720mm。
  • 坡向为90~270为阳坡。
  • 可根据数字高程模型数据提取出坡向、水系等信息。

具体竞赛要求如下:

  • 请就以上条件确定此地区适合种植这种作物的范围,并制作专题图。专题图内容要求以地形和水系作为背景,且给出适宜种植面积(投影面积即可)。
  • 基于问题的解决方案,进行GIS应用系统的功能及界面设计。系统功能模块原则上不要求代码实现,但地图加载、放大、缩小、漫游、全图等功能要求实现。
  • 提交文件包括:专题图文件(含数据),GIS应用系统源码及技术文档。
  • 技术文档应包括解题思路、解题过程、系统设计等内容。技术文档中,请尽可能附图说明。附图请使用Word图片裁剪工具使附图内容仅为说明区域。

02 数据

2.1 主要沟谷文件 

gully.shp为主沟谷数据

2.2 DEM数字高程文件

dem为数字高程模型数据

2.3 气象站点数据

climate.txt为气象观测表数据(包含坐标、温度/℃及降雨/ mm等)。

2.4 系统设计相关的DLL等文件

dll中,DevComponents.DotNetBar2.DLL为工具控件库,IrisSkin2.DLL为皮肤控件库,titlerectangle.ssk为皮肤文件。

这个可能比较新奇,我是遥感专业的,对于地信的不是很熟悉,不过看要求似乎没有地信方面的编程要求,所以这里我会尽量熟悉并向大家说明如何进行系统的设计。

03 思路

说实话我很羡慕第一届的比赛,如此简单,害。

这个题本质上就是找到满足要求的适宜区域,所以这里我的思路就是先化整为零,分别找到满足小要求的区域,最后所有区域进行叠置分析即可,

想要找到满足X型作物生存的适宜区,那么我们就需要重温题目要求:

  • X型作物生长的条件为:
  1. 作物喜阳;(坡向为90~270为阳坡。)
  2. 作物一般生长在该山区主沟谷两侧区域,一般不超过800米;
  3. 作物生长的年平均温度为9.5-11.5℃;
  4. 作物生长的年总降雨量为600-720mm。

3.1 作物生长条件的思路 

3.1.1 对于条件1

条件1要求:作物喜阳;(坡向为90~270为阳坡。)

由于坡向为90~270为阳坡,所以我们需要对坡向进行重分类,但是我们没有坡向数据。但是通过题干我们发现有DEM数据,因此我们需要使用坡向工具对DEM数据进行坡向的计算得到坡向数据,然后再使用重分类工具对获取的坡向数据按照阴阳坡的分类标准进行重分类,将坡向为90~270的赋值为1,其余赋值为Nodata(这里我一向倾向于如此操作,不需要的我们不需要赋值为其它有效值,直接赋值为Nodata,后面进行各种操作可以避免很多麻烦);另外,我们的总体思路是将各个满足小要求的区域进行叠置分析,但是叠置分析一般在矢量文件中进行操作会十分方便,因此此处我们需要将得到阳坡数据使用栅格转面工具将其转化为矢量文件;

投影坐标系和地理坐标系的一些注意事项:

由于我们需要计算坡向数据,一般我记得坡度数据的计算是一定要将数据的坐标系转化为投影坐标系,不可以使用地理坐标系的数据进行坡度的计算。(其实在坡度计算你使用的是地理坐标系也是有解决办法的,那就是设置Z因子,但是前提是你可以使用浏览器或者查看ArcMap帮助文档你才知道自己的数据的Z因子是多大,但是比赛是不允许使用这些的,所以还是老老实实的转一下投影坐标系吧)。

这里坡向貌似可以不用转化为投影坐标系,但是你需要将坡向的计算方法切换为测地线。以下是ArcMap的官方文档关于坡向原理的说明:坡向的工作原理—ArcGIS Pro | 文档

 上述明确说明了,如果使用平面的坡向计算方法,那么它是对投影平面进行计算,所以如果你的数据不是平面的那么使用该方法就存在问题了;

 此处明确说明了使用测地线方法不需要要求坐标系为投影坐标系,换言之地理坐标系还是投影坐标系不会影像坡向的计算,但是需要设置Z单位(一般我们的DEM高程单位都是meter吧)。

所以,小结一下,怕麻烦就直接将坐标系事先转化为投影坐标系,避免错误,虽然地理坐标系下也可以完成数据的处理,但是常在河边走哪有不失身。

另外,不仅仅是这里的坡向计算(虽然我也说明了坡度计算)需要考虑坐标系是投影还是地理坐标系外,对于题目中的缓冲区也是需要考虑坐标系的,因为题干要求缓冲距离不超过800meter,很显然这需要在投影坐标系下完成,因为地理坐标系的缓冲距离是度/°,而且一般而言没有人会在地理坐标系下进行缓冲区的分析,这一般认为是错误的做法。

另外,还有题干中要求给出适宜种植面积,面积的计算实际上也是需要在投影坐标系下完成的。

所以总结吧,第一拿到数据就事先看看数据是地理坐标系还是投影坐标系,如果是地理坐标系那么你就需要非常注意比赛评委组挖的坑了,不要跳进去,最保险的方法就是不管三七二十一先转化为投影坐标系。

但是,很幸运,这道下午题的所有的数据均为投影坐标系,所以其实我讲了这么多,你什么也不需要操作。

条件1的操作流程大致如下:

3.1.2 对于条件2

条件2要求:作物一般生长在该山区主沟谷两侧区域,一般不超过800米;

由于比赛已经提供了主沟谷文件(gully.shp),所以在两侧不超过800m就仅仅只是做一个简单的缓冲区就好了。没什么好讲的。

3.1.3 对于条件3

条件3要求:作物生长的年平均温度为9.5-11.5℃;

咋一看,咦,怎么没有温度的区域数据啊?

学艺不精了不是,比赛数据提供了:climate.txt为气象观测表数据(包含坐标、温度/℃及降雨/ mm等)。

所以我们需要基于当前气象观测数据进行空间插值,得到DEM范围内的所有区域的温度的栅格文件,当然这里我推荐还是先导入这个txt文件,然后将其转化为shp文件,然后再进行空间插值;这个怎么说呢,一般excel数据、txt文件这种气象站点数据一般我们都会将其转化为shp文件,一来是可以方便进行其它处理,二来是我们方便我们下次使用不需要重新导入这些XY数据。

进行空间插值之后还是类似的操作,对温度栅格数据进行重分类,然后栅格转面即可。

注意,这里导入climate.txt需要注意定义坐标系,我一开始还担心坐标系应该是什么,会不会是默认的WGS84,但是当我打开climate.txt一看,这个坐标很明显就不是地理坐标系,而是投影坐标系,而且稍加比赛,发现,这些坐标均在DEM的范围内,所以应该是和其它数据的投影坐标系一致。所以无需过分担心。

以下是条件3的流程如下:

3.1.4 对于条件4

条件4要求:作物生长的年总降雨量为600-720mm。

这个也是类似,操作与上面的温度数据获取简直一模一样,这里不再重复。

3.2 水系的提取

可能是评委老师们觉得就一个简单的适宜区的分析,实在有一些拉跨,于是就加上了一个水系提取,实际上这个水系提取出来之后并没有太大的用处,仅仅是在制作专题图的时候用于出图显示。

思路很简单:首先对DEM数据进行填洼,然后使用流向工具计算水流方向矩阵得到流向数据,再使用流量工具计算流水累积量矩阵得到流量数据,将得到的流量数据进行阈值提取,然后将得到的河网进行栅格转矢量即可(但是这里不推荐使用栅格转面工具,而是使用栅格河网矢量化工具,原因这里不讲,大家可以自行去看二者的效果即可)。

3.3 种植面积的计算

这个也比较简单,直接在得到的适宜区数据的属性表通过计算几何得到种植面积。

另外,为了专题图的好看,我这里推荐再计算一个山体阴影作为底图,将DEM的透明度调为40%左右可以显现山地起伏的效果。

04 实操

4.1 获取阳坡数据

4.1.1 计算坡向

 4.1.2 对坡向数据进行重分类(得到阳坡数据)

4.1.3  将阳坡数据栅格转面

 4.2 获取主沟谷缓冲区数据

 4.3 获取指定区间的年平均温度数据

4.3.1 添加文本文件

 

 

 4.3.2 空间插值

这里使用克里金插值吧。

 

 4.3.3 重分类温度数据

 4.3.4 温度数据栅格转面

4.4 获取指定区间的降雨数据

由于处理类似,这里不再演示。

4.5 获取满足所有条件的区域

 4.6 水系提取

4.6.1 DEM填洼

4.6.2 流向数据获取

4.6.3 流量数据获取

 

4.6.4 水系提取(重分类)

 (阈值300000太高了,我调低了)

4.6.5 水系矢量化

 4.7 专题制作

十分抱歉,时间不允许这里就不进行专题图制作,以下是简单的展示;

 其中DEM的显示设置如下:

 如此可以显示最底层的山体阴影。

 

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

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

相关文章

linux下cpu占用率100%怎么解决?

在实际的生产环境中,常常会遇到服务器CPU爆满的问题,这时候,正确的排查方法,有助于快速的定位问题。 1、找到最耗CPU的进程 使用top命令查看系统总体的CPU和内存使用情况,以及各个进程的资源使用情况。 2、找到最耗…

迈向5.5G丨美格智能持续创新,为智能世界创造新价值

5月11日,2023 “高通&美格智能物联网技术开放日”深圳站活动举行,美格智能高级产品总监在活动中发表题为《迈向5.5G,智联新未来》的主题演讲,分享了美格智能在5G技术演进中的创新实践。 ▲美格智能高级产品总监 刘伟鹏 ▌技术…

【基础折线图】学习使用flask、echarts搭建数据可视化图表网页

文章目录 前言Apache EchartsNPM 安装 ECharts在线定制 ECharts使用 Echarts Flaskpip安装flask 学习案例案例目录html代码flask代码 源码地址 前言 本文中的所有代码,全部都有详细注释,有需要的同学可以在文末领取! 数据可视化是数据分析必…

19-01 技术选型的道与术

系列目录导航👉 什么是技术选型,技术选型的重要性 根据实际业务管理的需要,对硬件、软件以及所要用到的技术进行规格的选择狭义上的技术选型:团队决定选用哪种技术去解决问题,比如选用某个技术语言、某个技术框架去开…

Android12之模板类单例模式实现原理(一百五十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

openGauss 年度大型开发者会议来袭,快来看看都有哪些SIG组参加!

openGauss Developer Day 2023 将于5月26日在北京举办。作为大会的重要环节, SIG组版本规划工作会议 将汇聚社区各个SIG 组的用户与开发者,与大家见面,共同讨论开源数据库的技术发展与创新。属于开发者的狂欢日,期待大家的到…

CMAKE命令详解

目录 CMake 语法 案例: 面试中给可能会问的问题和回答: 总结: CMake 是一个用于构建和管理跨平台软件项目的开源工具。它使用名为 CMakeLists.txt 的文本文件来描述项目的构建过程。 CMake 语法 当使用 CMake 构建项目时,可以…

数据库索引结构(1)概念

常见的索引 主键和二级索引 MySQL学习笔记-主键索引和二级索引_mysql中主键索引和二级索引的区别_爱因诗贤的博客-CSDN博客 MYSQL-主键索引与二级索引_mysql二级索引存在哪个文件_青苔小榭的博客-CSDN博客 采用主键索引的好处:如果元素的位置发生修改,那…

华为OD机试真题 Java 实现【组合出合法最小数】【2023Q1 200分】

一、题目描述 给一个数组,数组里面都是代表非负整数的字符串,将数组里所有的数值排列组合拼接起来组成一个数字,输出拼接成的最小的数字。 二、输入描述 一个数组,数组不为空,数组里面都是代表非负整数的字符串&…

解读智慧城市建设的关键角色:GIS技术的应用与优势

近年来,随着城市化进程的加快和信息技术的迅猛发展,智慧城市成为了城市发展的重要方向。而在智慧城市建设中,地理信息系统(GIS)技术的应用正发挥着越来越重要的作用。GIS技术以其独特的地理空间分析能力,为…

龙芯2K1000实战开发-项目整体框架介绍

文章目录 概要整体架构技术名词解释技术细节小结概要 本项目主要以龙芯2k1000为CPU实现整个系统的管理,主要实现数据交换、时间同步和数据监控等功能。项目中龙芯作为一部分存在,考虑到项目涉密的原因,不能将整个项目的应用背景及项目整体方案做介绍,只能将龙芯过程开发做一…

NSSCTF之Web篇刷题记录(12)

NSSCTF之Web篇刷题记录[12] [NCTF 2018]签到题:[鹤城杯 2021]EasyP:[NSSCTF 2022 Spring Recruit]ezgame:[GXYCTF 2019]Ping Ping Ping:[SWPUCTF 2021 新生赛]finalrce:[NISACTF 2022]checkin: NSSCTF平台:…

程序员成长之路有哪些绝对不能踩的坑?

文章目录 一、你在编写代码时,会特别注意哪些流程?二、你在工作过程中踩过哪些坑?你是如何处理的呢?三、结合自身工作经验,分享一下程序员有哪些要避免的坑吧。总结 程序员编写高质量、可维护、安全且高效的代码&#…

【Python文本处理】基于运动路线记录GPX文件解析,心率、速度、时间、功率、踏频、海拔等参数的生成和更改

【Python文本处理】基于运动路线记录GPX文件解析,心率、速度、时间、功率、踏频、海拔等参数的生成和更改 GPX文件本身其实就是坐标、海拔、时间、心率等综合性的xml文件 如图: 海拔:ele 时间:time 心率:heartrate 功…

推荐5个非常强大的ChatGPT浏览器插件|你的生产力提高工具

近期,ChatGPT变得越来越热门,为此,许多浏览器插件也随之问世。这些基于ChatGPT的浏览器插件大大提高了ChatGPT的能力,使得我们能够更高效地在平时的上网、工作和学习中获得帮助,从而节省了大量时间。 今天我来给大家介…

168天,从外包转岗到阿里测开岗.....

本人毕业于某普通二本院校非计算机专业,跨专业入行测试,至今有近 5年工作经验。 第一份测试工作是在腾讯做了两年外包。总体感受就是 这份工作缺乏归属感,心里总有一种落差,进步空间不大, 接触不到核心技术&#xf…

分享以MM32SPIN0280单片机为主控洗衣机方案

洗衣机是利用电能产生机械作用来洗涤衣物的清洁电器,按驱动方法有3类,直接驱动,皮带驱动,波轮式驱动。 主变一体洗衣机方案以MM32SPIN0280为主控 MCU规格: -ArmCortex-M0内核,最高工作频率可达96MHz -128…

软件测试面试至今0 offer的小伙伴,问题到底出在哪儿?

转眼已是五月中旬,求职招聘季也快要结束啦,如果没点真技术 真本事,不了解点职场套路,在今年行情下,找工作可是难上加难。 现在点开微博或者脉脉,只要搜索“招聘”,用“惨不忍睹”来形容也不为过…

《计算机组成原理》期末复习一文总结

文章目录 第1讲:概论一、课程内容课程简介课程教材慕课堂二、课程组成结构计算机系统组成计算机软硬件概念以运算器为中心现代计算机的存储器为中心 硬件各部分关系内存基本组成运算器基本组成累加器(相当于寄存器) 控制器组成 第2讲&#xf…

[VRTK4.0]设置OpenXRCameraRig

学习目标: 演示如何设置Unity项目以支持OpenXR,以及如何安装VRTK v4TiliaUnitvXRFrameWork用于OpenXR的CameraRig。还展示了如何设置Tilia TrackedAlias预制件可轻松访问底层CameraRig功能。 流程: 步骤一: 我们现在要将我…