当前位置: 首页 > 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.效果

大场景下明显的地形隆起(正方形范围)
边缘处抬起的地形
近处的地形起伏
http://www.lryc.cn/news/209261.html

相关文章:

  • 基于回溯搜索算法的无人机航迹规划-附代码
  • 微信小程序云开发笔记-初始化商城小程序
  • vulnhub_DeRPnStiNK靶机渗透测试
  • 网站如何判断请求是来自手机-移动端还是PC-电脑端?如何让网站能适应不同的客户端?
  • sass和 scss的区别?
  • Vuex 动态模块状态管理器
  • 实现分片上传、断点续传、秒传 (JS+NodeJS)(TypeScript)
  • 浅谈安科瑞EMS能源管控平台建设的意义-安科瑞 蒋静
  • 【原创】指针变量作为函数参数要点注意+main函数中值是否改变
  • 售后处置跟踪系统设想
  • python实现ModBusTCP协议的server
  • AndroidStudio编译错误‘android.injected.build.density‘ is deprecated
  • 计网小题题库整理第一轮(面向期末基础)(3)
  • 进程控制(一):进程终止
  • 特殊类设计[下] --- 单例模式
  • 计算机网络-应用层(1)
  • Kotlin基础——枚举、When、in、for
  • C++编程题目------平面上的最接近点对(分治算法)
  • Linux下的文件操作和文件管理
  • 设计模式之桥梁模式
  • “从部署到优化,打造高效会议管理系统“
  • Facebook广告效果数据获取
  • nlp之文本转向量
  • 【luckfox】添加压力传感器hx711
  • C++11的lambda表达式
  • 矩阵特征值与特征向量的理解
  • 云原生安全:如何保护云上应用不受攻击
  • 如何在用pip配置文件设置HTTP爬虫IP
  • 2023MathorCup高校数模挑战赛B题完整解题代码教程
  • 《动手学深度学习 Pytorch版》 10.7 Transformer