morton码_求矩阵四叉树的四进制和十进制Morton码

本文介绍了GIS中的空间索引技术,重点讲解了四叉树和Morton编码(Z-Order曲线)的应用,包括四叉树的类型、编码规则,以及线性四叉树的四种编码方式:深度码、层次码、四进制编码和十进制编码。通过示例详细解释了编码过程,并展示了如何在C++程序中实现四进制和十进制编码的合并处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Yogurt是一名学GIS的学生,今天要跟大家分享的是四叉树这种空间索引方式的Morton编码方法,接下来我将在小课堂中简单介绍一下空间索引以及其几种编码方式~~

---------------------------------------------------------yogurt小课堂开课啦--------------------------------------------------------

GIS所涉及到的都是有关空间的数据信息,即也属于所谓的大数据了,那么怎么将客观的物体对象存储到计算机中,以及怎么从计算机中读取所需要的数据呢?

首先我们要知道计算机的存储器有内存和外存,内存空间小但是读写快,外存空间大却读写慢,访问外存所花费的时间是访问内存的十万倍以上!在GIS的实际应用中大量的数据都是存储在外存上的,想象一下如果这些数据全都杂乱无章的堆放在那里,那么每需要查询一个数据就需要扫描整个数据文件,这样访问磁盘的代价是非常大的,严重影响了系统效率!所以,我们必须记录好每个数据存放的位置,以便于组织和管理,在这个过程中就需要用到索引技术啦!

【(这里引自我老师的课件哈,低调低调!!!)

从传统的索引技术观点来看,可以把空间索引技术大致分为四大类:基于R树,基于Hashing,基于二叉树,基于空间填充。

在建立索引时,按照划分区域是否与空间对象的分布特征有关的标准,空间索引又可以分为两大类:无关的(网格索引、四叉树),有关的(BSP树、KD树、KDB树、R树及其变种树)。

我们来看看几种索引方法的实际应用:

(1)ESRI的ArcSDE采用的是固定格网索引;

(2)目前国内外主要的空间数据库如ESRI的ArcView,Mapinfo公司的Maoinfo和Informix的GeoSpatial DataBlade采用的是R树系列作为空间索引的方式;

(3)Oracle公司的Spatial同时采用固定格网索引以及R树索引;

(4)中国地质大学的MapGIS和中科院的SuperMap采用的是四叉树。

以上来自我的一个大牛老师的PPT~~】

好啦,既然今天要讲矩阵四叉树的Morton编码,那么接下来就介绍一下四叉树以及Morton码的编码规则吧:

【四叉树】:

区域型物体的四叉树表示方法最早出现在加拿大地理信息系统CGIS中,20世纪80年代以来,四叉树在图象分割、数据压缩、 地理信息系统等方面进行了大量的研究,对四叉树数据结构提出了许多编码方案。四叉树分为常规四叉树与线性四叉树,下图简单的说明了两者的区别:(不要嫌弃我字丑!!!)

编码规定:

   

【线性四叉树的编码方式】: 例如有这样一个矩阵线性四叉树,以红色圈中的9的编码为例,有自上而下的方法和自下而上的方法:

(1)基于深度和层次码线性四叉树编码:(自上而下的方法)

层次码:第一层(在位置2,用两位二进制表示为:10),第二层(在位置1,用两位二进制表示为:01),第三层(在位置2,用两位二进制表示为:10);

深度码:有3层深,(用四位二进制表示为:0011);

“9”的位置编码为:10 01 10 0011,该位置码的十进制为2^0+2^1+2^5+2^6+2^9=611.

(2)基于四进制的线性四叉树编码:

(自上而下的方法):第一层2,第二层1,第三层2&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值