空间数据索引


网格索引

将区域用横竖线划分成网格,记录每个网格所包含的空间要素。查询时线计算当前范围所包含的网格,然后找出包含的要素。

网格索引缺点:是当一个要素跨越多个网格时不好处理:
如果记录多份会有大量数据冗余。
如果将要素切分,显示的时候合并,比较麻烦。
如果采用一对多关联,连接查询效率较低,显示时还需要合并。

优点:实现简单

四叉树索引


将已知的空间范围划成四个相等的子空间,将每个或其中几个子空间继续按照一分为四的原则划分下去,这样就形成了一个基于四叉树的空间划分。

四叉树缺点:查询深度较大,大量跨越多个子空间的要素被放在父节点,导致要素分配不均衡。
优点:便于缓存

R树索引

它是一种高度平衡的树,由中间节点和页节点组成。实际数据对象的最小外接矩形存储在页节点中,中间节点通过聚集其低层节点的外接矩形形成,包含所有这些外接矩形。

R树缺点:
不便于关系数据库实现。
数据编辑时修改索引比较麻烦。

优点:适应各种数据,好多数据库软件会自带

总结


很明显我倾向于四叉树索引,可惜性能不给力。
网格索引比较适合点状要素。
R树索引由于是动态索引,不好容易在关系型数据库基础上实现,但是适应性好,是实际使用效果最好的。

你可能感兴趣的:(Gis,空间索引)