返回

OsgEarth开发笔记(三):Osg3.6.3+OsgEarth3.1+vs2019x64开发环境搭建(下)

见解分享

构建你的地理信息系统 (GIS) 应用程序:OsgEarth 的分步编译指南

编译 OsgEarth

OsgEarth,一个功能强大的开源 GIS 框架,将 3D 地球可视化与地理空间数据处理融为一体。它建立在 OpenSceneGraph (OSG) 之上,是一个强大的图形渲染引擎,使开发人员能够创建逼真的 3D 场景。

下载 OsgEarth 源代码

踏上 OsgEarth 之旅的第一步是从其官方网站下载最新版本(目前为 3.1)。下载压缩文件后,将其解压缩到您选择的目录中。

编译依赖库

OsgEarth 依赖于几个库才能正常运行,包括 OSG、Qt 和 GDAL。确保这些库已编译并安装在您的系统上。如果没有,请参考相关文档来编译和安装它们。

配置 OsgEarth

使用命令提示符或终端导航到 OsgEarth 源代码目录。通过运行以下命令配置 OsgEarth:

cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=c:/OsgEarth-3.1

在这里,-DCMAKE_BUILD_TYPE=Release 指定编译类型为 Release,而 -DCMAKE_INSTALL_PREFIX=c:/OsgEarth-3.1 指定了安装路径。

编译和安装 OsgEarth

一切配置就绪后,运行以下命令编译并安装 OsgEarth:

cmake --build . --config Release --target install

环境变量设置

编译完成后,您需要设置环境变量以在开发环境中使用 OsgEarth:

  • 将 OsgEarth 安装目录(如 c:/OsgEarth-3.1/bin)添加到您的系统路径(PATH)。
  • 将 OsgEarth 插件目录(如 c:/OsgEarth-3.1/plugin)添加到 OsgEarth 路径(OSGEARTH_PLUGIN_PATH)。

OsgEarth 开发环境搭建

创建 OsgEarth 项目

在您最喜欢的 IDE(如 Visual Studio 或 Qt Creator)中,创建一个新的 C++ 项目并选择一个空项目模板。

添加 OsgEarth 依赖项

右键单击您的项目并选择“管理 NuGet 包”。搜索并安装以下 NuGet 包:

  • OpenSceneGraph
  • Osgearth

配置编译器选项

在项目属性中,导航到“C/C++”>“常规”>“附加包含目录”,然后添加 OsgEarth 头文件目录(如 c:/OsgEarth-3.1/include)。

配置链接器选项

同样在项目属性中,导航到“链接器”>“常规”>“附加库目录”,并添加 OsgEarth 库目录(如 c:/OsgEarth-3.1/lib)。

编写 OsgEarth 代码

现在,您已准备好编写和编译 OsgEarth 代码。例如,以下代码段创建一个基本地球模型:

#include <osgEarth/osgEarth.h>
#include <osgViewer/Viewer.h>

int main()
{
    osg::ref_ptr<osgViewer::Viewer> viewer = new osgViewer::Viewer;
    osg::ref_ptr<osg::Node> root = osgDB::readNodeFile("earth.osg");
    viewer->setSceneData(root.get());
    return viewer->run();
}

常见问题解答

  1. 为什么我在编译 OsgEarth 时遇到错误?

    • 确保您已正确编译并安装了所有依赖库。
  2. 如何将 OsgEarth 与我的应用程序集成?

    • 请参阅 OsgEarth 官方文档以获取有关如何与您的应用程序集成的说明。
  3. OsgEarth 是否支持其他 GIS 数据格式?

    • 是的,OsgEarth 支持广泛的 GIS 数据格式,包括 GeoTIFF、Shapefile 和 KML。
  4. 我可以在哪些平台上使用 OsgEarth?

    • OsgEarth 可在 Windows、Linux 和 macOS 上使用。
  5. OsgEarth 是否提供商业支持?

    • 是的,OsgEarth Technologies 提供商业支持和咨询服务。