From Point Cloud to Grid DEM: A Scalable Approach

  • Pankaj K. Agarwal
  • Lars Arge
  • Andrew Danner


Given a set S of points in ℝ3 sampled from an elevation function H : ℝ2 → ℝ, we present a scalable algorithm for constructing a grid digital elevation model (DEM). Our algorithm consists of three stages: First, we construct a quad tree on S to partition the point set into a set of non-overlapping segments. Next, for each segment q, we compute the set of points in q and all segments neighboring q. Finally, we interpolate each segment independently using points within the segment and its neighboring segments.

Data sets acquired by LIDAR and other modern mapping technologies consist of hundreds of millions of points and are too large to fit in main memory. When processing such massive data sets, the transfer of data between disk and main memory (also called I/O), rather than the CPU time, becomes the performance bottleneck. We therefore present an I/O-efficient algorithm for constructing a grid DEM. Our experiments show that the algorithm scales to data sets much larger than the size of main memory, while existing algorithms do not scale. For example, using a machine with 1GB RAM, we were able to construct a grid DEM containing 1.3 billion cells (occupying 1.2GB) from a LIDAR data set of over 390 million points (occupying 20GB) in about 53 hours. Neither ArcGIS nor GRASS, two popular GIS products, were able to process this data set.


Grid Cell Point Cloud Main Memory Input Point Internal Memory 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Agarwal PK, Arge L, Procopiuc O, Vitter JS (2001) A framework for index bulk loading and dynamization. In: Proc Int Colloquium on Automata, Languages, and Programming, pp 115–127Google Scholar
  2. 2.
    Aggarwal A, Vitter JS (1988) The Input/Output complexity of sorting and related problems. Communications of the ACM 31(9):1116–1127CrossRefGoogle Scholar
  3. 3.
    Applied Imagery (5 March 2006) http://www.appliedimagery.comGoogle Scholar
  4. 4.
    Arge L (1997) External-memory algorithms with applications in geographic information systems. In: Kreveld M van, Nievergelt J, Roos T, Widmayer P (eds) Algorithmic Foundations of GIS (= LNCS 1340). Springer-Verlag, pp 213–254Google Scholar
  5. 5.
    Arge L (2003) The buffer tree: A technique for designing batched external data structures. Algorithmica 37(1):1–24CrossRefGoogle Scholar
  6. 6.
    Arge L, Barve R, Procopiuc O, Toma L, Vengroff DE, Wickremesinghe R (1999) TPIE User Manual and Reference (ed 0.9.01a). Duke University (The manual and software distribution are available on the web at Scholar
  7. 7.
    Arge L, Procopiuc O, Vitter JS (2002) Implementing I/O-efficient data structures using TPIE. In: Proc European Symp on Algorithms, pp 88–100Google Scholar
  8. 8.
    Berg M de, Kreveld M van, Overmars M, Schwarzkopf O (1997) Computational Geometry — Algorithms and Applications. Springer Verlag, BerlinGoogle Scholar
  9. 9.
    Hjaltason GR, Samet H (2002) Speeding up construction of quadtrees for spatial indexing. VLDB 11(2):109–137CrossRefGoogle Scholar
  10. 10.
    Hutchinson MF (1989) A new procedure for gridding elevation and stream line data with automatic removal of pits. J of Hydrology 106:211–232CrossRefGoogle Scholar
  11. 11.
    Lee S, Wolberg G, Shin SY (1997) Scattered data interpolation with multilevel B-splines. IEEE Transactions on Visualization and Computer Graphics 3(3):228–244CrossRefGoogle Scholar
  12. 12.
    Mitas L, Mitasova H (1999) Spatial interpolation. In: Longley P, Goodchild MF, Maguire DJ, Rhind DW (eds) Geographic Information Systems — Principles, Techniques, Management, and Applications. WileyGoogle Scholar
  13. 13.
    Mitasova H, Mitas L (1993) Interpolation by regularized spline with tension: I. theory and implementation. Mathematical Geology 25:641–655CrossRefGoogle Scholar
  14. 14.
    Mitasova H, Mitas L, Brown WM, Gerdes DP, Kosinovsky I, Baker T (1995) Modelling spatially and temporally distributed phenomena: new methods and tools for GRASS GIS. Int J Geographical Information Systems 9(4):433–446Google Scholar
  15. 15.
    NC-Floodmaps (5 March 2006) http://www.ncfloodmaps.comGoogle Scholar
  16. 16.
    NOAA-CSC (5 March 2006) LIDAR Data Retrieval Tool-LDART. Scholar
  17. 17.
    Pouderoux J, Tobor I, Gonzato JC, Guitton P (2004) Adaptive hierarchical RBF interpolation for creating smooth digital elevation models. In: ACM-GIS Nov, pp 232–240Google Scholar
  18. 18.
    Sibson R (1982) A brief description of natural neighbor interpolation. In: Barnett V (ed) Interpreting Multivariate Data. John Wiley and Sons, pp 21–36Google Scholar
  19. 19.
    Wendland H (2002) Fast evaluation of radial basis functions: Methods based on partition of unity. In Chui CK, Schumaker LL, Stöckler J (eds) Approxi mation Theory X: Wavelets, Splines, and Applications. Vanderbilt University Press, Nashville, pp 473–483Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Pankaj K. Agarwal
    • 1
  • Lars Arge
    • 1
    • 2
  • Andrew Danner
    • 1
  1. 1.Department of Computer ScienceDuke UniversityDurhamUSA
  2. 2.Department of Computer ScienceUniversity of AarhusAarhusDenmark

Personalised recommendations