9.4 栅格图层符号化山体阴影渲染

news2024/11/26 4:25:19

9.4 栅格图层符号化山体阴影渲染-CSDN博客

目录

前言

山体阴影渲染

QGis设置为山体阴影

二次开发代码实现山体阴影

总结


前言

  • 介绍栅格图层数据渲染之山体阴影渲染
  • 说明:文章中的示例代码均来自开源项目qgis_cpp_api_apps

山体阴影渲染

  • 以“3420C_2010_327_RGB_LATLNG.tif”数据为例,在QGis中加载默认显示如下图

QGis设置为山体阴影

  • 在图层属性的“Symbology”选项卡中选择“Render type”为“Hillshade”

  • 在“Band”中选择需要渲染的波段;
  • “Altitude”中选择光源的高度角,默认为45°;
  • 在“Azimuth”中选择光源的方向角,默认为315°;
  • 在“Z Factor”中输入高程数据的缩放参数(可以加强阴影效果),默认为1;
  • 选中“Multidirectional”即可开启多角度阴影
  • 属性设置完成后,图层渲染效果如下图

二次开发代码实现山体阴影

  • QgsHillshadeRenderer是山体阴影渲染器,详情见文档,类图如下

  • 构造函数中,制定了dataProvider,波段序号,光源高度角和光源的高度角
QgsHillshadeRenderer( QgsRasterInterface *input, int band, double lightAzimuth, double lightAltitude );
  • 其他参数可以调用setters,如void setZFactor( double zfactor )
  • 完整测试代码如下
void MainWindow::rasterHillshadeSlot()
{
    //添加测试图层
    QgsRasterLayer *layer = addTestRaster("maps/raster/3420C_2010_327_RGB_LATLNG.tif");

    QgsHillshadeRenderer *renderer = new QgsHillshadeRenderer(layer->dataProvider(),1,45,315);
    renderer->setZFactor(10);
    layer->setRenderer(renderer);
}
  • 效果如下图

总结

  • 介绍了栅格图层山体阴影渲染的用法

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

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

相关文章

leetcode二叉树(一)-理论基础

本节主要参考代码随想录:代码随想录 题目分类 二叉树的种类 满二叉树 满二叉树:如果一棵二叉树只有度为0的结点和度为2的结点,并且度为0的结点在同一层上,则这棵二叉树为满二叉树。 这棵二叉树为满二叉树,也可以说深…

产品设计——应用架构

我的理解应用架构是业务架构的落地,微服务架构下平台的应用架构设计,实质是根据业务来明确应用微服务的边界。因此业务不同,应用架构图也不同。但是基本框架应该相差不大。 其划分原则莫过于高内聚、低耦合。这个跟接口设计是一致的。我们总是…

MySQL数据库安装手册

MySQL数据库安装手册 MySQL数据库的下载与安装 在上一小节我们已经简单了解了数据库与一些相关概念 没看上一节的同学戳这里 接下来我们首先需要学会如何下载和安装数据库 1 MySQL数据库的版本 目前MySQL官网为我们提供了两个版本,一个是社区版本,…

<<迷雾>> 第11章 全自动加法计算机(4)--带地址译码器的内存模型 示例电路

地址译码器 info::操作说明 书中没有给出具体的实现电路. 这里根据电路特性采用自定义逻辑实现. 关于 “自定义逻辑”, 可参考此链接的说明: https://book.xiaogd.net/usage-of-circuitjs/circuitjs-custom-logic.html 这里本质上就是利用两个 2-4 译码器分别控制读和写. 注: 在…

Linux进程控制(3)(进程程序替换2 -- 微型shell)

目录 补充 一.引入 二.自助微型shell 1:输出一个命令行 2:获取用户命令字符串 3:命令行字符串的分割 4:先试着执行一下命令 5:关键点:需要在执行命令前检查是否为内建命令 其他: 三&…

JSONAJAX

JSON&&AJAX 一、JSON 1.1 json简介 JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,而且很多语言都提供了对 json 的支持(包括 C, C, C#, J…

常用的devops工具集成方法

常用的devops工具集成方法涵盖了软件开发和运维的各个方面,从版本控制到自动化构建、测试、部署和监控。这些工具的有效集成可以帮助团队提高协作效率,减少沟通障碍,实现快速、高质量的软件交付。以下是对这些工具集成方法的具体介绍&#xf…

双核DSP芯片的内存管理

总体框图 总的来说,在这款DSP芯片上,RAM分成了四种不同的类型: 专用RAM: CPU专用的内存,其他主机无法访问。 双核共享RAM: CLA和CPU共享内存,双方都可以对内存地址进行访问 MSGRAM: CLA和CPU之间传递数据的…

【自动驾驶汽车通讯协议】I2C(IIC)总线通讯技术详解

文章目录 0. 前言1. I2C简介2.I2C的工作原理2.1 硬件要求:2.2 半双工通信: 3. 通信时序4. 其他特性4.1 通信速率4.2 抗干扰措施4.3 注意事项 5. 在自动驾驶汽车中的应用5.1 I2C操作模式5.2 I2C的用途 6. 总结 0. 前言 按照国际惯例,首先声明&…

Spring Boot知识管理系统:创新与实践

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常适…

【含开题报告+文档+PPT+源码】基于人脸识别的课堂考勤系统的设计与实现

开题报告 随着科技的不断发展,人脸识别技术已经逐渐渗透到各个领域,包括教育领域。传统的课堂考勤方式通常依赖于学生签到或教师手动记录,这种方式存在着许多不足之处,例如容易出现人为错误、耗费时间和资源等。为了解决这些问题…

机器学习:强化学习中的探索策略全解析

引言 在机器学习的广阔领域中,强化学习(Reinforcement Learning, RL)无疑是一个充满魅力的子领域。它通过智能体与环境的交互,学习如何在特定的任务中做出最优决策。然而,在这个过程中,探索(ex…

linux 配置ssh免密登录

一、 cd /root/.ssh/ #不存在就创建mkdir /root/.ssh ssh-keygen #连续按4个回车 ll二、将公钥发送到目标服务器下 #公钥上传到目标服务器 ssh-copy-id root192.168.31.142 #回车完也是要输入密码的 #测试一下免密登录: ssh root192.168.31.142 成功

二、后台管理系统布局菜单可拖动

前两天产品提出了一个需求,说后台管理系统的左边菜单的名称字数过多,遮挡了。希望能让客户能够看到全部的名称,给左侧菜单增加一个可拖动的功能,经过我的研究,这个功能最终也做出来了,先看效果,…

IDEA之手动添加作者信息

IDEA不能像eclipse一样,直接使用/**注释快捷键在类上带出作者信息。 解决方案: 手动添加自定义作者注释快捷键 /*** Author: TroubleBoy* Date: $DATE$* Description: TODO*/ 6.编辑日期变量,设置变量DATE的Expression为date() 7.应用Java…

Nacos的相关资料

目录 Nacos的Mysql文件: custom.env文件: 执行的Docker命令: 从 GitHub 官方仓库下载 Nacos:https://github.com/alibaba/nacos Nacos的Mysql文件: -- --------------------------------------------------------…

【工具类】hutool http请求获取S3图片流

博主介绍:✌全网粉丝20W,CSDN博客专家、Java领域优质创作者,掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围:SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…

基于数字信号处理的语音数字识别器

基于数字信号处理的语音数字识别器 系统说明 该系统工作流程图如下 各部分关键参数及简要说明如下。 预处理阶段: 预录制语音为单个数字的语音,从 0 - 9 共 10 组,采样率 16 kHz计算 MFCC 特征中,Mel 滤波器组个数 40&#xff…

Journey Training:o1的一次复现尝试,极长思维链的合成

知乎:啦啦啦啦(已授权)链接:https://zhuanlan.zhihu.com/p/902522340 论文:O1 Replication Journey: A Strategic Progress Report链接:https://github.com/GAIR-NLP/O1-Journey 这篇论文记录了一次o1复现尝…

IBMS集成管理平台——推动建筑业数字化转型

随着城市发展和科技进步,智慧楼宇(IBMS)作为建筑智能化的核心系统,已经成为现代建筑中不可或缺的一部分。通过整合各种智能设备和系统,IBMS提供了对建筑内部运行状况的全面监控和管理,实现了能源节约、安全保障和舒适体验的多重目…