【小沐学GIS】基于C++绘制三维数字地球Earth(osgEarth、三维瓦片地球)第十期
🍺三维数字地球GIS系列相关文章(C++)如下🍺: | |
---|---|
1 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut)第一期 |
2 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut)第二期 |
3 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、glfw、glut)第三期 |
4 | 【小沐学GIS】基于C++绘制三维数字地球Earth(QT、OpenGL)第四期 |
5 | 【小沐学GIS】基于C++绘制三维数字地球Earth(QT、OpenGL、Satellite、卫星轨道模拟)第五期 |
6 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenG、SolarSystem、太阳系模拟)第六期 |
7 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、OpenSceneGraph / OSG)第七期 |
8 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、二维瓦片地图)第八期 |
9 | 【小沐学GIS】基于C++绘制三维数字地球Earth(OpenGL、三维瓦片地球)第九期 |
10 | 【小沐学GIS】基于C++绘制三维数字地球Earth(osgEarth、三维瓦片地球)第十期 |
🍺三维数字地球GIS系列相关文章(其他语言)如下🍺: | |
---|---|
1 | 【小沐学GIS】基于C#绘制三维数字地球Earth(C#、OpenGL) |
2 | 【小沐学GIS】基于Python绘制三维数字地球Earth(Python、OpenGL) |
3 | 【小沐学GIS】基于Android绘制三维数字地球Earth(Android、OpenGL) |
4 | 【小沐学GIS】基于Golang绘制三维数字地球Earth(Go、OpenGL) |
5 | 【小沐学GIS】基于Rust绘制三维数字地球Earth(Rust、OpenGL) |
6 | 【小沐学GIS】基于Lua绘制三维数字地球Earth(Lua、OpenGL) |
7 | 【小沐学GIS】基于Java绘制三维数字地球Earth(Java、OpenGL) |
8 | 【小沐学GIS】基于Unity3d绘制三维数字地球Earth(Unity3d、OpenGL) |
9 | 【小沐学GIS】基于Vulkan绘制三维数字地球Earth(Vulkan) |
10 | 【小沐学GIS】基于Godot绘制三维数字地球Earth(Godot) |
11 | 【小沐学GIS】基于VTK绘制三维数字地球Earth(VTK) |
🍺三维数字地球WebGIS系列相关文章如下🍺: | |
---|---|
1 | 【小沐学WebGIS】基于WebGL绘制三维数字地球Earth(WebGL、Javascript、Html) |
2 | 【小沐学WebGIS】基于Three.JS绘制三维数字地球Earth(WebGL、vue、react) |
3 | 【小沐学WebGIS】基于Three.JS绘制三维太阳系Solar System(three.js、WebGL)第一期 |
4 | 【小沐学WebGIS】基于Three.JS绘制三维太阳系Solar System(three.js、WebGL)第二期 |
5 | 【小沐学WebGIS】基于Three.JS绘制卫星模拟Satellite(three.js、vue、react、卫星) |
6 | 【小沐学WebGIS】基于Cesium.JS绘制卫星轨迹Satellite(Cesium、vue、react、卫星) |
7 | 【小沐学WebGIS】基于Babylon.JS绘制三维数字地球Earth(Babylon.JS、vue、react) |
🍺Three.JS系列相关文章如下🍺: | |
---|---|
1 | 【小沐杂货铺】基于Three.JS构建IFC模型浏览器(WebGL、CAD、Revit、IFC) |
2 | 【小沐杂货铺】基于Three.JS绘制汽车展示Car(WebGL、vue、react、autoshow)第1期 |
3 | 【小沐杂货铺】基于Three.JS绘制汽车展示Car(WebGL、vue、react、autoshow)第2期 |
文章目录
- 1、简介
- 1.1 osgEarth简介
- 1.2 osgEarth下载
- 1.3 三维地球实现
- 1.4 入门代码
- 2、代码测试
- 2.1 代码1
- 结语
1、简介
1.1 osgEarth简介
https://github.com/gwaldron/osgearth
osgEarth是基于三维引擎osg开发的三维数字地球引擎库,在osg基础上实现了瓦片调度插件,可选的四叉树调度插件,更多的地理数据加载插件(包括GDAL,ogr,WMS,TMS,VPB,filesystem等),再结合一套地理投影转换插件,这样就能够实现高效处理加载调度地理数据在三维地球上的显示,实现三维虚拟地球。
1.2 osgEarth下载
https://docs.osgearth.org/en/latest/
使用以下命令在 Windows 上手动安装 osgEarth:
vcpkg install osgearth:x64-windows
1.3 三维地球实现
1.4 入门代码
CMakeLists.txt:
cmake_minimum_required(VERSION 3.20)
project(myApp)
find_package(osgEarth CONFIG REQUIRED)
add_executable(myApp main.cpp)
target_link_libraries(myApp PRIVATE osgEarth::osgEarth)
install(TARGETS myApp RUNTIME DESTINATION bin)
main.cpp:
#include <osgEarth/MapNode>
#include <osgEarth/TMS>
#include <osgEarth/EarthManipulator>
#include <osg/ArgumentParser>
#include <osgViewer/Viewer>int main(int argc, char** argv)
{osgEarth::initialize();osg::ArgumentParser args(&argc, argv);osgViewer::Viewer viewer(args);auto imagery = new osgEarth::TMSImageLayer();imagery->setURL("https://readymap.org/readymap/tiles/1.0.0/7/");auto mapNode = new osgEarth::MapNode();mapNode->getMap()->addLayer(imagery);viewer.setSceneData(mapNode);viewer.setCameraManipulator(new osgEarth::EarthManipulator(args));return viewer.run();
}
2、代码测试
2.1 代码1
代码编号:G1_1_OsgEarth_3dEarth_viewer
结语
如果您觉得该方法或代码有一点点用处,可以给作者点个赞,或打赏杯咖啡;
╮( ̄▽ ̄)╭
如果您感觉方法或代码不咋地//(ㄒoㄒ)//,就在评论处留言,作者继续改进;
o_O???
如果您需要相关功能的代码定制化开发,可以留言私信作者;
(✿◡‿◡)
感谢各位大佬童鞋们的支持!
( ´ ▽´ )ノ ( ´ ▽´)っ!!!
如需源代码,请加文章末尾的QQ!