OsgEarth3.2打开.earth文件绘制数字地球的示例代码
时间: 2024-03-01 10:55:44 浏览: 160
data-earth.rar_earth_数字地球
以下是使用OsgEarth 3.2打开.earth文件并绘制数字地球的示例代码:
```cpp
#include <osgEarth/MapNode>
#include <osgEarthUtil/EarthManipulator>
#include <osgViewer/Viewer>
int main(int argc, char** argv)
{
// 初始化OsgEarth
osg::ArgumentParser arguments(&argc,argv);
osgViewer::Viewer viewer(arguments);
// 加载.earth文件
osg::ref_ptr<osgEarth::MapNode> mapNode = osgEarth::MapNode::readMapNodeFromFile("path/to/your/file.earth");
if (!mapNode)
{
OSG_INFO << "Failed to load map file." << std::endl;
return -1;
}
// 设置视角控制器
osg::ref_ptr<osgEarth::Util::EarthManipulator> manipulator = new osgEarth::Util::EarthManipulator();
manipulator->setMapNode(mapNode);
viewer.setCameraManipulator(manipulator);
// 添加场景图
osg::Group* root = new osg::Group();
root->addChild(mapNode);
viewer.setSceneData(root);
// 运行查看器
return viewer.run();
}
```
这段代码将打开一个带有数字地球的查看器。你需要将“path/to/your/file.earth”替换为你自己的.earth文件路径。
阅读全文