您的当前位置:首页正文

矢量栅格混合数据结构中的数据组织与处理

2022-06-19 来源:汇智旅游网
 

从图中可以看出,十进制Morton码的顺序就是自下而上合并的顺序。按照自然数顺序扫描即可生成四叉树,关键问题是找到十进制Morton码与具体像素行、列号的关系。一旦找到这种关系,就可以在逐行、逐列时先计算对应的Morton码,就是该格网值对应的线性表下标。可以直接按照下标顺序扫描生成四叉树。 

笔者发展了两种计算十进制Morton码的方法,一种是基于数学公式的计算方法;另一种是基于按位操作的计算方法。数学计算的具体公式和过程如下: 

计算十进制的Morton码与计算四进制的Morton码相似,首先将行号II转换为一种特殊代码If,计算方法如下: 

?

??k?0

??

Ik?II ?当k?0时?? Ik?INT?Ik?1/2? ?当k?0时??

???If?

MOD?Ik,2??4k

同理可以计算列的特殊代码Jf,然后用下式计算十进制的Morton码MD: 

MD?2?If?Jf 

log2II

 ,M2)表示(本文中以后所有Morton码均

指十进制Morton码)。前一个M1表示该点所在的基本格网的地址码,后一个M2表示该点对应的细分格网的Morton码,即将一对x、y坐标转换为两个Morton码。这种方法可以将栅格数据的精度提高256倍,而存储量仅在有点、线通过的格网上增加2字节。  

§4.3 索引方式  

在数据库技术中,人们通常使用B树或B+树索引大型文件,

这是提高数据库操作效率的一项重要技术。栅格数据转换成四叉树或二维行程编码以后,也是一个大型的线性表文件,因而索引技术已是非常重要的。B+树是和应用于插入、删除、修改操作比较频繁的数据文件,对于此类操作,一般情况下只需要局部调整,不需要引起整个数据库的大量变化;这是B+树最大的优点。然而,我们需要注意的是:对于B+树,是以数据块的大小建立索引项的。而GIS中是几何数据,尤其是线性四叉树(以下简称LQ)和二维

因篇幅问题不能全部显示,请点此查看更多更全内容