Generating Raster DEM from Mass Points via TIN Streaming Jack Snoeyink UNC Chapel Hill Jonathan Shewchuk UC Berkeley Tim Thirion UNC Chapel Hill Martin.

Slides:



Advertisements
Similar presentations
Generating Realistic Terrains with Higher-Order Delaunay Triangulations Thierry de Kok Marc van Kreveld Maarten Löffler Center for Geometry, Imaging and.
Advertisements

LAS format and processing DTMs from tins and local binning Arrowsmith.
Efficient access to TIN Regular square grid TIN Efficient access to TIN Let q := (x, y) be a point. We want to estimate an elevation at a point q: 1. should.
U.S. Department of the Interior U.S. Geological Survey.
Lars Arge 1/13 Efficient Handling of Massive (Terrain) Datasets Lars Arge A A R H U S U N I V E R S I T E T Department of Computer Science.
Esri UC 2014 | Technical Workshop | ArcGIS 3D Analyst - Lidar Applications Clayton Crawford.
Modeling & Analyzing Massive Terrain Data Sets (STREAM Project) Pankaj K. Agarwal Workshop on Algorithms for Modern Massive Data Sets.
Digital Terrain Model (DTM)
Raster Based GIS Analysis
Steve Kopp and Steve Lynch
University of Wisconsin-Milwaukee Geographic Information Science Geography 625 Intermediate Geographic Information Science Instructor: Changshan Wu Department.
Using ESRI ArcGIS 9.3 Arc ToolBox 2 (3D Analyst)
3D and Surface/Terrain Analysis
I/O-Efficient Construction of Constrained Delaunay Triangulations Pankaj K. Agarwal, Lars Arge, and Ke Yi Duke University.
Terrain Datasets: How good are they? Celso Ferreira¹, Francisco Olivera¹, Dean Djokic² ¹Texas A & M University ² Environmental Systems Research Institute.
Celso Ferreira¹, Francisco Olivera², Dean Djokic³ ¹ PH.D. Student, Civil Engineering, Texas A&M University ( ² Associate.
Streaming Computation of Delaunay Triangulations Jack Snoeyink UNC Chapel Hill Jonathan Shewchuk UC Berkeley Yuanxin Liu UNC Chapel Hill Martin Isenburg.
Large Mesh Simplification using Processing Sequences Martin Isenburg UNC Chapel Hill Peter Lindstrom LLNL Livermore Stefan Gumhold GRIS Tubingen Jack Snoeyink.
Geographic Information Systems
FALL 2006CENG 351 Data Management and File Structures1 External Sorting.
Lars Arge 1/14 A A R H U S U N I V E R S I T E T Department of Computer Science Efficient Handling of Massive (Terrain) Datasets Professor Lars Arge University.
Streaming Compression of Triangle Meshes Martin Isenburg University of California at Berkeley Jack Snoeyink University of North Carolina at Chapel Hill.
Lecture 06: Map Data Structures Geography 128 Analytical and Computer Cartography Spring 2007 Department of Geography University of California, Santa Barbara.
Geographic Information Systems : Data Types, Sources and the ArcView Program.
UNC Chapel Hill M. C. Lin Overview of Last Lecture About Final Course Project –presentation, demo, write-up More geometric data structures –Binary Space.
EENG449b/Savvides Lec /13/04 April 13, 2004 Prof. Andreas Savvides Spring EENG 449bG/CPSC 439bG Computer.
From Elevation Data to Watershed Hierarchies Pankaj K. Agarwal Duke University Supported by ARO W911NF
Martin Isenburg UC Berkeley Streaming Meshes Peter Lindstrom LLNL.
Esri UC 2014 | Technical Workshop | Creating Surfaces Steve Kopp Steve Lynch.
Lecture 07: Terrain Analysis Geography 128 Analytical and Computer Cartography Spring 2007 Department of Geography University of California, Santa Barbara.
Out-of-Core Compression for Gigantic Polygon Meshes Martin IsenburgStefan Gumhold University of North CarolinaWSI/GRIS at Chapel Hill Universität Tübingen.
Processing Terrain Data in the River Proximity Arc Hydro River Workshop December 1, 2010 Erin Atkinson, PE, CFM, GISP Halff Associates, Inc.
Slope and Aspect Calculated from a grid of elevations (a digital elevation model) Slope and aspect are calculated at each point in the grid, by comparing.
Zoltan Szego †*, Yoshihiro Kanamori ‡, Tomoyuki Nishita † † The University of Tokyo, *Google Japan Inc., ‡ University of Tsukuba.
Terrain Mapping and Analysis
TerraStream: From Elevation Data to Watershed Hierarchies Thursday, 08 November 2007 Andrew Danner (Swarthmore), T. Moelhave (Aarhus), K. Yi (HKUST), P.
LiDAR Data Collection Status Northwest Florida Water Management District.
ESRM 250 & CFR 520: Introduction to GIS © Phil Hurvitz, KEEP THIS TEXT BOX this slide includes some ESRI fonts. when you save this presentation,
Voronoi diagrams and applications Prof. Ramin Zabih
A Simple Drainage Enforcement Procedure for Estimating Catchment Area Using DEM Data David Nagel, John M. Buffington, and Charles Luce U.S. Forest Service,
Intro. To GIS Lecture 9 Terrain Analysis April 24 th, 2013.
How do we represent the world in a GIS database?
Intro to Raster GIS GTECH361 Lecture 11. CELL ROW COLUMN.
Where to find LiDAR: Online Data Resources.
Using free and/or open source tools to build workflows to manipulate and process LiDAR data Christopher Crosby.
Spatial Databases: Digital Terrain Model Spring, 2015 Ki-Joune Li.
Random-Accessible Compressed Triangle Meshes Sung-eui Yoon Korea Advanced Institute of Sci. and Tech. (KAIST) Peter Lindstrom Lawrence Livermore National.
GIS Data Models Vector Data Models Vector File Formats Raster Data Models Raster File Formats.
GIS Data Structures How do we represent the world in a GIS database?
1 Overview Importing data from generic raster files Creating surfaces from point samples Mapping contours Calculating summary attributes for polygon features.
Spatial Database 2/5/2011 Reference – Ramakrishna Gerhke and Silbershatz.
References [1] Pankaj Agarwal, Lars Arge and Andrew Danner. From Point Cloud to Grid DEM: A Scalable Approach. In Proc. 12th Intl. Symp. on Spatial Data.
ArcView 3-D Analyst.
Compact, Fast and Robust Grids for Ray Tracing Ares Lagae & Philip Dutré 19 th Eurographics Symposium on Rendering EGSR 2008Wednesday, June 25th.
Compact, Fast and Robust Grids for Ray Tracing
Introduction to Information Retrieval Introduction to Information Retrieval Lecture 4: Index Construction Related to Chapter 4:
Digital Elevation Models (DEMs)Constructing Grid DEMConstructing Contour Map Constructing TIN DEM Grid DEM Quality Metric A Digital Elevation Model (DEM)
Utilizing ArcScene to Visualize Catch Basin Contributing Areas
Lidar Image Processing
Creating Surfaces Steve Kopp Steve Lynch.
Lecture 6 Implementing Spatial Analysis
Surface Interpolation in ArcGIS
ArcGIS 3-D Analyst.
Spatial interpolation
Spatial Databases: Digital Terrain Model
Interpolating Surfaces
Creating Surfaces with 3D Analyst
CENG 351 Data Management and File Structures
Spatial Databases: Digital Terrain Model
Introduction to 3D Analysis
Presentation transcript:

Generating Raster DEM from Mass Points via TIN Streaming Jack Snoeyink UNC Chapel Hill Jonathan Shewchuk UC Berkeley Tim Thirion UNC Chapel Hill Martin Isenburg UC Berkeley Yuanxin Liu UNC Chapel Hill raster DEM LIDAR points

Generating DEMs from LIDAR LIDAR points raster DEM resampling interpolatingtriangulating temporary TIN i j

Billions of Points courtesy of billion points 11 GB Neuse-River Basin Elevation map Contour map

Streaming TIN output output final DEM to disk DEM Generation via TIN Streaming small buffer in main memory Streaming Computation of Delaunay Triangulation read points from disk Immediate Rasterization of Streaming TIN store elevation rasters to temporary files (grouped by rows)

Example Result 500,141,313 Points 11 GB ( binary, xyz, doubles )  on a household laptop with two harddisks  50,394 × 30,500 DEM 3 GB ( binary, BIL, 16 bit, 20 ft ) raster DEM LIDAR points  in 67 minutes   64 MB of main memory   270 MB temporary disk space 

Related Work

break data into (overlapping) tiles popular GIS packages – ArcGIS 9.1 ( limit: ~ 25 million points, 1 GB ) – QTModeller 4 ( limit: ~ 50 million points, 1 GB ) – GRASS ( limit: ~ 25 million points, 1 GB ) Rasterizing Billions of Points [ Agarwal et al. ‘06 ]

Inverse Distance Weighting ( IDW ) Natural Neighbors Kriging Splines TIN – linear – quintic … Interpolation Methods

External Memory Quadtree rearrange points on disk into quadtree From Point Cloud to Grid DEM: A Scalable Approach [ Agarwal et al. ‘06 ] process cell – find its neighbors – interpolate all ( i,j ) – write rasters to temporary file sort temporary file on ( i,j ) & write DEM

reorganize computations … not points Our Approach: TIN Streaming – compute TIN in places where all points have already arrived – raster, output & deallocate – keep parts that miss neighbors enhance points with spatial finalization

reorganize computations … not points Our Approach: TIN Streaming enhance points with spatial finalization – compute TIN in places where all points have already arrived – raster, output & deallocate – keep parts that miss neighbors

reorganize computations … not points Our Approach: TIN Streaming – compute TIN in places where all points have already arrived – raster, output & deallocate – keep parts that miss neighbors enhance points with spatial finalization

Delaunay Triangulation a triangulation in which every triangle has an empty circumscribing circle standard algorithm for TIN construction good properties for interpolating points

locate triangle enclosing the point Incremental Point Insertion find and remove all triangles with non- empty circumcircles triangulate by connecting new point [ Lawson ’77 ] [ Bowyer ’81 ] [ Watson ’81 ]

Spatial Finalization Tags inject tags into the point stream that inform when grid cells are free of future points finalized region future points only arrive in these cells use tags to certify triangles as being part of the final triangulation and output them

Streaming TIN Generation output to diskinput from disk small buffer in main memory triangulate point stream seamlessly output completed parts & reuse memory finalization tags small buffer in main memory another small buffer finalization tags Streaming Computation of Delaunay Triangulations [ Isenburg et al. ‘06 ] output (pipe) streaming TIN to rasterizer

input (pipe) streaming TIN from triangulator Rasterization of Streaming TIN input from disk yet another small buffer output final DEM to disk points from single UTM time zone triangles with long edges are killed output to a single row-ordered DEM

Streaming Rasterization Pipeline spfinalize -i points.raw -ospb | spdelaunay –ispb –osmb -ospb | tin2iso –ismb –o dem.bil

The Finalizer (spfinalize)

Spatial Finalization of Points  compute bounding box

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Spatial Finalization of Points  compute bounding box  create finalization grid – count number of points per cell  output finalized points – buffer per grid cell – if full, output points in one randomized chunk followed by finalization tag

Exploit the Existing Coherence raw point stream finalized point stream document with finalization tags enhance by releasing chunks of points  benefits of global sort, but cheaper

Exploit the Existing Coherence document with finalization tags enhance by releasing chunks of points  benefits of global sort, but cheaper raw point stream finalized point stream

Unfinalized Region as Quadtree as tags finalize cell after cell, maintain remaining cells in adaptive quadtree  used for efficient overlap tests by the triangulator finalization tags

The Triangulator (spdelaunay)

Modified Incremental Delaunay insert points when reading a finalization tag – find certified triangles – output them to disk or pipe – deallocate data structure

Modified Incremental Delaunay insert points when reading a finalization tag – find certified triangles – output them to disk or pipe – deallocate data structure

Modified Incremental Delaunay insert points when reading a finalization tag – find certified triangles – output them to disk or pipe – deallocate data structure

The Rasterizer (tin2dem)

write raster directly into final DEM on disk write raster to temporary files on disk ( use small buffer, compress when writing buffer ) Rasterizing the Streaming TIN

Results

Neuse- River Basin

Pipeline Details for the 20 ft DEM 6 min 5 MB 512 x 512 grid 10 MB 60,388 triangles 19 MB 444 million rasters 43 min 35 MB 2,249,268 points 270 MB 239 files 8 min 46 MB 128 rows per file

53 hours – 3.4 GHz desktop – 10,000 RPM disks – scratch space: quadtree: ~ 8 GB rasters: ~ 2.5 GB Comparison to ( 20 ft ) [ Agarwal et al. ‘06 ] 67 minutes – 2.1 GHz laptop – 5,400 RPM disks – scratch space: compressed rasters: 270 MB 86 % of CPU time for expensive RST – remaining 7.5 hours constructing quadtree: 1.1 hours finding cell neighbors: 5.6 hours

Demos & Discussion

Demos streaming generation of DEM extraction of elevation contours

final DEM Streaming DEM Rasterization raw points

avoid temporary query structure on disk – data-driven, no gathering of neighbors Main Features order of magnitude faster than method that uses external memory no global sort – don’t fight the data, use existing coherence interleave input & computation & output – 100% CPU usage while interpolating

other interpolation methods – natural neighbors – inverse distance weighting Future Work breaklines / barriers ( e.g. rivers, roads ) – use Constraint Delaunay Triangulation stream other tasks – thinning of points – compression of raw LIDAR data ( useful? ) – hydrological enforcement ( streamable? )

Acknowledgements data – Kevin Yi, Duke support – NSF grants "Collaborative Research: Fundamentals and Algorithms for Streaming Meshes." – NGA award HM – Alfred P. Sloan Research Fellowship

Thank You executables, video, slides, paper, and soon also source code: