分享三维地理模型制作实践

news2024/10/7 20:29:53

前言

地理信息系统(GIS)是一种用于捕获、存储、检查和显示与地球表面位置相关的数据的计算机系统。GIS可以在一张地图上显示许多不同类型的数据,如街道、建筑物和植被。这使人们能够更容易地看到、分析和理解模式和关系。

实践

从地理空间数据云平台下载影像数据

下载后找到GRANULE下面的IMG_DATA,R10m、R20m、R60m三种分辨率的jp2影像数据

将影像数据依次按栅格图层导入到QGIS

从github下载插件

OpenTopography-DEM-Downloader-qgis-plugin

OpenTopography-DEM-Downloader-qgis-plugin-main.zip

从QGIS的插件plugins 》管理Manage and Install Plugins,

从压缩文件安装 Install from ZIP

官方操作手册

29.1. QGIS Plugins — QGIS Documentation documentation

安装成功后可以在工具箱里查看OpenTopography DEM

该工具将从OpenTopography

Getting Started | OpenTopography

下载用户定义的范围的DEM,DEM(Digital Elevation Model)是一种数字高程模型,它通过有序数值阵列的形式来表示地面高程。DEM数据能够反映一定分辨率的局部地形特征,因此可以提取大量的地表形态信息,如绘制等高线、高程图、坡度图、坡向图、水系图、立体透视图等。这些数据广泛应用于测绘、水文、气象、地貌、地质、土壤、工程建设、通讯、军事等领域。在工程建设中,DEM可用于土方量计算、通视分析等;在防洪减灾方面,DEM是进行水文分析的基础;在无线通讯领域,它可以用于蜂窝电话基站分析等。若想获取DEM高程数据,可以访问“地理空间数据云”网站,注册并登录后,选择想要下载的位置和数据集精度(如30m或90m),然后下载并解压文件,使用相关软件(如ArcGIS,QGIS)进行数据处理和分析。

可加载的DEM:SRTM 90、SRTM 30m、ALOS World 3D 30、SRTM GL1椭圆30m、全球水深测量SRTM15+V2.1、哥白尼全球DSM 30、哥白尼全球DSM 90m、NASADEM全球DEM、欧盟DTM、GEDI L3 1KM。

截至2022年1月,所有DEMs都需要API密钥。阅读 https://opentopography.org/blog/introducing-api-keys-access-opentopography-global-datasets 如何获取API Key。


:https://github.com/knwin/OpenTopography-DEM-Downloader-qgis-plugin

打开设置并填入上一步获取的API Key

使用QGIS加载10m的jp2影像栅格数据

加载之后的单波段和多波段图层分组查看

插件返回的信息

QGIS version: 3.36.2-Maidenhead
QGIS code revision: 6d250527
Qt version: 5.15.13
Python version: 3.12.3
GDAL version: 3.8.5
GEOS version: 3.12.1-CAPI-1.18.1
PROJ version: Rel. 9.4.0, March 1st, 2024
PDAL version: 2.6.3 (git-version: 816ce1)
Algorithm started at: 2024-05-07T14:27:31
Algorithm 'OpenTopography DEM Downloader' starting…
Input parameters:
{ 'API_key' : 'apicode', 'DEMs' : 1, 'Extent' : '568488.682600000,739829.290600000,3185340.152000000,3304248.661400000 [EPSG:32648]', 'OUTPUT' : 'TEMPORARY_OUTPUT' }

104 KB downloaded
......
30.16 MB downloaded
Successfully downloaded https://portal.opentopography.org/API/globaldem?demtype=SRTMGL1&south=28.77325299695419&north=29.866905782409845&west=105.70177182932186&east=107.48239314268774&outputFormat=GTiff&API_Key=apicode
Results: {'OUTPUT': 'C:/Users/admin/AppData/Local/Temp/processing_AhnUzo/ab8e2ce5054440feaba480159773d795/OUTPUT.tif'}
Results: {'OUTPUT': 'OUTPUT_2ad7f806_0a0e_485b_a48e_0069c28c54f9'}
Execution completed in 162.53 seconds (2 minutes 43 seconds)
Results:
  OUTPUT: C:/Users/admin/AppData/Local/Temp/processing_AhnUzo/ab8e2ce5054440feaba480159773d795/OUTPUT.tif

Loading resulting layers
Algorithm 'OpenTopography DEM Downloader' finished

QGIS中查看高程数据,导出高程DEM数据文件为tif格式

打开Blender设计软件,添加平面

添加刚获取的DEM高程数据tif文件到新增加的blender材质

平面添加修改器,变形类别下的错置,

然后选中刚添加的材质

平面没有什么变化

接下来按Tab键切换到模型编辑模式,

将平面细分

参数设定为100

再按Tab键切换为物体模式,平面有了凹凸的效果

调整修改器的力量参数

再次按Tab键切换到编辑模式,选中平面,继续细分10

第二次细分不可设置太大,容易导致Blender崩溃,再次按Tab切换物体模式

微调修改器中的力量

打开着色器编辑器

添加影像纹理

回到QGIS导出全波段彩色影像数据tif格式

添加影像材质

连接着色器后返回三维视图

使用新材质后的平面

添加立方体到平面下面

调整立方体位置和尺寸比例

导出为glb模型,注意勾选套用修改器

查看3D模型的效果

发现河流并没有和高程模型对应,该问题交给各位感兴趣的看官。

参见:

Discover QGIS

blender.org - Home of the Blender project - Free and Open 3D Creation Software

Home | OpenTopography

什么是 GIS? | 地理信息系统制图技术

什么是地理信息系统(GIS)?| IBM

GIS | Mapping, Analysis & Applications | Britannica

GIS (Geographic Information System)

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

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

相关文章

SinoDB数据库的RAW TABLE

RAW表是不记录日志的永久表,类似于无日志模式数据库中的表。对于RAW表,支持对其进行更新、插入和删除操作,但日志是不会记录这些操作。可以在RAW表上定义索引,但不能在RAW表上定义唯一约束、主键约束或引用约束(refere…

艺术的新领域——探索元宇宙艺术展带来的沉浸式艺术体验

在数字化的浪潮中,元宇宙艺术展成为了一种全新的展览形式,它通过虚拟现实、3D建模技术和互动平台,将传统艺术与现代科技巧妙结合,提供了一种前所未有的艺术欣赏方式。此类展览不仅展示了艺术作品的新颖呈现,还为参观者…

在数字化转型的浪潮中,CBDB百数服务商如何破浪前行?

在信息化时代,传统咨询企业面临着数字化转型的挑战与机遇。如何利用数字化技术提升业务效率、增强客户黏性,成为了行业关注的焦点。云南析比迪彼企业管理有限公司(CBDB)作为云南地区的企业咨询服务提供商,率先与百数展…

卷价格不如卷工艺降本增效狠抓模块规范化设计

俗话说,“卷价格不如卷工艺”,这意味着在追求成本控制和效率提升的过程中,蓝鹏的领导认为蓝鹏应该更注重工艺的优化和创新,而不仅仅是价格的竞争。而模块规范化设计正是实现这一目标的有效途径。 模块规范化设计可以提高生产效率…

java代码运行“找不到符号”报错解决?

查看maven配置&#xff0c;没有问题&#xff1a; 查看pom依赖配置&#xff0c;发现少了spring-boot依赖项&#xff1a; 原pom: <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:…

【超好用的前端表单辅助功能】

前端表单辅助功能 1. 根据模块自动生成目录锚点定位2. 描点定位动态组件3. 隔离组件&#xff0c;组件内部实现校验逻辑&#xff0c;交给提交按钮统一处理4. 选择不同的类型需要重组不同的模块展示&#xff0c;并整合数据传给后端 最近做了一个复杂的表单&#xff0c;涉及到的技…

链表成环或多分枝问题

问题概述 这类问题主要和数论结合到一起。 这类问题主要的解决技巧就是画图&#xff0c;跟着图来写代码&#xff0c;不然代码5分钟&#xff0c;调试2小时。 因为每个节点可以指向下一个节点&#xff0c;那么两个节点就可以指向同一个节点&#xff1b;或者链表的末尾节点指向…

SIC知识(9)--长晶炉的技术难点

长晶炉是碳化硅晶体生长的核心设备&#xff0c;与传统晶硅级长晶炉有相同性&#xff0c;炉子结构不是非常复杂&#xff0c;主要由炉体、加热系统、线圈传动机构、真空获得及测量系统、气路系统、降温系统、控制系统等组成&#xff0c;其中的热场和工艺条件决定了碳化硅晶体的质…

多微信管理不过来?你需要一个微信神器

很多企业都在面临以下几个问题&#xff1a; 1、希望进行微信营销转型&#xff0c;但是不知道如何入手&#xff1b; 2、拥有多个微信号&#xff0c;但不想拿着多台手机&#xff0c;希望能够集中管理所有微信号&#xff1b; 3、希望使用app替代传统的营销体系&#xff0c;并确…

【Flutter】App内购支付集成 Google和Apple支付和服务器验证全流程

Flutter支付集成 前言&#xff1a; 以谷歌内购为例&#xff0c;我们需要做的总共为三步 需要在谷歌市场配置商品&#xff0c;设置测试渠道&#xff0c;配置开发者账号&#xff0c;设置对应权限。配置完商品之后&#xff0c;如何在 Flutter 中获取到商品&#xff0c;购买指定…

Leetcode—377. 组合总和 Ⅳ【中等】

2024每日刷题&#xff08;124&#xff09; Leetcode—377. 组合总和 Ⅳ 算法思想 实现代码 class Solution { public:int combinationSum4(vector<int>& nums, int target) {vector<unsigned long long>dp(target 1);dp[0] 1;for(int i 1; i < target;…

软件实施方案Word原件2024(全套软件资料包)

1.概述 2.项目介绍 3.项目实施 4.实施计划 5.人员培训 6.项目验收 7.售后服务 8.项目保障措施 软件资料清单列表部分文档&#xff08;全套可获取&#xff09;&#xff1a; 工作安排任务书&#xff0c;可行性分析报告&#xff0c;立项申请审批表&#xff0c;产品需求规格说明书…

Angular中组件之间的传值

Angular中组件之间的传值 文章目录 Angular中组件之间的传值前言一、父亲向儿子传值二、儿子向父亲传值三、爷爷向孙子传值四、兄弟之间的传值 前言 Angular的组件是构成应用的基础单元&#xff0c;它们封装了HTML模板、TypeScript代码以及CSS样式&#xff0c;以实现特定的功能…

Windows10系统中CANoe字体异常问题解决办法

Windows10系统中CANoe/CANalyzer字体异常问题解决办法 一、问题: 在Windows10中文系统中,CANoe/CANalyzer的一些窗口会显示异常的字体,大部分其他窗口的字体却是正常的? 异常的字体如下: 二、问题说明 CANoe/CANalyzer的开发过程中使用了多种对话框技术。一些对话框使…

Qt——入门基础

目录 Qt入门第一个应用程序 main.cpp widget.h widget.cpp widget.ui .pro Hello World程序 对象树 编辑框 按钮 Qt 窗口坐标系 Qt入门第一个应用程序 main.cpp 这就像一开始学语言时都会打印一个“Hello World”一样&#xff0c;我们先来看看创建好一个项目后&…

互联网十万个为什么之什么是云计算

云计算是一种通过互联网提供计算资源和服务的技术。它允许用户随时随地访问和使用云平台上的数据、软件和硬件资源。在数字化时代&#xff0c;互联网已经成为基础设施。云计算使得数据中心能够像一台计算机一样去工作。通过互联网将算力以按需使用、按量付费的形式提供给用户&a…

[Kubernetes] Rancher 2.7.5 部署 k8s

server: 192.168.66.100 master: 192.168.66.101 node1: 192.16t8.66.102 文章目录 1.rancher server 安装docker2.部署k8s3.kubeconfig 1.rancher server 安装docker 所有主机开通ipv4 vi /etc/sysctl.conf#加入 net.ipv4.ip_forward 1#配置生效 sysctl -prancher-server开…

什么是企业出海?

本文节选自Odoo亚太金牌服务机构【开源智造】所编写的《企业数字化百科大全》如需获取完整的知识内容&#xff0c;请至开源智造官网免费获取。感谢网友一键三连&#xff1a;点赞、转发、收藏&#xff0c;您的支持是我们最大的前进动力&#xff01; 企业出海是什么意思&#xff…

压力测试-JMeter常用插件、服务器硬件监控

1.写在前面 在前一篇文章中&#xff0c;我们已经对jmeter有了一个入门的学习。 掌握了JMeter安装、入门、结果分析等内容&#xff0c;详情可查看这里&#xff1a;压力测试-JMeter安装、入门、结果分析 对于jmeter默认的插件&#xff0c;往往不太够&#xff0c;例如&#xff…

机器学习实践:超市商品购买关联规则分析

第2关&#xff1a;动手实现Apriori算法 任务描述 本关任务&#xff1a;编写 Python 代码实现 Apriori 算法。 相关知识 为了完成本关任务&#xff0c;你需要掌握 Apriori 算法流程。 Apriori 算法流程 Apriori 算法的两个输人参数分别是最小支持度和数据集。该算法首先会生成所…