已解决
5.OsgEarth加载地形
来自网友在路上 156856提问 提问时间:2023-10-28 15:44:05阅读次数: 56
最佳答案 问答题库568位专家为你答疑解惑
愿你出走半生,归来仍是少年!
在三维场景中除了使用影像体现出地貌情况,还需要通过地形体现出地势起伏,还原一个相对真实的三维虚拟世界。
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.效果



查看全文
99%的人还看了
相似问题
猜你感兴趣
版权申明
本文"5.OsgEarth加载地形":http://eshow365.cn/6-26911-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!
- 上一篇: 【Python机器学习】零基础掌握text图像提取
- 下一篇: C#8.0本质论第十章--合式类型