Topographic differencing reveals surface change from a variety of tectonic, geomorphic, and anthropogenic processes including earthquakes, volcanic eruptions, river erosion, landslides, sand dune migration, and urban development. Differencing techniques have grown in popularity over the past decade as the number of multi-temporal topographic datasets has increased. Below, we present resources that we have developed on topographic differencing.
Vertical differencing showing sand dune migration in New Mexico.
- Measuring change at Earth’s surface: On-demand vertical and three- dimensional topographic differencing implemented in OpenTopography This publication discusses the on-demand differencing tools, including advances required to streamline the differencing, algorithm choice and the ideal resolution for the derived displacements. For 3D differencing, we show that the resolution depends on the point density, landscape characteristics, and the dataset quality.
- Statewide USGS 3DEP Lidar Topographic Differencing Applied to Indiana, USA: This publication presents meter-scale topographic differencing for the full state of Indiana as well as the insights, challenges, and lessons learned from conducting large-scale differencing.
- Topographic differencing error analysis workflow Jupyter notebook and supporting Python modules for a geostatistically-grounded workflow to quantify spatial uncertainty in lidar-derived topographic differencing.
- Matlab code for performing a windowed implementation of the Iterative Closest Point (ICP) algorithm using additional Matlab functions for ICP and reading las files. Lidar data from the 2016 Kumamoto, Japan, earthquake lidar are available here. This tutorial is designed to be relatively straightforward.
- Vertical Topographic Differencing: Here is the vertical differencing code as implemented in OpenTopography.
- LIBICP C++ Code for 3D Differencing : This code performs a windowed implementation of 3D ICP differencing in C++ and is forked from Geiger et al. (2012). We implement this code to perform 3D differencing in OpenTopography.
- 3D Differencing Helper Functions: These Python codes performs the post-processing for the 3D ICP differencing, including making the displayed graphical outputs and geotiff files. We implement this code to perform 3D differencing in OpenTopography.
- Using Lidar to Understand the Impacts of the 2025 Palisades and Eaton Fires, Los Angeles, CA
- Vertical differencing (starting with point clouds): See and repeat examples of vertical differencing on OpenTopography
- Vertical differencing (starting with raster data): See and repeat examples of vertical differencing on OpenTopography
- 3D differencing: See and repeat examples of 3D differencing on OpenTopography
- Interpreting Errors in Topographic Differencing Results: Learn about common errors in topographic differencing
- Vertical or 3D Topographic Differencing See when to use each type of differencing
- Horizontal Georeferencing Errors: See how horizontal georeferencing errors in either dataset lead to artifacts in topographic differencing
- Vertical Differencing on OpenTopography: Perform vertical change on over 20% of the mainland US and many international datasets.
- 3D Differencing on OpenTopography: Perform 3D differencing on OpenTopography with the ICP algorithm.
- 3D Topographic Differencing on Matlab: Perform 3D differencing in Matlab with this script from GitHub.
- 3D Differencing on CloudCompare: Perform 3D differencing using CloudCompare.
- AGU EPSP Connects: Topographic change with OpenTopography: Adventures in cloud computing, spatial uncertainty, and impactful applications
- 2018 EarthCube A2 HRT Workshop: Principles of topographic change detection
- 2018 EarthCube A2 HRT Workshop: Change detection & introduction to PIV (Particle Image Velocimetry)
- 2018 EarthCube A2 HRT Workshop: 3D Topographic Differencing of Meter-Scale Topography
- Earthquake along the Wasatch fault:
In this undergraduate-oriented exercise, students are geologists working for the United States Geological Survey (USGS) and must respond to a recent pretend but realistic earthquake along the Wasatch Fault. They aid in the response by mapping the surface rupture and calculating the surface displacement, coseismic slip, and earthquake magnitude from lidar topography acquired before and after the earthquake.