超高压缩比的三维地形数据压缩方法与流程

文档序号:13288885阅读:321来源:国知局
技术领域本发明涉及三维地形数据压缩方法,尤其是涉及超高压缩比的三维地形数据压缩方法。

背景技术:
现有的大型三维地理信息系统中,包含有全球地理信息的高精度数字高程数据,由于数据量巨大,在数据存储和网络传输时都面临很大压力,因此对这些数据的压缩方法就提出了很高的要求。目前,常用的数据压缩方法是直接使用ZIP/RAR等无损压缩技术,压缩比并不理想。

技术实现要素:
本发明目的在于提供一种超高压缩比的三维地形数据压缩方法,用于处理三维地理信息系统中使用的专用地形数据。为实现上述目的,本发明采取下述技术方案:本发明所述超高压缩比的三维地形数据压缩方法,包括下述步骤:一、地形瓦片分割将全球地形数据按照经纬度投影,并划分为东半球和西半球两个根节点;所述的每一个根节点等分为4×4个子节点;二、计算偏移值每一个所述的子节点包含513×513个高程点,为了压缩数据量,首先计算每一个所述的高程点的偏移值,即本子节点的实际高程值减去由其父节点差值得到的高程值;三、对偏移值进行编码存储取本子节点所有高程点的偏移值的最小值和最大值,则每一个偏移值的编码用下述公式进行计算得到一个字节的编码值B:B=(h0-hmin/hmax-hmin)×255;式中h0为高程点的偏移值,hmin为本子节点所有高程点的偏移值的最小值,hmax为本节点所有高程点的偏移值的最大值;存储时,首先将本节点所有高程点的最小值和最大值进行存储,然后按照从左到右、从上到下的顺序对每一个高程点的编码逐个进行存储;四、对上述存储数据进行哈夫曼(Huffman)编码压缩。本发明优点在于主要体现为:1、由所述的节点关系直接确定各高程点的坐标,因此只需记录高程值,不必记录经纬度;2、所述的高程值经过压缩后,每一个高程值占用字节不到一个字节,其压缩比明显优于常规的“浮点型数据和ZIP压缩”方法;3、本压缩方法与三维地理信息系统的层次细节技术(LOD,英文全称LevelOfDetails,即多细节层次)一致,即:距离镜头越远的地形精度越低,距离镜头越近的地形精度越高;从三维地理信息系统的角度看,数据仍然是无损的。(视距拉的很近时,数据无损)本发明压缩方法包含了偏移值提取压缩(可将高程数据由4个字节压缩为1个字节,即压缩比为1:4)和常规的可变字长编码压缩(根据具体数据的不同,压缩比也不同,地形数据在某一区域内通常较为相近,其压缩比一般在1:5到1:10之间),故最终压缩比大约在1:20到1:40之间。具体实时方式本发明所述超高压缩比的三维地形数据压缩方法,包括下述步骤:一、地形瓦片分割将全球地形数据按照经纬度投影,并划分为东半球和西半球两个根节点;所述的每一个根节点等分为4×4个子节点;按照三维地理信息系统中的金字塔结构(即四叉树结构)进行地形瓦片划分,根节点为东、西半球两个地形瓦片。二、计算偏移值每一个所述的子节点包含513×513个高程点,为了压缩数据量,首先计算每一个所述的高程点的偏移值,即本子节点的实际高程值减去由其父节点插值得到的高程值;由父节点的高程值通过插值计算,得到当前节点的高程值(推算高程值),然后用当前节点的实际高程值减去推算高程值,得到偏移高程值。这样做的目的是使存储的数据尽可能的小,由于推算高程值与实际高程值是比较接近的,所以偏移高程值总是在0点左右浮动。三、对偏移值进行编码存储取本子节点所有高程点的偏移值的最小值和最大值,则每一个偏移值的编码用下述公式进行计算得到一个字节的编码值B:B=(h0-hmin/hmax-hmin)×255;式中h0为高程点的偏移值,hmin为本子节点所有高程点的偏移值的最小值,hmax为本节点所有高程点的偏移值的最大值;存储时,首先将本节点所有高程点的最小值和最大值进行存储,然后按照从左到右、从上到下的顺序对每一个高程点的编码逐个进行存储;本步骤的目的是:为了方便通过单个字节存储高程,将偏移值转换为0~255之间的整数。四、对上述存储数据进行哈夫曼编码压缩。对高程数据执行常规的可变字长压缩,对于一个地形瓦片中的高程数据,其值具有很大程度的重复性,因此本压缩方法可以提供较好的压缩比,是十分必要的。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1