网站大量收购独家精品文档,联系QQ:2885784924

求矩阵四叉树的四进制和十进制Morton码.pdfVIP

求矩阵四叉树的四进制和十进制Morton码.pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

求求矩矩阵阵四四叉叉树树的的四四进进制制和和⼗⼗进进制制Morton码码

Yogurt是⼀名学GIS的学⽣,今天要跟⼤家分享的是四叉树这种空间索⽅式的Morton编码⽅法,接下来我将在⼩课堂中简单介绍⼀下空

间索以及其⼏种编码⽅式~~

yogurt⼩课堂开课啦

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

读取所需要的数据呢?

⾸先我们要知道计算机的存储器有内存和外存,内存空间⼩但是读写快,外存空间⼤却读写慢,访问外存所花费的时间是访问内存的⼗万

倍以上!在GIS的实际应⽤中⼤量的数据都是存储在外存上的,想象⼀下如果这些数据全都杂乱⽆章的堆放在那⾥,那么每需要查询⼀个数

据就需要扫描整个数据⽂件,这样访问磁盘的代价是⾮常⼤的,严重影响了系统效率!所以,我们必须记录好每个数据存放的位置,以便于

组织和管理,在这个过程中就需要⽤到索技术啦!

【(这⾥⾃我⽼师的课件哈,低调低调!!!)

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

在建⽴索时,按照划分区域是否与空间对象的分布特征有关的标准,空间索⼜可以分为两⼤类:⽆关的(⽹格索、四叉树),有关

的(BSP树、KD树、KDB树、R树及其变种树)。

我们来看看⼏种索⽅法的实际应⽤:

(1)ESRI的ArcSDE采⽤的是固定格⽹索;

(2)⽬前国内外主要的空间数据库如ESRI的ArcViw,Mapinfo公司的Maoinfo和Informix的GoSpatialDataBlad采⽤的是R树系列作为

空间索的⽅式;

(3)Oracl公司的Spatial同时采⽤固定格⽹索以及R树索;

(4)中国地质⼤学的MapGIS和中科院的SuprMap采⽤的是四叉树。

以上来⾃我的⼀个⼤⽜⽼师的PPT~~】

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

【四叉树】:

区域型物体的四叉树表⽰⽅法最早出现在加拿⼤地理信息系统CGIS中,20世纪80年代以来,四叉树在图象分割、数据压缩、地理信息系

统等⽅⾯进⾏了⼤量的研究,对四叉树数据结构提出了许多编码⽅案。四叉树分为常规四叉树与线性四叉树,下图简单的说明了两者的区

别:(不要嫌弃我字丑!!!)

编码规定:

【线性四叉树的编码⽅式】:例如有这样⼀个矩阵线性四叉树,以红⾊圈中的9的编码为例,有⾃上⽽下的⽅法和⾃下⽽上的⽅法:

(1)基于深度和层次码线性四叉树编码:(⾃上⽽下的⽅法)

层次码:第⼀层(在位置2,⽤两位⼆进制表⽰为:10),第⼆层(在位置1,⽤两位⼆进制表⽰为:01),第三层(在位置2,⽤两位⼆

进制表⽰为:10);

深度码:有3层深,(⽤四位⼆进制表⽰为:0011);

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

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

(⾃上⽽下的⽅法):第⼀层2,第⼆层1,第三层2,位置码:212

(⾃下⽽上的⽅法,说明四进制编码的过程):⼆进制的⾏列号Iyb、Ixb(从第0⾏0列开始),四进制编码M=2*Iyb+Ixb;那么这⾥就是:

第5⾏(101)第2列(010):M=2*101+10=212

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

(⾃下⽽上的⽅法,说明四进制编码的过程):⼆进制的⾏列号Iyb、Ixb(从第0⾏0列开始),⼗进制编码M=奇数位⽤列号填充,偶数位

⽤⾏号填充;那么这⾥就是:第5⾏(101)第2列(010):M=100110

(4)在相邻四个码中若属性值相同,进⾏合并,除去最低位得到合并后的新编码。

下课啦!!!

编写该程序的思路:

第⼀步:读⼊矩阵四叉树,并将其输出;

第⼆步:利⽤four_dcimal函数得到每⼀个位置的四进制M码,利⽤Chang函数得到规定格式的三位四

文档评论(0)

139****2118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档