← Projects

Python · Rust · Remote sensing and mapping

pyGeoMapper

pyGeoMapper maps surface change and geology from satellite images and DEMs, all the way to 3D block diagrams you can open in a browser. Python with a Rust core.

  • Version0.1.1
  • LicenseAGPL-3.0 or later
pyGeoMapper logo

Overview

pyGeoMapper maps what changed on the ground, and what it's made of, using satellite images and elevation models (DEMs). I wanted one place to go from raw rasters to something a geologist can actually read: change maps after a landslide, flood, wildfire, earthquake, volcano or glacier event, unit maps scored against a real geologic map, and cross-sections and 3D block diagrams you can open in a browser. It's Python with a Rust core. (Not related to The-Magicians-Code/PyGeoMapper.)

DEM of Difference and spectral change
A DEM of Difference and a spectral change map, the two basic ways the package spots change on the ground.

Examples

Five notebooks walk through every module with public data.

Key features

01

Surface change

DEM of Difference, spectral change and InSAR/GNSS displacement for hazards.

02

Spectral and terrain

Spectral indices and multiscale terrain metrics.

03

Geological mapping

Auto-mapping of geologic units, scored on held-out blocks.

04

Sections and 3D

Cross-sections, 3D block/fence diagrams and an offline WebGL viewer.

Installation

pip install pygeomapper

Extra features (STAC search, ML, 3D views, spectral and DEM tools) are optional add-ons; the README lists them.

Citation

Lai, L.S.-H. (2026) pyGeoMapper. Zenodo, https://doi.org/10.5281/zenodo.23832020

pyGeoMapper is under the GNU Affero General Public License 3.0 or later.

Next project pyPetrograph ML-applied toolkits for rock thin-section petrographic analysis.