基于
Morton
码的一种二维游程压缩编码方法
孟庆武
1
孟露
2
伊海波
3
(1.
黑龙江工程学院
测绘工程学院,黑龙江
哈尔滨
150050
;
2.
东北林
业大学
林学院,
黑龙江
哈尔滨
150086
;
3.
黑龙江第一测绘工程院,
黑龙江
哈尔滨
150086)
摘要
:在分析常规二维游程压缩编码方法缺陷的基础上,提出了一种基于
Morton
码的二维
游程压缩编码方法。
该方法按
Morton
码由小到大顺序扫描栅格数据,
对于由
2
×
2
个像元组
成的格网窗口由
Morton
码生成格网窗口左上角像元的行列号,并且用动态线性表通过对比
像元的属性值,
存储压缩结果,
建立二维游程编码。实验表明,该编码方法在运行时间和内
存占用方面都好于常规二维游程压缩编码方法。
关键词
:栅格数据;
Morton
码;二维游程;线性四叉树;压缩编码
A Method of Dynamic Compressing Code Using 2D Run-Length Based on Morton Code
MENG Qing-wu
1
,
WANG Wen-fu
1
, MENG Lu
2
, YI Hai-bo
3
(
1. Technology Institute of Surveying and Mapping,Heilongjiang Institute of Technology,Harbin
150050,China;2. Forecast Institute,Northeast Forestry University
,Harbin 150086,China,3.Heilongjiang First T
echnology
Institute of Surveying and Mapping,150086,China
)
Abstract:
On base of analysing some disadvatages of the traditional 2D run-length compressing
code,a method of dynamic compressing code using 2D run-length is put forward in this paper.The
method scans raster data by Morton code from small to large and uses a 2×
2 pixels to extract row
and column numbers of the left-up pixel by Morton code from the original raster data. It uses a
dynamic linear table through comparing among attribute values of the pixels,saves compressing
results
and
makes
dynamically
2D
run-length
code.This
experiments
show
that
this
method
is
better
than
the
traditional
2D
run-lenth
compressing
code
in
the
running
speed
and
memory
requirement.
Key word:
raster data; Morton code;two dimensional run-lenth;linear quadtree;compressing code
栅格数据结构是将地球表面按照一定的大小即分辨率划分为均匀的紧密的相邻的格网
单元,
每一个格网单元只具有唯一属性值,
一个格网代表地球表面的一个小区域,
这个格网
单元称为像元,
其地理位置由其所在的行列号确定,
像元的属性值是所表达的空间对象的灰
度值,
其实质在计算机中栅格数据结构是一个能表达空间对象及其灰度值的二维矩阵。
与矢
量数据结构相比,
用栅格数据结构表达地理要素比较直观,
容易实现叠加操作。
作为地理信
息系统的一种常用的数据结构,
栅格数据得到了广泛应用。
如用扫描仪扫描的地图数据、
遥
感数据与数字高程模型数据等,
都属于这种数据结构。
但栅格数据的缺点也很突出,
其数据
精度取决于分辨率即像元的大小,当像元由大变小时,像元的数量即个数呈几何级数增加,
造成计算机内存占用的急剧增加,
同时,
根据地理对象的空间自相关性原理,
用栅格数据结
构所表达的地理对象,
其栅格数据的相邻像元属性值具有较强的相关性,
这样造成栅格数据
的冗余加大。
为了提高海量栅格数据的存储和传输的效率,
有必要研究高效的栅格数据压缩
编码方法。
栅格数据压缩编码方法有很多种,
如哈夫曼编码法、块式编码法、四叉树编码法
和常规游程编码法等,本文主要探讨基于
Morton
码的一种动态二维游程压缩编码方法。
1
常规二维游程压缩编码法
二维游程压缩编码法是在对传统一维游程压缩编码法的二维扩展
,
结合了线性四叉树
(
linearquadtree,LQT
)
及其
Morton
码技术。
它通过对已经具有的
Morton
码的栅格图像数据的
各个像元进行扫描
,
其数据结构是先记录起始像元的
Morton
码地址和属性值
;
然后依次扫描