SpatiaLite:用于多维数据的RTreeDistWithin

时间:2016-05-04 20:54:46

标签: sqlite spatial spatial-index spatialite

RTreeDistWithin( x Double precision , y Double precision , radius Double precision )

此函数从R *树空间索引中检索其MBR与给定圆上外接的方形相交的任何实体。是否存在3维及更多维数据的模拟?

1 个答案:

答案 0 :(得分:0)

SpatiaLite中没有任何与R * Tree相关的函数的三维或者n维实现。根据{{​​3}}:

  

(...)R * Tree定义了一个基于矩形的树状结构(R * Tree中的R完全代表Rectangle)。

通常,空间数据库和空间索引旨在管理空间数据(将空间数据理解为地理数据),因此有趣的坐标是X和Y(或经度/纬度)。 Z(或海拔高度)不太重要,在处理空间索引时不予考虑。

因此,简而言之,Spatialite不适用于n维数据,您无法在SpatiaLite中定义n维(n> 2)R *树空间索引。您可能需要考虑使用SpatiaLite尝试做什么,因为这可能不是实现目标的正确工具。

作为一种解决方法,如果您仍希望使用空间数据库来存储数据,则可以根据它在二维平面中的投影来考虑您的n维数据。每个投影都将存储在具有空间索引的表格中(您需要n-1个投影来管理n维数据)。