Skip to main content
Log in

Analysis of Multi-Dimensional Space-Filling Curves

  • Published:
GeoInformatica Aims and scope Submit manuscript

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. D.J. Abel and D.M. Mark. “A comparative analysis of some 2–D orderings,” Intl Journal of Geographical Information Systems, Vol. 4(1):21–31, 1990.

    Google Scholar 

  2. D.J. Abel and J. Smith. “A data structure and algorithm based on a linear key for a rectangle retrieval problem,” Computer Vision Graphics Image Processing, Vol. 24:1–13, 1983.

    Google Scholar 

  3. J. Alber and R. Niedermeier. “On multi-dimensional Hilbert indexing,” in Proc. of the 4th Intl Computing and Combinatorics Conference, COCOON, Taipei, Taiwan, 329–338, August 1998.

  4. W.G. Aref, K. El-Bassyouni, I. Kamel, and M.F. Mokbel. “Scalable qosaware disk-scheduling,” in International Database Engineering and Applications Symposium, IDEAS, Alberta, Canada, July 2002.

  5. W.G. Aref and I. Kamel. “On multi-dimensional sorting orders,” in Proc. of the 11th Intl Conf. on Database and Expert Systems Applications, DEXA, London, 774–783, September 2000.

  6. T. Asano, D. Ranjan, T. Roos, E. Welzl, and P. Widmayer. “Space-filling curves and their use in the design of geometric data structures,” Theoretical Computer Science, TCS, Vol. 181(1):3–15, 1997.

    Google Scholar 

  7. C. Bohm, G. Klump, and H.-P. Kriegel. “xz-ordering: A space-filling curve for objects with spatial extension,” in Proc. of 6th Intl Symp. on Large Spatial Databases, SSD, Hong Kong, 75–90, July 1999.

  8. G. Breinholt and C. Schierz. “Algorithm 781: Generating Hilbert's space-filling curve by recursion,” ACM Trans. on Mathematical Software, TOMS, Vol. 24(2):184–189, June 1998.

    Google Scholar 

  9. T. Brinkhoff, H.-P. Kriegel, and B. Seeger. “Efficient processing of spatial joins using r-trees,” in Proc. of the Intl Conf. on Management of Data, SIGMOD, Washington, DC, 237–246, May 1993.

  10. A.J. Cole. “A note on space filling curves,” Software-Practice and Experience, SPE, Vol. 13(12):1181–1189, 1983.

    Google Scholar 

  11. D. Comer. “The ubiquitous b-tree,” ACM Computing Surveys, Vol. 11(2):121–137, June 1979.

    Google Scholar 

  12. C. Faloutsos. “Gray codes for partial match and range queries,” IEEE Trans. on Software Engineering, TSE, Vol. 14(10):1381–1393, October 1988.

    Google Scholar 

  13. C. Faloutsos. “Analytical results on the quadtree decomposition of arbitrary rectangles,” Pattern Recognition Letters, Vol. 13(1):31–40, January 1992.

    Google Scholar 

  14. C. Faloutsos and Y. Rong. “Dot: A spatial access method using fractals,” in Proc. of Intl Conf. on Data Engineering, ICDE, Kobe, Japan, 152–159, April 1991.

  15. C. Faloutsos and S. Roseman. “Fractals for secondary key retrieval,” in Proc. of the 8th ACM SIGACT-SIGMOD-SIGART Symp. on Principles of Database Systems, PODS, Philadelphia, 247–252, March 1989.

  16. R.A. Finkel and J.L. Bentley. “Quad trees: a data structure for retrieval on composite keys,” Acta Informatica, Vol. 4:1–9, 1974.

    Google Scholar 

  17. L.M. Goldschlager. “Short algorithms for space-filling curves,” Software-Practice and Experience, SPE, Vol. 11(1):99–100, 1981.

    Google Scholar 

  18. F. Gray. “Pulse code communications,” US Patent 2632058, 1953.

  19. A. Guttman. “R-trees: A dynamic index structure for spatial indexing,” in Proc. of the Intl Conf. on Management of Data, SIGMOD, Boston, MA, 47–57, June 1984.

  20. D. Hilbert. “Ueber stetige abbildung einer linie auf ein flashenstuck,” Mathematishe Annalen, 459–460, 1891.

  21. H.V. Jagadish. “Linear clustering of objects with multiple attributes,” in Proc. of the Intl Conf. on Management of Data, SIGMOD, Atlantic City, NJ, 332–342, June 1990.

  22. I. Kamel and C. Faloutsos. “On packing r-trees,” in Proc. of the 2nd Intl Conf. on Information and knowledge Management, CIKM, Washington, DC, 490–499, November 1993.

  23. I. Kamel and C. Faloutsos. “Hilbert r-tree: An improved r-tree using fractals,” in Proc. of the 20th Intl Conf. on Very Large Data Bases, VLDB, Santiago, Chile, 500–509, September 1994.

  24. J.K. Lawder and P.J.H. King. “Using space-filling curves for multi-dimensional indexing,” in Proc. of the 17th British National Conf. on Databases, BNCOD, UK, 20–35, July 2000.

  25. J.K. Lawder and P.J.H. King. “Querying multi-dimensional data indexed using the Hilbert space filling curve,” SIGMOD Record, Vol. 30(1): March 2001.

  26. S. Liao, M.A. Lopez, and S.T. Leutenegger. “High dimensional similarity search with space-filling curves,” in Proc. of Intl Conf. on Data Engineering, ICDE, Heidelberg, Germany, 615–622, April 2001.

  27. J.M. Mellor-Crummey, D.B. Whalley, and K. Kennedy. “Improving memory hierarchy performance for irregular applications,” in Proc. of the Intl Conf. on Supercomputing, ICS, Rhodes, Greece, 425–433, June 1999.

  28. M.F. Mokbel and W.G. Aref. “Irregularity in multi-dimensional space-filling curves with applications in multimedia databases,” in Proc. of the 2nd Intl Conf. on Information and Knowledge Management, CIKM, Atlanta, GA, 512–519, November 2001.

  29. B. Moon, H.V. Jagadish, C. Faloutsos, and J. Salz. “Analysis of the clustering properties of Hilbert space-filling curve,” IEEE Trans. on Knowledge and Data Engineering, TKDE, Vol. 13(1):124–141, 2001.

    Google Scholar 

  30. E.H. Moore. “On certain crinkly curves,” Trans. Am. Math. Soc., 72–90, 1900.

  31. G.M. Morton. “A computer oriented geodetic data base and a new technique in file sequences,” IBM, 1966.

  32. R. Niedermeier, K. Reinhardt, and P. Sanders. “Towards optimal locality in mesh-indexing,” in Proc. of the 11th Intl Symp. on Fundamentals of Computation Theory, FCT, Krakow, Poland, 364–375, September 1997.

  33. J.A. Orenstein. “Spatial query processing in an object-oriented database system,” in Proc. of the Intl Conf. on Management of Data, SIGMOD, Washington, DC, 326–336, May 1986.

  34. J.A. Orenstein and T.H. Merrett. “A class of data structures for associative searching,” in Proc. of the 3rd ACM SIGACT-SIGMOD-SIGART Symp. on Principles of Database Systems, PODS, Ontario, Canada, 181–190, April 1984.

  35. C.-W. Ou, M. Gunwani, and S. Ranka. “Architecture-independent locality-improving transformations of computational graphs embedded in k-dimensions,” in Proc. of the 9th ACM Intl Conf. on Supercomputing, ICS, Barcelona, Spain, 289–298, July 1995.

  36. G. Peano. “Sur une courbe qui remplit toute une air plaine,” Mathematishe Annalen, Vol. 36:157–160, 1890.

    Google Scholar 

  37. H. Sagan. Space Filling Curves. Springer, Berlin, 1994.

    Google Scholar 

  38. K.C. Sevcik and N. Koudas. “Filter trees for managing spatial data over a range of size granularities,” in Proc. of the 22th Intl Conf. on Very Large Data Bases, VLDB, Bombay, India, 16–27, September 1996.

  39. W. Sierpinski. “Sur une nouvelle courbe qui remplit toute une aire plaine,” Bull. Acad. Sci. Cracovie, SerieA, 462–478, 1912.

  40. M. Thottethodi, S. Chatterjee, and A.R. Lebeck. “Tuning Strassen matrix multiplication algorithm for memory efficiency,” in Proc. of SC98: High Performance Computing and Networking, Orlando, FL, November 1998.

  41. H. Tropf and H. Herzog. “Multidimensional range search in dynamically balanced trees,” Angewandte Informatik, 71–77, 1981.

  42. L. Velho and J. Gomes. “Digital halftoning with space filling curves,” Computer Graphics, Vol. 25(4):81–90, July 1991.

    Google Scholar 

  43. M. White. “N-trees: Large ordered indexes for multi-dimensional space statistical research division,” U.S. Bureau of the Census, 1980.

  44. I.H. Witten and M. Neal. “Using peano curves for bilevel display of continuous tone images,” IEEE Computer Graphics and Applications, 47–52, 1982.

  45. I.H. Witten and B. Wyvill. “On the generation and use of space-filling curves,” Software—Practice and Experience, Vol. 3:519–525, 1983.

    Google Scholar 

  46. Y. Zhang and R.E. Webber. “Space diffusion: An improved parallel halftoning technique using space-filling curves.” in Computer Graphics Proc., 305–312, August 1993.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Mokbel, M.F., Aref, W.G. & Kamel, I. Analysis of Multi-Dimensional Space-Filling Curves. GeoInformatica 7, 179–209 (2003). https://doi.org/10.1023/A:1025196714293

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1025196714293

Navigation