Encyclopedia of Algorithms

2016 Edition
| Editors: Ming-Yang Kao

Quadtrees and Morton Indexing

  • Herman Haverkort
  • Laura Toma
Reference work entry
DOI: https://doi.org/10.1007/978-1-4939-2864-4_585

Years and Authors of Summarized Original Work

  • 2002; Hjaltason, Samet

  • 2006; Agarwal, Arge, Danner

  • 2010; de Berg, Haverkort, Thite, Toma

  • 2013; McGranaghan, Haverkort, Toma

Problem Definition

The quadtree describes a class of data structures for geometric objects. A quadtree partitions space hierarchically using a stopping rule that decides when a region is small enough so that it does not need to be subdivided further. If the space is d dimensional, a quadtree recursively divides a d-dimensional hypercube containing the input data into 2d hypercubes until each region satisfies the given stopping rule. In 2D, the hypercubes are squares. Three-dimensional quadtrees are also known as octrees. Quadtrees have been used for many types of data, such as points, line segments, polygons, rectangles, curves, and images, and for many types of applications. For a detailed presentation, we refer to the book by Samet [10]. While their worst-case behavior is good only in some simple cases, quadtrees...

Keywords

IO-efficient algorithms Segment intersection Space decomposition Space-filling curve 
This is a preview of subscription content, log in to check access.

Recommended Reading

  1. 1.
    Agarwal PK, Arge L, Danner A (2006) From point cloud to grid DEM: a scalable approach. In: Proceedings of the 12th symposium on spatial data handling, Vienna, pp 771–788Google Scholar
  2. 2.
    de Berg M, Haverkort H, Thite S, Toma L (2010) Star-quadtrees and guard-quadtrees: I/O-efficient indexes for fat triangulations and low-density planar subdivisions. Comput Geom 43(5):493–513MathSciNetzbMATHCrossRefGoogle Scholar
  3. 3.
    Gargantini I (1982) An effective way to represent quadtrees. Commun ACM 25(12):905–910zbMATHCrossRefGoogle Scholar
  4. 4.
    Haverkort H, Toma L, Wei BP (2013) An edge quadtree for external memory. In: Proceedings of the 12th international symposium on experimental algorithms, Rome, pp 115–126Google Scholar
  5. 5.
    Hjaltason G, Samet H (1999) Improved bulk-loading algorithms for quadtrees. In: Proceedings of the ACM international symposium on advances in GIS, Kansas City, pp 110–115Google Scholar
  6. 6.
    Hjaltason GR, Samet H (2002) Speeding up construction of PMR quadtree-based spatial indexes. VLDB J 11:190–137CrossRefGoogle Scholar
  7. 7.
    Hjaltason G, Samet H, Sussmann Y (1997) Speeding up bulk-loading of quadtrees. In: Proceedings of the ACM international symposium on advances in GIS, Las VegasCrossRefGoogle Scholar
  8. 8.
    Löffler M, Mulzer W (2011) Triangulating the square and squaring the triangle: quadtrees and delaunay triangulations are equivalent. In: Proceedings of the 22nd ACM-SIAM symposium on discrete algorithms (SODA), San Francisco, pp 1759–1777Google Scholar
  9. 9.
    Nelson R, Samet H (1987) A population analysis for hierarchical data structures. In: Proceeding of the SIGMOD, San Francisco, pp 270–277Google Scholar
  10. 10.
    Samet H (2006) Foundations of multidimensional and metric data structures. Morgan-Kaufmann, San FranciscozbMATHGoogle Scholar
  11. 11.
    Samet H, Webber R (1985) Storing a collection of polygons using quadtrees. ACM Trans Graph 4(3):182–222CrossRefGoogle Scholar
  12. 12.
    Samet H, Shaffer C, Webber R (1986) The segment quadtree: a linear quadtree-based representation for linear features. In: Data structures for raster graphics pp 91–123CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2016

Authors and Affiliations

  1. 1.Department of Computer Science, Eindhoven University of TechnologyEindhovenThe Netherlands
  2. 2.Department of Computer Science, Bowdoin CollegeBrunswickUSA