麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

GIS空间数据库(27)Hilbert曲线

与Z-排序类似,Hilbert曲线也是一种空间填充曲线,它利用一个线性序列来填充空间,其构造过程如图所示。

理想情况下,这种映射会带来更少的磁盘访问,但由于磁盘访问的次数依赖于很多因素,如磁盘页面容量、分割算法、插入顺序等,因此,对于不同的查询,其磁盘访问的次数会有很大的不同。通常,可将给定查询代表的子空间中每个网格点的散列单元平均数,来作为衡量磁盘访问效率的标准。

实验证明,Hi1bert曲线的方法比Z-排序好一些,因为它没有斜线。不过Hilbert曲线算法的计算量要比Z-排序复杂。

Hilbert曲线的算法如下(Faloutsos and Roseman,1989):

(1)读入x和y坐标的n比特二进制表示。

(2)隔行扫描二进制比特到一个字符串。

(3)将字符串自左至右分成2比特长的串si,其中i=1,...,n

(4)规定每个2比特长的串的十进制值di,例如“00”等于0,“01”等于1,“10”等于3,“11”等于2。

(5)对于数组中每个数字j,如果j=0把后面数组中出现的所有1变成3,并把所有出现的3变成1。j=3把后面数组中出现的所有0变成2,并把所有出现的2变成0。

(6)将数组中每个值按步骤5转换成二进制表示(2比特长的串),自左至右连接所有的串,并计算其十进制值。

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
微信打赏
支付宝打赏
手机阅读
麻辣GIS微信打赏
请小编吃包辣条
麻辣GIS支付宝打赏
请小编吃支雪糕

仅有一条评论

  1. 麻辣GIS-GIS小白
    1#
    GIS小白  · 2018-11-21 17:12

    C到D图是如何做到的?

留言板(小编看到第一时间回复)