TY - JOUR

T1 - Star-quadtrees and guard-quadtrees: I/O-efficient indexes for fat triangulations and low-density planar subdivisions

AU - Berg, de, M.T.

AU - Haverkort, H.J.

AU - Thite, S.

AU - Toma, L.

PY - 2010

Y1 - 2010

N2 - We present a new I/O-efficient index structure for storing planar subdivisions. This so-called guard-quadtree is a compressed linear quadtree, which is provably efficient for map overlay, point location, and range queries in low-density subdivisions. In particular, we can preprocess a low-density subdivision with n edges, in O(sort(n)) I/Os, to build a guard-quadtree that allows us to:
(i) compute the intersections between the edges of two such preprocessed subdivisions in O(scan(n)) I/Os, where n is the total number of edges in the two subdivisions;
(ii) answer a single point location query in O(logBn) I/Os, and k batched point location queries in O(scan(n)+sort(k)) I/Os; and
(iii) answer range queries for any constant-complexity query range Q in O(1/g(logBn) + scan (kg)) I/Os for every e>0, where ke is the number of edges of the subdivision within distance ediam(Q) from Q.
For the special case where the subdivision is a fat triangulation, we show how to obtain the same results with an ordinary (uncompressed) linear quadtree, which we call the star-quadtree. The star-quadtree is fully dynamic and needs only O(logBn) I/Os per update.
Our algorithms and data structures improve on the previous best known bounds for overlaying general subdivisions, both in the number of I/Os and space usage. The constants in the asymptotic bounds are small, which makes our results applicable in practice. Moreover, our algorithms are simpler than previous approaches and almost all of them are cache-oblivious.

AB - We present a new I/O-efficient index structure for storing planar subdivisions. This so-called guard-quadtree is a compressed linear quadtree, which is provably efficient for map overlay, point location, and range queries in low-density subdivisions. In particular, we can preprocess a low-density subdivision with n edges, in O(sort(n)) I/Os, to build a guard-quadtree that allows us to:
(i) compute the intersections between the edges of two such preprocessed subdivisions in O(scan(n)) I/Os, where n is the total number of edges in the two subdivisions;
(ii) answer a single point location query in O(logBn) I/Os, and k batched point location queries in O(scan(n)+sort(k)) I/Os; and
(iii) answer range queries for any constant-complexity query range Q in O(1/g(logBn) + scan (kg)) I/Os for every e>0, where ke is the number of edges of the subdivision within distance ediam(Q) from Q.
For the special case where the subdivision is a fat triangulation, we show how to obtain the same results with an ordinary (uncompressed) linear quadtree, which we call the star-quadtree. The star-quadtree is fully dynamic and needs only O(logBn) I/Os per update.
Our algorithms and data structures improve on the previous best known bounds for overlaying general subdivisions, both in the number of I/Os and space usage. The constants in the asymptotic bounds are small, which makes our results applicable in practice. Moreover, our algorithms are simpler than previous approaches and almost all of them are cache-oblivious.

U2 - 10.1016/j.comgeo.2009.11.001

DO - 10.1016/j.comgeo.2009.11.001

M3 - Article

VL - 43

SP - 493

EP - 513

JO - Computational Geometry

JF - Computational Geometry

SN - 0925-7721

IS - 5

ER -