地球文件参考

地图

这个 map 是地球文件中的顶级元素。

<map name    = "my map"
     type    = "geocentric"
     version = "2" >

    <options>
    <image>
    <elevation>
    <model>
    <libraries>

财产

描述

名称

可读名称。对渲染没有影响。

类型

坐标系类型。
地心的

渲染椭圆球体。

投影

渲染“平面”投影地图。

版本

地球文件版本。默认值为2。将此设置为加载旧的地球文件格式。

地图选项

这些选项控制与整个地图关联的地图模型和渲染属性。

<map>
    <options lighting                 = "true"
             elevation_interpolation  = "bilinear"
             overlay_texture_size     = "4096"
             overlay_blending         = "true"
             overlay_resolution_ratio = "3.0" >

        <profile>
        <proxy>
        <cache>
        <cache_policy>
        <terrain>

财产

描述

照明

是否允许照明明暗器影响地图。

elevation_interpolation

重新采样高程源数据时使用的算法:
最近的

最近的邻居

平均的

平均相邻值

双线性

两个轴的线性插值

三角测量

Interp跟随三角形坡度

overlay_texture_size

设置用于悬垂的纹理大小(投影纹理)

overlay_blending

覆盖几何体在悬垂期间是否与地形混合(投影纹理

overlay_resolution_ratio

对于褶皱几何体,相机附近投影纹理的分辨率与远离相机的分辨率之比。增加该值以改善靠近相机的外观,同时牺牲较远几何体的外观。注意:如果您使用的是支持滚动的摄影机操纵器,则可能需要将其设置为1.0;否则,您将得到悬垂工件!这是一个已知的问题。

地形选项

这些选项控制地形曲面的渲染。

<map>
    <options>
        <terrain driver                = "rex"
                 lighting              = "true"
                 min_tile_range_factor = "6"
                 first_lod             = "0"
                 blending              = "false"
                 color                 = "#ffffffff"
                 tile_size             = "17"
                 normalize_edges       = "false"
                 compress_normal_maps  = "false"
                 normal_maps           = "true"
                 min_expiry_frames     = "0"
                 min_expiry_time       = "0" >

财产

描述

驱动

要加载的地形引擎插件。默认值为“rex”。有关每个插件的特定属性,请参阅驱动程序参考指南。

照明

地形是否接受照明(如有)。默认值=真

min_tile_range_factor

确定地形图块的显示距离。该值是瓷砖的范围与其范围的比率,例如,如果瓷砖半径为10公里,且mtrf=7,则瓷砖将在大约70公里的范围内可见。默认值=6.0

first_lod

地形将显示地砖的最低详细级别。也就是说,地形显示的LOD永远不会低于此值。

混合

设置为 true 在地形的基础几何图形上启用GL混合。这样可以使地球部分透明。这对于观察地下物体很方便。

tile_size

每个地形图块的尺寸。每个地砖都有 tile_size X tile_size 顶点。默认值=17

normalize_edges

计算沿地形图块边缘的法向量,使从一个图块到下一个图块的照明看起来更平滑。默认值=假

normal_maps

是否生成和使用法线贴图代替几何体法线。普通地图与照明一起使用,以创建比仅用三角形表示更高分辨率地形的外观。默认值取决于引擎。

compress_normal_maps

在发送到GPU之前是否压缩普通地图。必须在OpenScenegraph构建中构建Nvidia纹理工具图像处理器插件。默认值为假

min_expiry_frames

地形图块在考虑到期之前未看到的帧数。默认值=0

min_expiry_time

地形图块在考虑到期之前未被剔除的秒数。默认值=0

图像层

图像层 是覆盖在地图几何图形上的栅格图像。

<map>
    <image name              = "my image layer"
           driver            = "gdal"
           nodata_image      = "http://readymap.org/nodata.png"
           opacity           = "1.0"
           min_range         = "0"
           max_range         = "100000000"
           attenuation_range = "0"
           min_level         = "0"
           max_level         = "23"
           min_resolution    = "100.0"
           max_resolution    = "0.0"
           max_data_level    = "23"
           enabled           = "true"
           visible           = "true"
           shared            = "false"
           shared_sampler    = "string"
           shared_matrix     = "string"
           coverage          = "false"
           min_filter        = "LINEAR"
           mag_filter        = "LINEAR"
           blend             = "interpolate"
           altitude          = "0"
           texture_compression = "none" >

        <cache_policy>
        <proxy>

财产

描述

名称

可读层名称。不用于发动机。

驱动

用于为此层创建平铺的插件。有关每个插件的特定属性,请参阅驱动程序参考指南。

nodata_image

表示源中“无数据”的图像的URI。如果osgearth将一个图块与此图像匹配,它将像在该位置找不到数据一样工作,并且它将 not 渲染瓷砖。

不透明性

层的不透明度, [0..1] .

min_range

最小能见度范围,以米为单位。如果摄像头比这个更近,瓷砖将不可见。

max_range

最大能见度范围,以米为单位。此图块将不会绘制在此范围之外。

attenuation_range

混合到最小范围或最大范围的距离。(不支持文本或图标,仅支持几何图形)

min_level

最小细节可见度。

max_level

最大细节可见度。

min_resolution

绘制图块的最小源数据分辨率。值是以源数据的本机单位表示的每像素单位。

max_resolution

绘制图块时的最大源数据分辨率。值是以源数据的本机单位表示的每像素单位。

max_data_level

新源数据可用于此图像层的最大详细级别。通常司机会报告这些信息。但你可能希望自己限制它。这对于一些没有分辨率限制的驱动程序尤其适用,例如栅格化驱动程序(Agglite)。

启用

是否在地图中包含此层。您只能在加载时设置它;这只是“注释掉”地球文件中一个层的简单方法。

看得见的

是否绘制层。

共享

为该层生成一个辅助的专用采样器,以便自定义明暗器可以全局访问该采样器。

shared_sampler

对于共享层,将在glsl代码中提供采样器的统一名称。

shared_matrix

对于共享层,可以在glsl代码中使用的纹理矩阵的统一名称,用于访问 shared_sampler 上面。

新闻报道

指示这是一个覆盖层,即用特定语义传递离散值的层。例如,“土地利用”层,其中每个像素都具有一个值,该值指示该区域是否为草地、沙漠等。将一个层标记为覆盖范围将禁用任何插值、过滤或压缩,因为这些会损坏GPU上的采样数据值。

min_filter

OpenGL纹理缩小过滤器用于此层。选项包括最近的、线性的、最近的、最近的、最近的、线性的、最近的

mag_filter

用于此层的OpenGL纹理放大过滤器。选项与 min_filter 上面。

texture_compression

“auto”压缩GPU上的纹理;“none”禁用。FastDxT“使用FastDxT实时DxT压缩机

混合

“modulate”将像素与framebuffer相乘;“interpolate”将与基于alpha(def)的framebuffer混合。

海拔高度

在海平面以上米处渲染图像层。您可以使用它来渲染地面上的天气或云层,例如,作为视觉辅助。默认值=0

立面层

立面层 为地形引擎提供高度地图网格。OSGearth引擎将所有高程数据合成一个单独的高度图,并使用该图构建地形图。

<map>
    <elevation name            = "text"
               driver          = "gdal"
               min_level       = "0"
               max_level       = "23"
               min_resolution  = "100.0"
               max_resolution  = "0.0"
               enabled         = "true"
               offset          = "false"
               nodata_value    = "-32768"
               min_valid_value = "-32768"
               max_valid_value = "32768"
               nodata_policy   = "interpolate" >

财产

描述

名称

可读层名称。不用于发动机。

驱动

用于为此层创建平铺的插件。有关每个插件的特定属性,请参阅驱动程序参考指南。

min_level

最小细节可见度。

max_level

最大细节可见度。

min_resolution

绘制图块的最小源数据分辨率。值是以源数据的本机单位表示的每像素单位。

max_resolution

绘制图块时的最大源数据分辨率。值是以源数据的本机单位表示的每像素单位。

启用

是否在地图中包含此层。您只能在加载时设置它;这只是“注释掉”地球文件中一个层的简单方法。

抵消

指示此层中的高度值是相对偏移,而不是真实地形高度采样。

nodata_policy

如何处理“无数据”值。默认值为“插值”,将插值相邻值以填充孔。将其设置为“MSL”,以用当前海平面值替换“无数据”样本。

nodata_value

将此值视为“无数据”。

min_valid_value

将小于此值的任何内容视为“无数据”。

max_valid_value

将任何大于此值的值视为“无数据”。

模型层

A 模型层 将外部三维模型渲染为地图层。

<map>
    <model name    = "my model layer"
           driver  = "simple" >

财产

描述

名称

可读层名称。不用于发动机。

驱动

用于为此层创建平铺的插件。有关每个插件的特定属性,请参阅驱动程序参考指南。

模型层还允许您定义一个剪切遮罩。地形引擎将在与 边界几何 你提供的。你可以用这个工具 osgearth_boundarygen 创建这样的几何图形。

如果您有一个外部地形模型,并且希望将其插入到OSGearth地形中,那么这将非常有用。模型必须与地形处于同一坐标系中。

<map>
    <model ...>
        <mask driver="feature">
            <features driver="ogr">
                ...

遮罩可以将任何多边形特征作为输入。可以使用内嵌几何体指定内嵌遮罩几何体:

<features ...>
    <geometry>POLYGON((120 42 0, 121 41 0, 121 40 0))</geometry>

或者使用shapefile或其他功能源,在这种情况下,osgearth将使用 第一 源中的功能。

参考 mask.earth 示例。

简况

该轮廓告诉Osgearth应该使用空间参考系统、地理空间范围和平铺方案来渲染地图平铺。

<profile srs    = "+proj=utm +zone=17 +ellps=GRS80 +datum=NAD83 +units=m +no_defs"
         vdatum = "egm96"
         xmin   = "560725.500"
         xmax   = "573866.500"
         ymin   = "4385762.500"
         ymax   = "4400705.500"
         num_tiles_wide_at_lod_0 = "1"
         num_tiles_high_at_lod_0 = "1">

财产

描述

SRS

地图的空间参考系。这可以是wkt字符串、epsg代码、proj4初始化字符串或股票配置文件名称。请参阅 空间参考 有关详细信息。

VDATUM

轮廓的垂直基准,描述如何处理Z值。请参阅 空间参考 有关详细信息。

xmin、xmax、ymin、ymax

地图的地理空间范围。这些单位是由上述SRS定义的(通常是投影地图的米,地心地图的度数)。

num_tiles_*_at_lod_0

瓷砖层次结构最顶层的大小。两个方向的默认值都是“1”。( 可选择的

隐藏物

为磁贴数据配置缓存。

<cache driver = "filesystem"
       path   = "c:/osgearth_cache" >

财产

描述

驱动

用于缓存的插件, filesystemleveldb .

路径

路径(相对或绝对)或缓存文件夹或文件。

CachePolicy

确定给定元素如何与配置的缓存交互的策略。

<cache_policy usage="no_cache">

财产

描述

使用

对缓存的策略。
read_write

如果配置了缓存,请使用缓存。默认值。

cache_only

只从缓存读取数据,忽略实际数据源。这对于离线渲染很好。

no_cache

忽略缓存并始终从数据源读取。

max_age

将早于此值(秒)的缓存项视为过期。

代理服务器设置

代理服务器设置 允许为远程数据源配置网络代理。

<proxy host     = "hostname"
       port     = "8080"
       username = "jason"
       password = "helloworld" >

希望这些属性是不言而喻的。

类库

预加载任何库。

<libraries>a</libraries>

可以使用“;”作为分隔符列出多个库名称。

<libraries>A;B;C;D;E</libraries>

在osg库路径中搜索库,库名称需要遵循osg nodekit库名称约定(使用osg库版本进行后缀修复)