QGIS文章二——DEM高程裁剪和3D地形图

news2024/11/24 9:10:39

经常看到别人基于高程文件制作出精美的3D地图,笔者按照互联网几种制作方式进行尝试后,写的DEM高程裁剪和3D地形图教程,或许其中有一些错误的,也请指出。

本文基于海南省的shp文件和海南省DEM高程文件,制作海口地区的3D地形图。

前置条件:

1、下载DEM高程文件

到 https://dwtkns.com/srtm30m/ 下载

1d5897e82dbadaae730c48f579d93f13.png

2、获取海南省各市县边界shp文件

自行到互联网搜索

6a69bd86c9d0da0a03191f57b8b36fef.png

3、参考前文配置天地图底图

ea86be350fff302b2b972f56944b6bb9.png

4、分别拖到QGIS的Layers处

接下来,开始转换正文

第一步,将海南shp文件转变为海口shp文件

Copy Group 海南shp,并Paste Layer/Group,然后将海南省shp修改为海口市shp,再点击Filter,公式设置为

b9ab232813ea28e050d15c34d71c06bd.png

显示效果为:

3b7a3f9e4982b3d61ef5a435770dfcef.png

第二步,将下载的DEM文件进行融合

0b00acf137fc326b97b7ea47e6e450cc.png

点击菜单 Raster->miscellaneous->Merge

ca08844f42792c9c3bde88ef285b9714.png

在input layers处点击并选择下载的高程文件

848612c9c852dd0ee55cf68468da98ca.png

点击run后,得到一个Merge层,修改名称为DEM融合

2269866b22e8f7ffb37f36486bb741e9.png

将海口shp和DEM融合一起展示效果如下:

37616a2c52683919d441cd3444a98b68.png

第三步,基于掩码进行分割,点击菜单 Raster->Extraction-> Clip raster by mask layer

343a57e5217b9e08e8b620f908050751.png

注意:Assign a specified nodata value to output bands 设置为0

将输出的layer命名为DEM分割

f206f12bc9f02ab3ee87ca3c517f5e31.png

第四步、将DEM分割复制为两个图层DEM上色和DEM山体,DEM上色图层进行上色(singleband pseudocolor),DEM山体图层进行山体化(HillShade)

在DEM上色图层的Symbology中设置Render Type为Singleband pseudocolor

ff76f4f0cb6669bdd6e574be13bfb4fd.png

并在Transparency中设置Global Opacity为70%

3388d0b7deee3087f4a06a7aa1cd4936.png

在DEM山体图层Symbology中设置Render Type为Singleband pseudocolor

42508dfb56c9d2f6f058a4a24866f340.png

最后两个图层合并显示

304519c7d63590950b53a7f56d08cb42.png

最后欢迎关注公众号:python与大数据分析

abede11b268d1ad2ff4dba5b923926da.jpeg

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

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

相关文章

软件工程与计算总结(一)软件工程基础

国庆快乐,今天开始更新《软件工程与计算(卷二)》的重要知识点内容~ 一.软件 1.软件独立于硬件 早期的软件是为了计算机硬件在研究型项目中而开发制造的,人们使用专门针对于硬件的指令码和汇编语言编写,这也是最早软件…

CentOS安装OpenNebula(二)

被控端部署: 先要配置好yum源: [rootmaster yum.repos.d]# vim opennebula.repo[rootmaster yum.repos.d]# cat opennebula.repo [opennebula] nameopennebula baseurlhttps://downloads.opennebula.org/repo/5.6/CentOS/7/x86_64 enabled1 gpgkeyhttps…

【2023年11月第四版教材】第17章《干系人管理》(第二部分)

第17章《干系人管理》(第二部分) 4 过程1-识别干系人4.1 数据收集★★★4.3数据分析4.4 权力利益方格4.5 数据表现:干系人映射分析和表现★★★ 5 过程2-规划干系人参与5.1 数据分析5.2 数据表现★★★5.2.1 干系人参与度评估矩阵★★★ 5.3 …

短期风速预测|LSTM|ELM|批处理(matlab代码)

目录 1 主要内容 LSTM-长短时记忆 ELM-极限学习机 2 部分代码 3 程序结果 4 程序链接 1 主要内容 该程序是预测类的基础性代码,程序对河北某地区的气象数据进行详细统计,程序最终得到pm2.5的预测结果,通过更改数据很容易得到风速预测结…

【STM32基础 CubeMX】uart串口通信

文章目录 前言一、uart串口通信是什么二、cubeMX配置uart三、代码分析3.1 CubeMX代码分析3.2 以中断启动串口接收3.3 以查询方式发送数据3.4 串口回调函数 四、示例代码4.1 最简单的使用4.2 实现fputc函数以使用printf函数 总结 前言 在嵌入式系统开发领域,串口通信…

C#,数值计算——Ranq1的计算方法与源程序

1 文本格式 using System; namespace Legalsoft.Truffer { /// <summary> /// Recommended generator for everyday use.The period is 1.8E19. Calling /// conventions same as Ran, above. /// </summary> public class Ranq1 { …

含分布式电源的配电网可靠性评估(matlab代码)

目录 1 主要内容 2 部分代码 3 程序结果 4 下载链接 1 主要内容 该程序参考《基于仿射最小路法的含分布式电源配电网可靠性分析》文献方法&#xff0c;通过概率模型和时序模型分别进行建模&#xff0c;实现基于概率模型最小路法的含分布式电源配电网可靠性评估以及时序模型…

用AI原生向量数据库Milvus Cloud 搭建一个 AI 聊天机器人

搭建聊天机器人 一切准备就绪后,就可以搭建聊天机器人了。 文档存储 机器人需要存储文档块以及使用 Towhee 提取出的文档块向量。在这个步骤中,我们需要用到 Milvus。 安装轻量版 Milvus Lite,使用以下命令运行 Milvus 服务器: (chatbot_venv) [egoebelbecker@ares milvus_…

软件设计模式系列之二十三——策略模式

1 模式的定义 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为型设计模式&#xff0c;它允许在运行时动态选择算法的行为。这意味着你可以定义一系列算法&#xff0c;将它们封装成独立的策略对象&#xff0c;然后根据需要在不修改客户端代码的情况下切换这些算法…

POJ 3109 Inner Vertices 离散化+树状数组

一、题目大意 围棋棋盘&#xff0c;如果某个坐标上下左右的四个方向都存在棋子&#xff0c;那么ans1&#xff0c;根据输入的棋子数量&#xff0c;求出ans的数量。 二、解题思路 题目中有说到如果程序不会结束&#xff0c;那么输出-1&#xff0c;这其实是无源之水&#xff0c…

使用Java操作Redis

要在Java程序中操作Redis可以使用Jedis开源工具。 一、jedis的下载 如果使用Maven项目&#xff0c;可以把以下内容添加到pom中 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --> <dependency> <groupId>redis.clients</groupId>…

【Python】函数(function)和方法(method)的区别

这里先说结论&#xff0c;为了满足心急的小伙伴&#xff1a;method与function的最大区别就是参数有无进行绑定。 自定义类Test&#xff1a; 首先先来一个自定义类&#xff1a; class Test:def Func_normal(arg):print(Func_normal:,arg)staticmethoddef Func_static(arg):pri…

在vite中使用react-router-dom-v6 路由报错 Uncaught SyntaxError: Unexpected token ‘<‘

解决方法&#xff1a;将路由表“routes”下面的"index.js"改成“index.jsx”&#xff0c;正确的文件如下图所示。

Springboo整合Sentinel

Springboo整合Sentinel 1.启动Sentinel java -jar sentinel-dashboard-1.8.6.jar2.访问localhost:8080到Sentinel管理界面(默认账号和密码都是sentinel) 3.引入依赖(注意版本对应) <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spr…

window环境下Redis7服务器的安装和运行

一、readis7的下载 由于在官网上没有window版本的redis下载&#xff0c;需要到github中去搜索&#xff0c;以下以redis7为例介绍redis的下载 下载地址&#xff1a;https://github.com/zkteco-home/redis-windows 也可以到百度网盘下载 链接&#xff1a;https://pan.baidu.com…

【JavaSE重点知识归纳】第3节:运算符(算术、关系、逻辑、位、移位、优先级)

目录 一&#xff1a;什么是运算符 二&#xff1a;算术运算符 1.基本四则运算符&#xff1a;加减乘除模&#xff08;、-、*、/、%&#xff09; 2.增量运算符&#xff08;、-、*、%&#xff09; 3.自增/自减运算符&#xff08;、--&#xff09; 三&#xff1a;关系运算符 四…

【Kafka专题】Kafka集群架构设计原理详解

目录 前言前置知识课程内容一、Kafka的Zookeeper元数据梳理1.1 zookeeper整体数据1.2 Controller Broker选举机制1.3 Leader Partition选举机制1.4 Leader Partition自动平衡机制*1.5 Partition故障恢复机制1.6 HW一致性保障-Epoch更新机制1.7 总结 学习总结感谢 前言 Kafka的…

R语言实现竞争风险模型(1)

#竞争风险模型 tmp <- data.frame(gene tiaoxuan[,5:6],OS.Time Train[,"Survival_months"], OS Train[,"CSS"],stringsAsFactors F) colnames(tmp) #方法1&#xff1a;riskregression library(riskRegression) fgr1<-FGR(Hist(OS.Time,OS)~gen…

K 个一组翻转链表(链表反转,固定长度反转)(困难)

优质博文&#xff1a;IT-BLOG-CN 一、题目 给你链表的头节点head&#xff0c;每k个节点一组进行翻转&#xff0c;请你返回修改后的链表。 k是一个正整数&#xff0c;它的值小于或等于链表的长度。如果节点总数不是k的整数倍&#xff0c;那么请将最后剩余的节点保持原有顺序。…

Android SELinux 参数语法介绍及基础分析

Android SELinux安全策略主要使用对象安全上下文的基础进行描述&#xff0c;通过主体和客体的安全上下文去定义主体是否有权限访问客体&#xff0c;称为TypeEnforcement 安全上下文&#xff08;Security Context&#xff09; SEAndroid中的安全上下文:共有4个部分组成分别为use…