直面空间数据中网格索引和四叉树索引的重组及优化的一模一样栽方案。面空间数据中网格索引和四叉树索引的组合及优化的相同栽方案。

章版权由作者李晓晖和博客园共有,若转载请叫大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/

文章版权由作者李晓晖和博客园共有,若转载请给大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

对判断一个点落在面图层中谁要素上之求,在自己前的博客:WebGIS中平等种植根据网格索引判断点面关系之计(http://www.cnblogs.com/naaoveGIS/p/5148185.html)中有详细的叙说。其规律大致为:

             图片 1

那个处理步骤为:

                     图片 2

1.背景

对判断一个点落在面图层中谁要素上之求,在我前面的博客:WebGIS中同样种植根据网格索引判断点面关系之方(http://www.cnblogs.com/naaoveGIS/p/5148185.html)中发生详细的叙说。其规律大致为:

             图片 3

夫拍卖步骤为:

                     图片 4

2.手上网格索引的几个短

a.网格索引方案分为了一个目录文件及一个数据文件,任何要进入时都会优先念取索引文件,再读取数据文件,那么深爱并发资源争快状态,不便利并发支持。

b.网格的轻重会重影响及查询效率,但是只要网格建立之够小,那么索引文件不断增大,同样会招致磁盘寻址花费的年华长。

c.数据的读取一定要是通过少软IO,一浅读索引,一破读数据,会潜移默化读取效率。

2.手上网格索引的几只缺陷

a.网格索引方案分为了一个目文件与一个数据文件,任何要进入时俱会先念取索引文件,再读取数据文件,那么稀易出现资源争快状态,不便于并发支持。

b.网格的大大小小会严重影响至查询效率,但是如果网格建立的够用小,那么索引文件不断增大,同样会促成磁盘寻址花费的年月净增。

c.数据的读取一定要是经少次等IO,一不成读索引,一次于读数据,会潜移默化读取效率。

3.方案的优化,基于网格索引的索引四叉树划分

季交叉树、R树等统统是空间索引常用之算法,这里我选下四叉索引来进行更为优化。四交树索引原理非常简单,即以一个限量根据深度,不断平分,如图所示:

                     图片 5

此优化思路是:将要素首先进行四叉树平分,然后针对每个叶子节点包含的范围重新展开网格索引生成:

            图片 6

3.方案的优化,基于网格索引的索引四叉树划分

季立交树、R树等皆是空间索引常用底算法,这里自己选择以四叉索引来进行更进一步优化。四交叉树索引原理非常简单,即用一个限制根据深度,不断平分,如图所示:

                     图片 7

这里优化思路是:将要素首先进行四叉树平分,然后对每个叶子节点包含的限量更开展网格索引生成:

            图片 8

4.优化方案的详细描述

4.优化方案的详细描述

4.1查找引的变化步骤

a.首先生化作数据文件。

b.通过安装的四叉树深度,算有叶子节点的个数。然后经取得到之素四交锋坐标,算有叶子节点的四角范围:leafminx、leafminy、leafmaxx、leafmaxy。

c.因要素个数与网格因子,算有全范围外网格的个数,用所有范围的季竞技坐标与网格因子计算,得出一个网格的BlockXsize和BlokcYsize。

d.针对每个叶子节点,建立拖欠节点的网格索引,索引中涵盖了网格与素的照应关系。

变更文书截图:

                        图片 9

4.1搜引的转步骤

a.首先生成为数据文件。

b.通过设置的四叉树深度,算有叶子节点的个数。然后经取得到的元素四竞赛坐标,算有叶子节点的四角范围:leafminx、leafminy、leafmaxx、leafmaxy。

c.因要素个数和网格因子,算有一切范围外网格的个数,用全套范围的季竞技坐标与网格因子计算,得出一个网格的BlockXsize和BlokcYsize。

d.针对每个叶子节点,建立拖欠节点的网格索引,索引中带有了网格与素的呼应关系。

扭转文书截图:

                        图片 10

4.2数码读取

a.读取配置获取到要素的四角范围mapminx、mapminy、mapmaxx、mapmaxy、leafgeoxsize、leafgeoysize。

b.通过mapminx、mapminy、leafgeoxsize、leafgeoysize参数算有该XY坐标所在的网格索引编号。

c.读博该网格索引,获取到该索引的leafminx、leafminy、leafmaxx、leafmaxy、blockxsize、blockysize。

d.通过leafmaxx、leafmaxy以及blockxsize、blockysize算有XY所在网格索引的字节位置pos,将磁盘指针动至该pos处。

e.获得到目中含的元素信息,比如要素所于的数据文件中之datapos。

f.读取数据文件,在拖欠公文的datapos处用详细信息读取返回。

4.2数量读取

a.读取配置获取到要素的四角范围mapminx、mapminy、mapmaxx、mapmaxy、leafgeoxsize、leafgeoysize。

b.通过mapminx、mapminy、leafgeoxsize、leafgeoysize参数算有该XY坐标所在的网格索引编号。

c.读博该网格索引,获取到该索引的leafminx、leafminy、leafmaxx、leafmaxy、blockxsize、blockysize。

d.通过leafmaxx、leafmaxy以及blockxsize、blockysize算有XY所在网格索引的字节位置pos,将磁盘指针动到该pos处。

e.获得到目中蕴含的要素信息,比如要素所当的数据文件中之datapos。

f.读取数据文件,在该公文之datapos处用详细信息读取返回。

5.方案优点总结

a.将一个大索引文件分为基本上个目录文件,在大气按照机点并发访问时,可以以压力负载至每文件及,减少同一文件读取时之资源争快IO瓶颈。

b.每一个索引文件大小大大削弱多少,读取会还快,磁盘寻址也会见再次快。

c.也增加网格命中单个(非多只)要素的几率,可以以每个网格的尺寸进一步压缩,其促成的网格索引增大会平摊到每个网格索引上,从而使副作用变多少。

5.方案优点总结

a.将一个大索引文件分为基本上只目录文件,在大方依机点并发访问时,可以以压力负载至每文件上,减少同一文件读取时之资源争快IO瓶颈。

b.每一个目录文件大小大大削弱多少,读取会另行快,磁盘寻址也会见再快。

c.也增网格命中单个(非多只)要素的票房价值,可以拿每个网格的轻重进一步压缩,其造成的网格索引增大会平摊到每个网格索引上,从而使副作用变多少。

6.更是优化

a.以读取索引基本信息后好以拖欠信息缓存至内存中,减少Config文件之IO次数。

b.生成索引时,如果一个网格只含了一个因素的消息,可以用欠信息为成至网格索引中。这样,查询时,如果查询到之网格只含单个要素,则好一直在目中将要素信息获得,而未需再次指向数码索引做读取操作,减少对数据索引的IO次数。

                                                                        
—–欢迎转载,但保留版权,请吃大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                       
    
如果你看本文确实帮了公,可以微信扫一扫,进行小额的打赏和鼓励,谢谢
^_^

                                                                                                   
        图片 11

6.更优化

a.于读取索引基本信息后好拿欠消息缓存至内存中,减少Config文件的IO次数。

b.生成索引时,如果一个网格只含了一个要素的消息,可以拿欠信息也做至网格索引中。这样,查询时,如果查询到的网格只含单个要素,则可以直接以目录中将要素信息得到,而休欲还对数据索引做读取操作,减少针对数码索引的IO次数。

                                                                        
—–欢迎转载,但保留版权,请为大庭广众处于标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                       
    
如果你认为本文确实帮了公,可以微信扫一扫,进行小额的打赏和鞭策,谢谢
^_^

                                                                                                   
        图片 12

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注