当前位置: 首页 > news >正文

5.OsgEarth加载地形

愿你出走半生,归来仍是少年!

        在三维场景中除了使用影像体现出地貌情况,还需要通过地形体现出地势起伏,还原一个相对真实的三维虚拟世界。

        osgEarth可通过直接加载Dem数据进行场景内的地形构建。

1.数据准备

        由于我也没有高程数据,所以在地理空间数据源中下载。

地理空间数据云 (gscloud.cn)

登录后选择
数据下载

         数据下载后可通过ArcMap或者QGis将其转换为Wgs84的Tif格式数据。

2.代码

        通过OsgEarth的GDALElevationLayer类构建地形图层并进行加载完成地形的构建。

/// <summary>
/// 通过本地的tif(dem)数据创建地形图层
/// </summary>
/// <param name="fileFullName"></param>
/// <returns></returns>
osgEarth::GDALElevationLayer* Cv::LayerFactory::CreateTerrainLayer(std::string fileFullName)
{osgEarth::GDALElevationLayer* ly = new osgEarth::GDALElevationLayer();ly->setURL(fileFullName);int pos = fileFullName.find_last_of('\\', fileFullName.length());auto name = fileFullName.substr(pos);ly->setName(name);return ly;
}

3.效果

大场景下明显的地形隆起(正方形范围)
边缘处抬起的地形
近处的地形起伏

相关文章:

5.OsgEarth加载地形

愿你出走半生,归来仍是少年&#xff01; 在三维场景中除了使用影像体现出地貌情况&#xff0c;还需要通过地形体现出地势起伏&#xff0c;还原一个相对真实的三维虚拟世界。 osgEarth可通过直接加载Dem数据进行场景内的地形构建。 1.数据准备 由于我也没有高程数据&#xff0c…...

基于回溯搜索算法的无人机航迹规划-附代码

基于回溯搜索算法的无人机航迹规划 文章目录 基于回溯搜索算法的无人机航迹规划1.回溯搜索搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用回溯搜索算法来优化无人机航迹规划。 …...

微信小程序云开发笔记-初始化商城小程序

缘起&#xff1a;由于痴迷机器人&#xff0c;店都快倒闭了&#xff0c;没办法&#xff0c;拿出点精力给店里搞个小程序&#xff0c;要多卖货才能活下来搞机器人&#xff0c;在此记录一下搞小程序的过程&#xff0c;要不然搞完又忘了。腾讯的云开发&#xff0c;前端和后端都有了…...

vulnhub_DeRPnStiNK靶机渗透测试

VulnHub2018_DeRPnStiNK靶机 https://www.vulnhub.com/entry/derpnstink-1,221/ flag1(52E37291AEDF6A46D7D0BB8A6312F4F9F1AA4975C248C3F0E008CBA09D6E9166) flag2(a7d355b26bda6bf1196ccffead0b2cf2b81f0a9de5b4876b44407f1dc07e51e6) flag4(49dca65f362fee401292ed7ada96f9…...

网站如何判断请求是来自手机-移动端还是PC-电脑端?如何让网站能适应不同的客户端?

如果网站需要实现手机和PC双界面适应&#xff0c;可以有两种方式&#xff1a; 第一种是响应式界面&#xff0c;根据屏幕宽度来判定显示的格式。这种需要前端来做&#xff0c;手机/PC共用一套代码&#xff0c;有一定的局限性。 第二种是后端通过request请求头中的内容来分析客户…...

sass和 scss的区别?

Sass&#xff08;Syntactically Awesome Style Sheets&#xff09;和 SCSS&#xff08;Sassy CSS&#xff09;是两种流行的 CSS 预处理器&#xff0c;它们扩展了普通的 CSS 语法&#xff0c;提供了更多的功能和便利性。下面是 Sass 和 SCSS 的主要区别&#xff1a; 1&#xff…...

Vuex 动态模块状态管理器

模块化思想 我们之前的博文已经讲述了Vuex怎么使用命名空间实现模块化状态管理。详情可以看&#xff1a; Vuex命名空间及如何获取根模块、兄弟模块状态管理器_AI3D_WebEngineer的博客-CSDN博客https://blog.csdn.net/weixin_42274805/article/details/133269196?ops_request_…...

实现分片上传、断点续传、秒传 (JS+NodeJS)(TypeScript)

一、引入及效果 上传文件是一个很常见的操作&#xff0c;但是当文件很大时&#xff0c;上传花费的时间会非常长&#xff0c;上传的操作就会具有不确定性&#xff0c;如果不小心连接断开&#xff0c;那么文件就需要重新上传&#xff0c;导致浪费时间和网络资源。 所以&#xff0…...

浅谈安科瑞EMS能源管控平台建设的意义-安科瑞 蒋静

摘 要&#xff1a;能源消耗量大、能源运输供给不足、环境压力日趋增加、能耗双控等一系列问题一直困扰着钢铁冶金行业&#xff0c;制约着企业快速稳定健康发展。本文介绍的安科瑞EMS能源管控平台&#xff0c;采用自动化、信息化技术&#xff0c;实现从能源数据采集、过程监控、…...

【原创】指针变量作为函数参数要点注意+main函数中值是否改变

指针变量作为函数参数要点注意&#xff08;已写至笔记&#xff09; 1传参指针不加*&#xff08;main中函数&#xff09; 2收参指针要加*&#xff08;被main调用的函数&#xff09; 3传参指针名可与收参指针名不同&#xff0c;不影响 4【问】如何看主函数中指针所指内容是否改变…...

售后处置跟踪系统设想

售后处置跟踪系统设想 前言 随着汽车工业的发展&#xff0c;软件定义车的模式已成为主流汽车设计及智能化功能架构模式&#xff0c;通过引入SOA的软件架构设计&#xff0c;使得现有的座舱软件、云端服务软件、App软件等众多功能模块的版本迭代频次日新月异&#xff0c;发版更…...

python实现ModBusTCP协议的server

python实现ModBusTCP协议的server是一件简单的事情&#xff0c;只要通过pymodbus、pyModbusTCP等模块都可以实现&#xff0c;本文采用pymodbus。 相关文章见&#xff1a; python实现ModBusTCP协议的client-CSDN博客 一、了解pymodbus的Server 1、pymodbus.server的模块 pym…...

AndroidStudio编译错误‘android.injected.build.density‘ is deprecated

问题 AndroidStudio编译错误 The option ‘android.injected.build.density’ is deprecated. It was removed in version 8.0 of the Android Gradle plugin. Density property injection from Android Studio has been removed. 解决 app/build.gradle 中这行 apply plugi…...

计网小题题库整理第一轮(面向期末基础)(3)

基础选择题的最后一章更新&#xff0c;看完期末75至少没问题~ 前情提要&#xff1a; 计网小题题库整理第一轮&#xff08;12期&#xff09; 一.选择题 1、 目前,最流行的以太网组网的拓扑结构是&#xff08; C &#xff09;。 A&#xff09; 总线结构 B&#xff09; 环…...

进程控制(一):进程终止

文章目录 进程控制&#xff08;一&#xff09;进程终止运行正常退出码 运行异常进程正常/异常总结 进程控制&#xff08;一&#xff09; 在前文中&#xff0c;我们初步了解了进程的概念&#xff0c;以及通过fork函数来创建子进程&#xff0c;并对于为什么运行一个程序&#xf…...

特殊类设计[下] --- 单例模式

文章目录 5.只能创建一个对象的类5.1设计模式[2.5 万字详解&#xff1a;23 种设计模式](https://zhuanlan.zhihu.com/p/433152245)5.2单例模式1.饿汉模式1.懒汉模式 6.饿汉模式7.懒汉模式7.1饿汉模式优缺点:7.2懒汉模式1.线程安全问题2.单例对象的析构问题 8.整体代码9.C11后可…...

计算机网络-应用层(1)

一、DNS 域名系统 (DNS) 是把主机域名解析为IP地址的系统。该系统是由解析器和域名服务器组成的。采用UDP 协议&#xff0c;较少情况下使用TCP 协议&#xff0c;端口号均为53。 域名系统由三部分构成&#xff1a; DNS 名字空间、域名服务器、 DNS客户机。 (1)根域&#xff1a…...

Kotlin基础——枚举、When、in、for

枚举 声明只有值的枚举 enum class Color {RED, GREEN, BLUE }此外还可以增加属性和方法&#xff0c;如果需要在枚举类中定义方法&#xff0c;要使用分号把枚举常量列表和方法定义分开&#xff0c;这也是Kotlin唯一必须使用分号的地方 enum class Color(val r: Int, val g: …...

C++编程题目------平面上的最接近点对(分治算法)

题目描述 给定平面上n个点&#xff0c;找出其中的一对点的距离&#xff0c;使得在这n个点的所有点对中&#xff0c;该距离为所有点对中最小的。 输入格式 第一行一个整数 n&#xff0c;表示点的个数。 接下来 n 行&#xff0c;每行两个实数 x,y &#xff0c;表示一个点的行…...

Linux下的文件操作和文件管理

文章目录 应用编程文件操作文件描述符open函数write函数read函数close函数lseek函数文件操作例子 文件管理文件基本知识文件类型文件共享空洞文件错误处理退出程序原子操作fcntl和ioctl截断文件stat函数软链接和硬链接 应用编程 系统调用(system call)是Linux内核提供给应用层…...

5分钟搞定OpenClaw+百川2-13B:WebUI v1.0极简配置指南

5分钟搞定OpenClaw百川2-13B&#xff1a;WebUI v1.0极简配置指南 1. 为什么选择这个组合&#xff1f; 上周我在调试一个本地自动化助手时&#xff0c;发现OpenClaw默认对接的云端模型响应速度不稳定&#xff0c;于是决定尝试本地部署百川2-13B量化版。这个组合带来的最直接好…...

OpenClaw日志分析技巧:千问3.5-9B辅助故障定位

OpenClaw日志分析技巧&#xff1a;千问3.5-9B辅助故障定位 1. 为什么需要AI辅助日志分析&#xff1f; 上周排查一个OpenClaw任务失败的问题时&#xff0c;我盯着3MB的日志文件看了整整两小时。那些重复的报错堆栈和模糊的警告信息像迷宫一样——直到我意识到&#xff1a;与其…...

如何提高SEO关键词优化推广的转化率

如何提高SEO关键词优化推广的转化率 在当今数字化时代&#xff0c;搜索引擎优化&#xff08;SEO&#xff09;已经成为企业在网络上获得曝光和流量的关键手段。在SEO中&#xff0c;关键词优化是提高网站排名的核心环节。单纯依靠关键词优化&#xff0c;并不能保证高转化率。如何…...

15K Star 爆火!用大厂 PUA 话术逼 AI 干活,Claude 效率翻倍的黑色幽默工具

用大厂 PUA 话术逼 AI 干活&#xff1a;一个 15K Star 的黑色幽默项目如何让 Claude 效率翻倍 最近 GitHub 上火了个名字叫"PUA"的开源项目&#xff0c;短短几周从 0 到 15K Stars&#xff0c;还被各大科技媒体争相报道。 看名字的时候我以为又是哪位网友的整活之作…...

在AutoDL云平台高效部署YOLO训练:从零到一的实战避坑指南

1. 为什么选择AutoDL跑YOLO训练&#xff1f; 第一次接触YOLO目标检测项目时&#xff0c;我像大多数开发者一样被本地显卡性能劝退。直到发现AutoDL这个云GPU平台&#xff0c;才真正体会到什么叫"用多少付多少"的灵活。相比动辄上万的游戏显卡&#xff0c;AutoDL上每小…...

OpenClaw多模型切换:Qwen2.5-VL-7B与文本模型协同工作

OpenClaw多模型切换&#xff1a;Qwen2.5-VL-7B与文本模型协同工作 1. 为什么需要多模型协同 去年夏天&#xff0c;当我第一次尝试用OpenClaw自动化处理团队的知识库文档时&#xff0c;遇到了一个棘手的问题&#xff1a;有些文档包含大量截图和图表说明&#xff0c;而纯文本模…...

前端必懂:开发环境、构建打包的核心差异,新手再也不踩坑

前端必懂&#xff1a;开发环境、构建打包的核心差异&#xff0c;新手再也不踩坑 文章目录前端必懂&#xff1a;开发环境、构建打包的核心差异&#xff0c;新手再也不踩坑一、先一句话打通核心逻辑&#xff08;新手必记&#xff09;二、开发环境&#xff1a;怎么舒服怎么写&…...

UG NX 合并曲面减少面得数量

“同步建模”里的“优化面” 确实是处理这类问题最直接、最高效的命令。对于客户发来的非参数化模型&#xff08;比如 STP、IGS 等&#xff09;&#xff0c;中间有碎线或分割线导致的“假面”&#xff0c;用它来合并非常合适。核心操作&#xff1a;使用“优化面”命令 启动命令…...

C语言完美演绎7-1

/* 范例&#xff1a;7-1 */#include<stdio.h>void main(){int MyArray1[]{1,2,3,4,5}; /* 同MyArray[5]{1,2,3,4,5}; */int MyArray2[5]{1,2,3}; /* 元素值少于五个时&#xff0c;数组的初始化会把不足的数组元素以0取代 */for(int i0;i<5;i)printf("MyArray…...

Cobalt Strike实战指南:从基础配置到高级渗透技巧

1. Cobalt Strike基础入门 第一次接触Cobalt Strike时&#xff0c;我被它强大的功能震撼到了。这款工具不仅能够模拟高级威胁攻击&#xff0c;还能进行红队协作操作&#xff0c;是渗透测试领域的瑞士军刀。记得刚开始搭建环境时&#xff0c;我在Kali和Windows双系统间反复切换&…...