Points2Grid is a robust and scalable tool for gridding lidar point cloud data to generate Digital Elevation Models (DEMs). Points2Grid uses a local gridding method to compute grid cell elevation using a neighborhood defined around each cell based on a search radius provided by the user (see image below). Points2Grid offers two processing modes - in-core and out-of-core - to allow it to handle generation of rasters larger than available memory.
Points2Grid is used as the default DEM generation algorithm for the OpenTopography point cloud processing system, and thus been tested through thousands of DEM generation jobs. The local gridding approach employed by Points2Grid is most effective in situations where lidar shot densities exceed the resolution of the grid to be produced from these data.
Points2Grid has been confirmed to compile on Linux, Solaris, and Mac OSX. Use the CRREL fork of P2G below to compile on Windows. Note that an older, no longer supported, version of P2G is currently available as a Windows GUI-based tool: winP2G Utility
Version 1.0.1 of Points2Grid offers the following features:
Points2Grid is open source and offered under a 4-clause BSD license.
Source Code Implementations:
curl (P2G has been tested to work with version 7.20.0 of libcurl)
liblas (P2G has been tested to work with version 1.2.1 of liblas)
Please direct all feedback to firstname.lastname@example.org
Figure above: Illustration of P2G local gridding algorithm and of the geometry of the search radius and DEM. Black dots are actual lidar returns. Red dots in lower left panel have elevations shown. Plus symbols indicate locations of DEM nodes at which elevation is estimated. Each red circle represents a local bin for a particular DEM node. The annotation below indicates the search area and search radii as a function of grid cell area. The DEM values are computed by applying simple mathematical functions on 707 all points that fall within the local bin. Units are arbitrary, but typically are meters. We typically set search radius = grid resolution * sqrt(2) / 2 as shown in the lower left, or search radius = grid resolution as shown in the upper right.
Documentation & Training: