使用地球文件

地球文件 是映射的XML描述。创建 地球文件 是配置地图并快速启动和运行的最简单方法。在osgearth存储库中,您可以在 tests 文件夹,涵盖各种主题并演示各种功能。我们鼓励您探索和尝试它们!

另请参见: 地球文件参考

地球文件的内容

osgearth使用一种基于XML的文件格式,称为 地球文件 准确地指定源数据如何转化为OSG场景图。地球文件具有 .earth 扩展名,但它是XML。

基本上,Earth文件允许您指定:

  • 要创建的地图类型(地心或投影)

  • 要使用的图像、高程、矢量和模型源

  • 数据的缓存位置

一个简单的地球文件

以下是一个非常简单的示例,它从本地文件系统上的geotiff文件中读取数据,并将其呈现为地心圆形地球场景:

<map name="MyMap">
    <image name="bluemarble" driver="gdal">
        <url>world.tif</url>
    </image>
</map>

这个地球文件创建了一个地心地图,名为 MyMap 使用一个名为 bluemarble . 这个 driver 属性告诉osgearth使用哪个插件来加载图像。(OSGerath使用插件框架从不同的源加载不同类型的数据。)

一些子元素(在 image )特定于所选驱动程序。要了解有关驱动程序以及如何配置每个驱动程序的详细信息,请参阅 Driver Reference Guide .

多个图像层

OSGerath支持具有多个图像源的地图。这允许您创建地图,例如具有运输覆盖的基础层,或者为位于低分辨率基础地图顶部的特定区域提供高分辨率插入。

要将多个图像添加到地球文件中,只需将多个“图像”块添加到地球文件:

<map name="Transportation">

    <!--Add a base map of the blue marble data-->
    <image name="bluemarble" driver="gdal">
        <url>c:/data/bluemarble.tif</url>
    </image>

    <!--Add a high resolution inset of Washington, DC-->
    <image name="dc" driver="gdal">
        <url>c:/data/dc_high_res.tif</url>
    </image>

</map>

上面的地图使用gdal驱动程序提供来自本地数据源的两个图像。在定义多个图像源时,顺序很重要:osgearth按照它们在地球文件中出现的顺序渲染它们。

提示:地球文件中的相对路径被解释为相对于地球文件本身。

添加高程数据

将高程数据(有时称为“地形数据”)添加到地球文件与添加图像非常相似。使用一个 elevation 像这样阻塞:

<map name="Elevation">

    <!--Add a base map of the blue marble data-->
    <image name="bluemarble" driver="gdal">
        <url>c:/data/bluemarble.tif</url>
    </image>

    <!--Add SRTM data-->
    <elevation name="srtm" driver="gdal">
        <url>c:/data/SRTM.tif</url>
    </elevation>

</map>

这个地球文件有一个基地 bluemarble 图像以及从本地geotiff文件加载的立面网格。您可以添加任意多的立面图层;Osgearth将它们组合成一个网格。

与图像一样,顺序很重要-例如,如果您有一个覆盖整个世界的低分辨率基础高程数据源和一个城市的高分辨率插页,则需要先指定基础数据,然后再指定高分辨率插页。

一些OSGearth驱动程序可以生成立面网格和图像。

Note: osgEarth only supports single-channel 16-bit integer or 32-bit floating point data for use in elevation layers.

高速缓存

由于osgearth按需呈现数据,因此有时需要做一些工作来准备一个平铺显示。这个 隐藏物 这样Osgerath就可以下次保存这项工作的结果,而不是每次都重新处理瓷砖。这样可以提高性能并避免多次下载同一数据。

以下是缓存设置示例:

<map name="TMS Example">

    <image name="metacarta blue marble" driver="tms">
        <url>http://readymap.org/readymap/tiles/1.0.0/7/</url>
    </image>

    <options>
        <!--Specify where to cache the data-->
        <cache type="filesystem">
            <path>c:/osgearth_cache</path>
        </cache>
    </options>

</map>

这个接地文件显示了为osgearth指定缓存的最基本方法。这将告诉osgearth启用缓存并缓存到文件夹 c:/osgearth_cache . 缓存路径可以是相对路径或绝对路径;相对路径是相对于地球文件本身的。

配置缓存有多种方法;请参阅 Caching 了解更多详细信息。