Analysis of Multi-Dimensional Space-Filling Curves

A space-filling curve is a way of mapping the multi-dimensional space into the 1-D space. It acts like a thread that passes through every cell element (or pixel) in the D-dimensional space so that every cell is visited exactly once. There are numerous kinds of space-filling curves. The difference between such curves is in their way of mapping to the 1-D space. Selecting the appropriate curve for any application requires knowledge of the mapping scheme provided by each space-filling curve. A space-filling curve consists of a set of segments. Each segment connects two consecutive multi-dimensional points. Five different types of segments are distinguished, namely, Jump, Contiguity, Reverse, Forward, and Still. A description vector V=(J, C, R, F, S), where J, C, R, F, and S are the percentages of Jump, Contiguity, Reverse, Forward, and Still segments in the space-filling curve, encapsulates all the properties of a space-filling curve. The knowledge of V facilitates the process of selecting the appropriate space-filling curve for different applications. Closed formulas are developed to compute the description vector V for any D-dimensional space and grid size N for different space-filling curves. A comparative study of different space-filling curves with respect to the description vector is conducted and results are presented and discussed.

[1]  Christos Faloutsos,et al.  Gray Codes for Partial Match and Range Queries , 1988, IEEE Trans. Software Eng..

[2]  A. J. Cole,et al.  A note on space filling curves , 1983, Softw. Pract. Exp..

[3]  Desh Ranjan,et al.  Space-Filling Curves and Their Use in the Design of Geometric Data Structures , 1997, Theor. Comput. Sci..

[4]  J. L. Smith,et al.  A data structure and algorithm based on a linear key for a rectangle retrieval problem , 1983, Comput. Vis. Graph. Image Process..

[5]  T. H. Merrett,et al.  A class of data structures for associative searching , 1984, PODS.

[6]  Neal,et al.  Using Peano Curves for Bilevel Display of Continuous-Tone Images , 1982, IEEE Computer Graphics and Applications.

[7]  Jon Louis Bentley,et al.  Quad trees a data structure for retrieval on composite keys , 1974, Acta Informatica.

[8]  H. V. Jagadish,et al.  Linear clustering of objects with multiple attributes , 1990, SIGMOD '90.

[9]  Luiz Velho,et al.  Digital halftoning with space filling curves , 1991, SIGGRAPH.

[10]  Nick Koudas,et al.  Filter Trees for Managing Spatial Data over a Range of Size Granularities , 1996, VLDB.

[11]  Mithuna Thottethodi,et al.  Tuning Strassen's Matrix Multiplication for Memory Efficiency , 1998, Proceedings of the IEEE/ACM SC98 Conference.

[12]  Rolf Niedermeier,et al.  On Multi-dimensional Hilbert Indexings , 1998, COCOON.

[13]  Hermann Tropf,et al.  Multimensional Range Search in Dynamically Balanced Trees , 1981, Angew. Inform..

[14]  Peter J. H. King,et al.  Querying multi-dimensional data indexed using the Hilbert space-filling curve , 2001, SGMD.

[15]  Christoph Schierz,et al.  Algorithm 781: generating Hilbert's space-filling curve by recursion , 1998, TOMS.

[16]  Christos Faloutsos,et al.  DOT: A Spatial Access Method Using Fractals , 1991, ICDE.

[17]  Christos Faloutsos,et al.  Analytical results on the quadtree decomposition of arbitrary rectangles , 1992, Pattern Recognit. Lett..

[18]  Hans-Peter Kriegel,et al.  Efficient processing of spatial joins using R-trees , 1993, SIGMOD Conference.

[19]  Peter J. H. King,et al.  Using Space-Filling Curves for Multi-dimensional Indexing , 2000, BNCOD.

[20]  G. Peano Sur une courbe, qui remplit toute une aire plane , 1890 .

[21]  Christos Faloutsos,et al.  Hilbert R-tree: An Improved R-tree using Fractals , 1994, VLDB.

[22]  Christos Faloutsos,et al.  Analysis of the Clustering Properties of the Hilbert Space-Filling Curve , 2001, IEEE Trans. Knowl. Data Eng..

[23]  Jack A. Orenstein Spatial query processing in an object-oriented database system , 1986, SIGMOD '86.

[24]  Mario A. López,et al.  High dimensional similarity search with space filling curves , 2001, Proceedings 17th International Conference on Data Engineering.

[25]  Sanjay Ranka,et al.  Architecture-independent locality-improving transformations of computational graphs embedded in k-dimensions , 1995, ICS '95.

[26]  Walid G. Aref,et al.  Scalable QoS-aware disk-scheduling , 2002, Proceedings International Database Engineering and Applications Symposium.

[27]  Walid G. Aref,et al.  On Multi-dimensional Sorting Orders , 2000, DEXA.

[28]  Christian Böhm,et al.  XZ-Ordering: A Space-Filling Curve for Objects with Spatial Extension , 1999, SSD.

[29]  H. Sagan Space-filling curves , 1994 .

[30]  Christos Faloutsos,et al.  On packing R-trees , 1993, CIKM '93.

[31]  Ken Kennedy,et al.  Improving memory hierarchy performance for irregular applications , 1999, ICS '99.

[32]  Robert E. Webber,et al.  Space diffusion: an improved parallel halftoning technique using space-filling curves , 1993, SIGGRAPH.

[33]  Walid G. Aref,et al.  Irregularity in multi-dimensional space-filling curves with applications in multimedia databases , 2001, CIKM '01.

[34]  David M. Mark,et al.  A Comparative Analysis of some 2-Dimensional Orderings , 1990, Int. J. Geogr. Inf. Sci..

[35]  Leslie M. Goldschlager Short algorithms for space‐filling curves , 1981, Softw. Pract. Exp..

[36]  Rolf Niedermeier,et al.  Towards optimal locality in mesh-indexings , 2002, Discret. Appl. Math..

[37]  Christos Faloutsos,et al.  Fractals for secondary key retrieval , 1989, PODS.

[38]  Brian Wyvill,et al.  On the generation and use of space‐filling curves , 1983, Softw. Pract. Exp..

[39]  E. H. Moore On certain crinkly curves , 1900 .

[40]  Antonin Guttman,et al.  R-trees: a dynamic index structure for spatial searching , 1984, SIGMOD '84.

[41]  D. Hilbert Ueber die stetige Abbildung einer Line auf ein Flächenstück , 1891 .

[42]  Douglas Comer,et al.  Ubiquitous B-Tree , 1979, CSUR.