DEM 三维地形处理之二:大地形的拆分与地形金字塔及地形DEM数据的比例采样


                         大地形的拆分与地形金字塔及地形DEM数据的比例采样


    上次再用我的地形时,用到了比例采样,为什么要这样。下面我就谈谈地形数据加载时的一些概念!

 

    加载大数据量的地形DEM数据,进行渲染整个地形体时,由于受计算机处理数据能力的限制,不可能实时渲染超大地形,当地形的数据量达到一定限度是,往往会出现卡顿现象;特别是网络渲染地形,由于受网络传输速的限制,卡顿现象更是会表现的尤为突出。

    这就是为什么需要采用算法策略对大地形进行拆分,为什么要有地形金字塔, 如Google earth同样采用了金字塔策略。

    地形金字塔:就是一种四叉树或八叉树的方式,进行地形管理。它就是将一个高精度的地形图,根据视距的远近,分成多级地形,每级地形精度依次变高;视距越远,就使用粗精度的地形,视距拉近,就使用高精度的地形。每层的数量为:1—4—18—64。。。

第1层为最上层,也是最粗略的一个整个区域地形图。它只描述粗略的地形,就是我们通常缩放到最小看到的地形图。当随着视距的拉近(放大地形),就会逐级调用下一层级的地形,而释放掉原来的粗略的地形,显示下一级的4个稍高精度的地形;随着放大,视野也会逐渐覆盖不了4个次分地图,当继续拉近,放大只剩这一层级的一张地形时,再放大,就会调用该张地形的下一级4个子节点的更高精度的地形,这样视野中总是最多保留4个地形,而不是很多的地形,没放大一级,就会释放掉原先调用的一级。

这里就展示一下:

 第0级:最上级:粗略地形;

第1级:次分一级:精度比第1级增高;

第2级:第1级的次分一级:精度比第二级有增高;

 。。。。。。

第N级:。。。逐级精度增高;

  比例采样:就是降低精度,忽略掉一定间隔的原始像素数据。它的顺序恰恰与金字塔的级数相反,级数越大,采样比例越小,这样才能保证DEM地形数据的精度是逐级向下增高的;级数越高,精度越高,比例采样越小。

    就以3级金字塔为例:

    第0级,数量为4的0次方=1

    第1级,数量为4的1次方=4

    第2级,数量为4的2次方=16

(第3级,数量为4的3次方=64)

   0级用红色地形表示,1级用黄色地形表示 2级用绿色地形表示

  看看精度:逐级增高,逐级变得更清晰

 

dem 地形图 geoserver dem数据分析地形_大数据

 

dem 地形图 geoserver dem数据分析地形_大数据_02


 

dem 地形图 geoserver dem数据分析地形_大数据_03

第0级地形:比例采样X=8,Y=8

 

dem 地形图 geoserver dem数据分析地形_大数据_04

第1级地形:比例采样X=4,Y=4

 

dem 地形图 geoserver dem数据分析地形_大数据_05

第2级地形:比例采样X=1,Y=1

 

dem 地形图 geoserver dem数据分析地形_算法_06


    上面只是说道地形显示,再看看对于大场景中的地形加载和模型的分块调度:

    大场景地形加载,就要用到4叉树的分块调度策略。可以通过osg的PageLoad实现对地形的随视距的变化动态调度,同样也可以根据四叉树管理策略,动态调用地形相对应的场景模型。



动态调用效果如下:




dem 地形图 geoserver dem数据分析地形_DEM   地形  三维_07




dem 地形图 geoserver dem数据分析地形_DEM   地形  三维_08


牛和沙发,就是根据不同地形动态加载的。