基于

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

码地址和属性值

;

然后依次扫描

morton码_7-基于Morton码的一种二维游程编码方法相关推荐

  1. (论文加源码)基于DEAP和MABHOB数据集的二分类脑电情绪识别(pytorch深度神经网络(DNN)和卷积神经网络(CNN))代码解析

    论文解析见个人主页: https://blog.csdn.net/qq_45874683/article/details/130000469?csdn_share_tail=%7B%22type%22 ...

  2. (论文加源码)基于DEAP和MABHOB数据集的二分类脑电情绪识别(pytorch深度神经网络(DNN)和卷积神经网络(CNN))

    该论文发表于2021年的顶级期刊.(pytorch框架) 代码解析部分在个人主页: https://blog.csdn.net/qq_45874683/article/details/13000797 ...

  3. uniapp中qrcode生成二维码后传的参数不见了_二维码扫描登录,你必须知道的 3 件事...

    作者 | 互联网平头哥 本文经授权转载自互联网平头哥(ID:it_pingtouge) 扫二维码登录现在比较常见,比如微信.支付宝等 PC 端登录,并且好像每款 APP 都支持扫码登录,不搞个扫码登录 ...

  4. 码链的重大突破,提升国产二维码技术话语权

    我们现在每天都在使用二维码,如微信支付.支付宝支付.扫一扫加好友等,均是基于二维码.目前我国已经在二维码领域取得了重大突破和技术创新.其中以码链为代表的中国企业和科研机构经过大量的研发投入,已经在二维 ...

  5. jquery二维码生成插件jquery.qrcode.js在线生成二维码

    一代巨匠金庸先生驾鹤西去,谢谢您的作品,陪我度过儿时的时光 –2018.10.31 一.场景再现 由于业务需求,经常会将访问链接分享给别人,方便其他客户访问我们的业务.在本周的需求中,我们需要根据地址 ...

  6. 微信支付:支付流程分析、微信扫码支付(HttpClient)、微信支付二维码生成、检测支付状态、订单状态操作准备工作、支付信息回调、MQ处理支付回调状态、定时处理订单状态

    微信支付 微信支付开发的整体思路 生成支付二维码 查询支付状态(微信的服务器) 实现订单状态的修改.删除订单 支付状态回查->微信服务器将支付状态返回给支付微服务 MQ处理支付回调状态 Rabb ...

  7. 你的微信二维码是唯一的吗?【微信二维码的秘密】

    你的微信二维码是唯一的吗?[微信二维码的秘密] 原文:你的微信二维码是唯一的吗?[微信二维码的秘密] 最近听说有一老板被一科技公司业务员忽悠,说"您赶快来注册您唯一的二维码吧!否则,会被别人 ...

  8. QRCode二维码生成方案及其在带LOGO型二维码中的应用(2)

    QRCode二维码生成方案及其在带LOGO型二维码中的应用(2) 原文:QRCode二维码生成方案及其在带LOGO型二维码中的应用(2) 续前:QRCode二维码生成方案及其在带LOGO型二维码中的应 ...

  9. 二维码用的完吗?有没有二维码图案用完的那天?

    不会用完. 二维码是指在一维条码的基础上扩展出另一维具有可读性的条码,使用黑白矩形图案表示二进制数据,被设备扫描后可获取其中所包含的信息.它比传统的Bar Code条形码能存更多的信息,也能表示更多的 ...

最新文章

  1. Spring Boot 揭秘与实战(二) 数据缓存篇 - EhCache
  2. 将数字字符串转换成逗号分隔的数字串,即从右边开始每三个数字用逗号分隔
  3. 关于mAdapter.notifyDataSetChanged()无效问题
  4. 计算机玩游戏不能全屏,玩游戏屏幕两边有黑条?教你简单几步轻松解决-win7玩游戏不能全屏...
  5. linux退出lftp命令,lftp命令使用
  6. SSM(Spring+SpringMVC+Mybatis)框架环境搭建(整合步骤)(一)
  7. 局域网弱口令扫描工具_漏洞扫描软件AWVS的介绍和使用
  8. C++之继承探究(五):子类对象作父类对象使用
  9. 为什么可积不一定可导_本命年为什么要穿红?你一定不知道!
  10. linux lvs 存储层,LVS集群配置之LVS介绍
  11. 常用头文件和一些简单的函数
  12. Nutch是一个优秀的开源的数据爬取框架
  13. 【Google Play】Google Play 签名维护 ( 签名机制 | Google Play 签名机制选择 | 签名更新 )
  14. 云服务平台—恒源智享云
  15. JUnit测试提示java.lang.Exception: No runnable methods
  16. 网络打印机计算机服务,打印机服务器与网络打印机的安装
  17. ConcurrentHashMap 学习笔记
  18. 很难找齐的常识(转收藏)
  19. 【 Apifox】一款前端开发、后端开发、测试人员连连叫好的开发工具
  20. java继承输出先后顺序_java继承时候类的运行顺序问题

热门文章

  1. 单片机的中断系统(一)
  2. pairwise相似度计算
  3. 阿里巴巴 java附加题_阿里巴巴2014校园招聘研发笔试JAVA附加题一
  4. Halcon三维测量以及demo
  5. 【拯救电源键】最详尽的android开发一键锁屏实例 提供免费源码+apk
  6. 异或性质——前缀异或
  7. 计算机桌面造句四年级,桌面造句 - 用桌面造句大全(10-500个例子) - 第 2 页
  8. 利用Arduino uno控制24BYJ48电机正反转停止( 不使用步进库实现方法一)
  9. P2P技术是如何将直播带宽降低75%的
  10. 我觉得对于我这样一个大学2年半换了4个手机的人,是最有资格来进行评价下了。