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

前言

地理信息系统(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)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

正在载入qrc文件 指定的qrc文件无法找到。您想更新这个文件的位置么?

打开Qt的ui文件&#xff0c;弹出提示框 如果需要用到qrc文件&#xff0c;选择Yes&#xff0c;再选择qrc文件所在的位置&#xff1b;如果不需要qrc文件&#xff0c;可以选择No&#xff0c;然后用普通文本编辑器打开&#xff0c;将“ <resources> <include location&q…

经典面试题---环形链表

1. 环形链表1. - 力扣&#xff08;LeetCode&#xff09; 要解决这道题&#xff0c;我们首先要挖掘出带环的链表与不带环的链表之间的差别。 以此&#xff0c;才能设计出算法来体现这种差别并判断。 二者最突出的不同&#xff0c;就是不带环的链表有尾结点&#xff0c;也就是说…

Golang | Leetcode Golang题解之第71题简化路径

题目&#xff1a; 题解&#xff1a; func simplifyPath(path string) string {stack : []string{}for _, name : range strings.Split(path, "/") {if name ".." {if len(stack) > 0 {stack stack[:len(stack)-1]}} else if name ! "" &am…

Android 系统启动流程源码分析

一、Init进程启动 是一个由内核启动的用户级进程。内核自行启动之后&#xff0c;就通过启动一个用户级程序init的方式&#xff0c;完成引导进程。 启动的代码init.c中的main函数执行过程&#xff1a;system\core\init.c中&#xff1a; 主要下面两个重要的过程&#xff1a; 1…

泰克示波器如何存储CSV文件?

泰克示波器可以用于各种信号的测量和分析。在实际测试中&#xff0c;我们经常需要将示波器采集到的波形数据保存下来&#xff0c;以便后续的处理和分析。泰克示波器提供了多种方法来存储波形数据&#xff0c;其中一种常用的方式是将数据保存为CSV文件。下面将介绍泰克示波器如何…

VINS预积分与误差模型

文章目录 IMU的测量值误差模型IMU预积分真实模型IMU预积分估计模型误差模型普通增量积分中值积分法 参考文献 IMU的测量值误差模型 IMU的测量值误差模型&#xff1a; a ^ t a t R w t g w b a t n a t ω ^ t ω t b ω t n ω t \begin{array}{} {{{\hat a}_t} {a_t…

成功案例(IF=7.3)| 转录组+蛋白质组+代谢组联合分析分析揭示胰腺癌中TAM2相关的糖酵解和丙酮酸代谢重构

研究背景 肿瘤的进展和发展需要癌细胞的代谢重编程&#xff0c;癌细胞能量代谢模式的改变可以满足快速增殖和适应肿瘤微环境的需要。肿瘤微环境&#xff08;TME&#xff09;中的代谢状态受到多种因素的影响&#xff0c;包括血管生成、与其他细胞的相互作用和系统代谢。代谢异质…

Python中批量提取[]括号内第一个元素的四种方法

目录 一、引言 二、方法介绍 使用正则表达式&#xff08;Regular Expression&#xff09; 使用字符串分割&#xff08;String Split&#xff09; 使用ast模块解析字符串为列表 使用JSON模块解析字符串 三、方法比较与选择 四、总结 一、引言 在Python数据处理过程中&a…

探索1688、淘宝、京东搜索商品聚合API接口:一站式电商搜索解决方案

随着电商行业的不断发展&#xff0c;电商平台的数量和商品种类都在快速增长。商家和开发者在运营过程中&#xff0c;需要经常进行跨平台的商品搜索和数据分析。然而&#xff0c;由于各个电商平台的数据接口存在差异&#xff0c;直接对接多个平台不仅效率低下&#xff0c;而且维…

仓库管理员如何入门?仓库管理六大步骤教会你!

新手菜鸟入行&#xff0c;如何做好一个仓库管理员&#xff1f;仓库运营对于许多行业至关重要&#xff0c;例如制造、零售和物流。它们涉及高效、安全地接收、仓储、拣选、包装和运输货物。 跟着这6个步骤做&#xff0c;最慢一个月&#xff0c;最快一周&#xff0c;就能轻松做好…

42.乐理基础-拍号-看懂拍号的意义

到这必然是已经知道 X、Y的意思了&#xff1a; 然后带入数字&#xff1a; 然后念拍号的时候&#xff0c;在国内&#xff0c;百分之九十的地方是从下往上念&#xff0c;念作四二拍&#xff0c;还有百分之十的地方是和国外一样&#xff0c;从上往下念&#xff0c;念作二四拍&…

GPS与精致农业 无人机应用 农业遥感 农业类

全球定位系统是美国国防部主要为满足军事部门对海上、陆地和空中设施进行高精度导航和定位的要求而建立的。GPS系统最基本的特点是以“多星、高轨、高频、测量-测距”为体制&#xff0c;以高精度的原子钟为核心。GPS作为新一代卫星导航与定位系统&#xff0c;不仅具有全球性、全…

大模型外推能力

一、目录 定义如何提高模型的外推能力&#xff1f;分类测评方法各技术点&#xff0c;以及应用模型&#xff0c;优缺点支持模型长上下文的方案「NTK-aware interpolation」的思路是什么&#xff1f;LLM长度外推方案NTK-by-parts的思路是什么&#xff1f;LLM长度外推方案YaRN是怎…

普通组件的注册-局部注册和全局注册

目录 一、局部注册和全局注册-概述 二、局部注册的使用示例 三、全局注册的使用示例 一、局部注册和全局注册-概述 组件注册有两种方式&#xff1a; 局部注册&#xff1a;只能在注册的组件内使用。使用方法&#xff1a;创建.vue文件&#xff0c;在使用的组件内导入并注册。…

编程语言QT、C++、C#、Matlab、SQL Server开发日志总结

目录 引言 正文 1、Qt连接SQL server数据库 2、C#使用chart绘制实时折线图&#xff0c;波形 3、ORACLEXE数据库 4、QT通过ODBC驱动连接Oracle数据库 5、Microsoft SQL Server 2014 安装图解 6、SQL Server 2014应用 7、C/C​​​​​​​ 8、QT…

vue2后台管理项目

一:项目准备 1)拉取模板代码 远程仓库复制到本地仓库. 2)安装后的项目 路径 code 文件夹 会打开vscode的文件夹. 3)安装vetur和eslint插件可以保存时自动修改不规范的地方. 4)App内有一级路由,路由组件导入如果是layout架子,会导入的是文件夹下的index.js没有则导入index.v…

深度学习实战76-基于目标检测YOLOv5模型的迁移学习使用方法,YOLOv5的原理与结构

大家好,我是微学AI,今天给大家介绍一下深度学习实战76-基于目标检测YOLOv5模型的迁移学习使用方法,YOLOv5的原理与结构。YOLOv5(You Only Look Once version 5)是一种先进的目标检测算法,基于深度学习的单阶段目标检测模型。它的主要原理是通过一次前向传播就同时预测图像…

【Python】字典题

题目&#xff1a;输入一段文本&#xff0c;统计每个字符的个数 in_inputinput(“输入&#xff1a;”) dic{} for char in in_input: if char in dic: dic[char]1 # 字典添加键值对的方法&#xff0c;给字典给键和值的方法 else: dic[char]1 print(dic) for key,value in dic.i…

6、随机森林(Random forests)

Random forests started a revolution in machine learning 20 years ago. For the first time, there was a fast and reliable algorithm which made almost no assumptions about the form of the data, and required almost no preprocessing. In today’s lesson, you’ll…

Apache SeaTunnel 正式发布2.3.5版本,功能增强及多个Bug修复

经过两个月的筹备&#xff0c;我们在2.3.4版本基础上进行了新一轮的迭代&#xff0c;本次更新不仅修复了多个关键问题&#xff0c;还引入了若干重要功能增强和性能优化。 在此&#xff0c;我们先提前感谢社区成员的贡献和支持&#xff0c;如果你想升级最新的版本&#xff0c;快…