OMG!这么优秀的晕渲图,原来四步就可以完成!

2024-02-25 09:08

本文主要是介绍OMG!这么优秀的晕渲图,原来四步就可以完成!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

晕渲图是表达地形最常见的一种形式,它通过阴影和颜色渐变来展示地表的起伏变化,具有很好的立体感。SuperMap中提供的全球晕渲图地形清晰,配色浅淡,用户可以直接作为底图使用,在上面叠加其它的数据。那么这样的图怎么制作呢?下面就为大家详细介绍一下。

一 数据下载与预处理

全球地形数据来源于“地理空间数据云”网站中的SRTM DEM高程数据,地址为http://www.gscloud.cn/。
植被数据来源于美国地质勘探局USGS网站,地址为https://landcover.usgs.gov/global_climatology.php。

二 海洋地形表达

海洋是全球晕渲图中的基础部分,相对陆地来说关注度不高,所以,海洋部分不需要详细展示地形细节,仅需表现海底地形起伏的整体变化,这里我们选择分层设色法来表达。
1 提取等值面
对全球地形数据提取等值面,等值距设为1000米,并为等值面设置光滑系数为2的B样条法进行光滑。
在这里插入图片描述
图:提取等值面

2 制作单值专题图
对提取好的等值面制作单值专题图,并为不同高度值的等值面设置颜色,使得海拔由低变高表现为由深变浅的蓝色,以模拟真实的海洋颜色。
在这里插入图片描述
图:海洋地形展示

3 输出影像数据集
由于等值面图层加载较慢,可以将这个图层输出为影像数据集,可以大大加快显示效率。

三 陆地地形表达

1 裁剪陆地地形
使用陆地的面数据集裁剪出陆地地形的DEM。
在这里插入图片描述
图:裁剪陆地地形

2 生成山影数据
对陆地DEM数据进行三维晕渲图的运算,得到山影数据。
在这里插入图片描述
图:生成山影数据

3 地形简化
覆盖到全球陆地范围的地形表达虽然可以全面展示所有地形,但同时会导致地图重点不明确,缺乏层次感。作为基础底图的全球晕渲图,植被、耕地与水系等部分的地形相对比较重要,关注度较高,而冰川、荒原这样的地区地形复杂并且一般不会有专题要素的叠加,可以直接不表示。对于城镇用地覆盖的区域,后续可能叠加的附加要素比较密集,如路网、铁路与POI点等,地形作为辅助表达的底图会干扰到这些要素的表达,也选择不表示。使用数据更新的方法将山影数据中的雪山、荒原和城镇用地的部分置为空值。
在这里插入图片描述
图:地形简化 (左:简化前;右:简化后)

4 地形叠加
将陆地山影数据叠加到海洋上边,同时为了避免地形为空的地方透出底下的海洋,可以在陆地山影数据与海洋图层间叠加一层陆地的面数据。

四 叠加植被

将植被栅格数据叠加到地形数据上边并设置一定的透明度,这里需要注意的是,当地图的比例尺比较小的时候,地形比较模糊,这时植被不需要设置很高的透明度,而比例尺比较大的时候植被的透明度需要比较高来更好的显示其下的地形,这样的效果通过对植被设置显示比例尺来实现。
在这里插入图片描述
图:叠加植被

到这里,全球晕渲图就制作完成了,如果你有行政界线、河流、道路、POI点等数据,可以直接叠加进行展示~
在这里插入图片描述
图:晕渲图叠加行政要素
在这里插入图片描述
图:晕渲图叠加行政要素(细节)

是不是很优秀?那赶紧动手制作起来吧!

这篇关于OMG!这么优秀的晕渲图,原来四步就可以完成!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/745019

相关文章

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp

JAVA调用Deepseek的api完成基本对话简单代码示例

《JAVA调用Deepseek的api完成基本对话简单代码示例》:本文主要介绍JAVA调用Deepseek的api完成基本对话的相关资料,文中详细讲解了如何获取DeepSeekAPI密钥、添加H... 获取API密钥首先,从DeepSeek平台获取API密钥,用于身份验证。添加HTTP客户端依赖使用Jav

python安装完成后可以进行的后续步骤和注意事项小结

《python安装完成后可以进行的后续步骤和注意事项小结》本文详细介绍了安装Python3后的后续步骤,包括验证安装、配置环境、安装包、创建和运行脚本,以及使用虚拟环境,还强调了注意事项,如系统更新、... 目录验证安装配置环境(可选)安装python包创建和运行Python脚本虚拟环境(可选)注意事项安装

【数据结构】——原来排序算法搞懂这些就行,轻松拿捏

前言:快速排序的实现最重要的是找基准值,下面让我们来了解如何实现找基准值 基准值的注释:在快排的过程中,每一次我们要取一个元素作为枢纽值,以这个数字来将序列划分为两部分。 在此我们采用三数取中法,也就是取左端、中间、右端三个数,然后进行排序,将中间数作为枢纽值。 快速排序实现主框架: //快速排序 void QuickSort(int* arr, int left, int rig

Java 后端接口入参 - 联合前端VUE 使用AES完成入参出参加密解密

加密效果: 解密后的数据就是正常数据: 后端:使用的是spring-cloud框架,在gateway模块进行操作 <dependency><groupId>com.google.guava</groupId><artifactId>guava</artifactId><version>30.0-jre</version></dependency> 编写一个AES加密

如何成为一个优秀的测试工程师

链接地址:http://blog.csdn.net/KerryZhu/article/details/5250504 我一直在想,如何将自己的测试团队打造成世界一流的团队?流程、测试自动化、创新、扁平式管理、国际标准制定、测试社区贡献、…… 但首先一点是明确的,就是要将每一个测试工程师打造成优秀的测试工程师,优秀的团队必须由优秀的成员构成。所以,先讨论“如何成为一个优秀的测试工程师”,

Oracle中实现在原来自段值得基础上追加字符串

update person t set t.name = t.name || 'and 李思思' where t.id = '2';

如何完成本科毕业论文设计

完成本科毕业论文设计是一个系统性的工程,需要经过多个阶段的规划、执行和总结。以下是一个详细的步骤指南,帮助你顺利完成本科毕业论文设计。 ### 1. 选题与开题 - **选题**:选择一个有研究价值且你感兴趣的题目。与导师讨论,确保题目具有可行性和创新性。 - **开题报告**:撰写开题报告,包括研究背景、研究目的、研究内容、研究方法、预期成果等。 ### 2. 文献综述 - **文献检索**

八大排序原来也不过如此

详解八大排序 前言1.插入排序1.1 直接插入排序1.2 希尔排序 2.选择排序2.1 选择排序2.2 堆排序 3. 交换排序3.1 冒泡排序3.2 快排3.2.1 hoare版本3.2.2 挖坑版本3.2.3 双指针版本3.2.4 快排优化3.3.5 快排时间复杂度和空间复杂度分析3.2.5 非递归实现快排 4. 归并排序4.1 递归实现4.2 非递归实现 5. 计数排序6. 总结

Java SpringBoot集成Vue.js,构建茶园茶农文化交流平台,四步实现高效互动,MySQL存储数据更稳定

🍊作者:计算机毕设匠心工作室 🍊简介:毕业后就一直专业从事计算机软件程序开发,至今也有8年工作经验。擅长Java、Python、微信小程序、安卓、大数据、PHP、.NET|C#、Golang等。 擅长:按照需求定制化开发项目、 源码、对代码进行完整讲解、文档撰写、ppt制作。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~ Java实战项目