#地球文件
osgEarth使用熟悉的 Map/Layer 组织数据的范例。这个 Map 由一组 图层 。渲染器从下到上一个接一个地绘制每个可见层,以显示最终场景。 [您可以在此处看到所有不同的图层类型] (layers.md)。
一个 地球文件 是一个XML文件,它描述 Map 在osgEarth里。
#我的第一个地球文件
这是一个非常简单的地球文件,您可以在 tests 存储库的文件夹:
``` XML<Map Name=“Hello,World”>
- <GDALImage Name=“World Imagery”>
<url>../data/world.tif</url>
</GDALImage>
此地图包含一个指向本地GeoTIFF文件的图层。在这种情况下,该位置相对于地球文件本身的位置。您可以通过运行osgEarth命令行工具之一来查看此地图:
`
osgearth_imgui simple.earth
`
就这样!建立并运行一张地图就是那么容易。
#使用多层
您可以将任意多个图层添加到您的 Map 随你便。下面是一个名为 hires-inset.earth :
``` XML<Map Name=“Hello,World”>
<!--Worldwide image--><GDALImage name=“World”>
<url>../data/world.tif</url>
</GDALImage>
<!--波士顿高分辨率插图--><GDALImage name=“Boston”>
<url>../data/Boston-inset-wgs84.tif</url>
</GDALImage>
<!--纽约市高分辨率插图--><GDALImage name=“New York”>
<url>../data/nyc-inset-wgs84.tif</url>
</GDALImage>
在这种情况下,osgEarth将首先绘制“World”层,然后是“Boston”,最后是“New York”。我们还在其中穿插了一些XML注释。
#添加地形高程数据
现在让我们添加一些高度字段数据,也称为 DEM 或数字高程模型:
``` XML<Map name=“ReadyMap”>
- <TMSImage Name=“ReadyMap 15M Imagery”>
<url>http://readymap.org/readymap/tiles/1.0.0/7/</url>
</TMSImage>
- <TMSElevation Name=“ReadyMap 90m Elevation”>
<url>http://readymap.org/readymap/tiles/1.0.0/116/</url><vdatum>egm96</vdatum>
</TMSElevation>
- <视点>
- <Viewpoint name=“旧金山,加利福尼亚州”>
<标题>10/标题><高度>4500.0<纬度>-122.334-34<间距>78000</范围><纬度>-37.5581</纬度>-34</间距>-34<间距>-34</间距>-34</间距><高度>37.5581</纬度>-34</间距>-34</范围>
</视点>
</视点>
这里发生了几件事:首先,我们看到一个 TMSImage 通过Internet从平铺地图服务图层加载图像的图层。然后我们有来自同一服务器的大约90m的数字高程数据。
最后,您可以看到一个 Viewpoints 图层。这根本不是一个可见的层!而是存储数据-在本例中,是指用户可以导航到的一组预设视点。osgEarth将所有类型的数据存储为 图层 ,并不是所有的都是可见的。不可见图层可以出现在地图中的任何位置。它们的顺序或外观并不重要。
#绘制矢量功能
最后,让我们看看一些矢量要素数据。这是点、线和多边形形式的GIS数据。osgEarth有多种显示此数据的方法,但现在让我们保持简单。您可以在 feature_rasterize.earth :
``` XML<Map name=“栅格化矢量”>
<xi:include href=“readymap_imagery.xml”/>
- <OGRFeature Name=“WORLD-DATA”>
<url>../data/world.shp</url>
</OGRFeature>
- <FeatureImage Name=“Countries”不透明度=“0.75”>
<FEATURES>WORLD-DATA</FEATURES><样式>
- <style type=“text/css”>
- 默认{
填充:#ff7700;笔划:#ffff00;笔划宽度:5 km;
}
</style>
</样式>
</FeatureImage>
首先,我们看到了 <xi:include> ,这是一个方便的XML指令,用于内联包含另一个XML文件。我们要用这个来获取我们的图像。
接下来是 OGRFeatures 图层。这是一个数据层-它不会直接渲染-而只是指向我们存储在本地的ESRI shapefile。
最后, FeatureImage 图层指向数据图层,并描述如何使用 StyleSheet 。
##更多示例
请往里面看看 tests 存放大量地球文件示例的存储库文件夹。它们从非常简单到相当复杂,涵盖了osgEarth中的各种可用功能!