GeoInformatica

, Volume 7, Issue 3, pp 179–209

# Analysis of Multi-Dimensional Space-Filling Curves

• Mohamed F. Mokbel
• Walid G. Aref
• Ibrahim Kamel
Article

## 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.

space-filling curves fractals locality-preserving mapping performance analysis

## References

1. 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. 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. 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.Google Scholar
4. 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.Google Scholar
5. 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.Google Scholar
6. 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. 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.Google Scholar
8. 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. 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.Google Scholar
10. 10.
A.J. Cole. “A note on space filling curves,” Software-Practice and Experience, SPE, Vol. 13(12):1181–1189, 1983.Google Scholar
11. 11.
D. Comer. “The ubiquitous b-tree,” ACM Computing Surveys, Vol. 11(2):121–137, June 1979.Google Scholar
12. 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. 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. 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.Google Scholar
15. 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.Google Scholar
16. 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. 17.
L.M. Goldschlager. “Short algorithms for space-filling curves,” Software-Practice and Experience, SPE, Vol. 11(1):99–100, 1981.Google Scholar
18. 18.
F. Gray. “Pulse code communications,” US Patent 2632058, 1953.Google Scholar
19. 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.Google Scholar
20. 20.
D. Hilbert. “Ueber stetige abbildung einer linie auf ein flashenstuck,” Mathematishe Annalen, 459–460, 1891.Google Scholar
21. 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.Google Scholar
22. 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.Google Scholar
23. 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.Google Scholar
24. 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.Google Scholar
25. 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.Google Scholar
26. 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.Google Scholar
27. 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.Google Scholar
28. 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.Google Scholar
29. 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. 30.
E.H. Moore. “On certain crinkly curves,” Trans. Am. Math. Soc., 72–90, 1900.Google Scholar
31. 31.
G.M. Morton. “A computer oriented geodetic data base and a new technique in file sequences,” IBM, 1966.Google Scholar
32. 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.Google Scholar
33. 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.Google Scholar
34. 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.Google Scholar
35. 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.Google Scholar
36. 36.
G. Peano. “Sur une courbe qui remplit toute une air plaine,” Mathematishe Annalen, Vol. 36:157–160, 1890.Google Scholar
37. 37.
H. Sagan. Space Filling Curves. Springer, Berlin, 1994.Google Scholar
38. 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.Google Scholar
39. 39.
W. Sierpinski. “Sur une nouvelle courbe qui remplit toute une aire plaine,” Bull. Acad. Sci. Cracovie, SerieA, 462–478, 1912.Google Scholar
40. 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.Google Scholar
41. 41.
H. Tropf and H. Herzog. “Multidimensional range search in dynamically balanced trees,” Angewandte Informatik, 71–77, 1981.Google Scholar
42. 42.
L. Velho and J. Gomes. “Digital halftoning with space filling curves,” Computer Graphics, Vol. 25(4):81–90, July 1991.Google Scholar
43. 43.
M. White. “N-trees: Large ordered indexes for multi-dimensional space statistical research division,” U.S. Bureau of the Census, 1980.Google Scholar
44. 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.Google Scholar
45. 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. 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.Google Scholar

## Authors and Affiliations

• Mohamed F. Mokbel
• 1
• Walid G. Aref
• 1
• Ibrahim Kamel
• 2
1. 1.Department of Computer SciencesPurdue UniversityWest Lafayette
2. 2.Panasonic Information and Networking Technologies LaboratoryPrinceton