Skip to main content

earthchange

Multipurpose satellite environmental monitoring and change detection, in pure Python. 24 scenarios from free public archives: fire danger (Canadian FWI on BMKG thresholds), smoke exposure in person-days, air-parcel trajectories (HYSPLIT), drought, land-surface heat, floods, deforestation, mining, urbanisation and surface-water change — via Google Earth Engine or Microsoft Planetary Computer (no account needed). Export georeferenced GeoTIFFs, quick-look PNGs, statistics, print-ready A4 maps, citable Markdown records, and a one-file brief that assembles a whole assessment. Every output carries its own limits.

Install

Heavy dependencies are optional extras, so the install stays lean:

pip install 'earthchange[gee]'       # Google Earth Engine backend (free account)
pip install 'earthchange[mpc,maps]'  # Planetary Computer + maps (no account)
pip install 'earthchange[all]'       # everything

Quick start

# Deforestation around a coordinate, with a finished map
earthchange -s deforestation --lat -3.333 --lon 122.25 --radius 6 --map

# Flood extent from Sentinel-1 SAR — no Earth Engine account needed
earthchange -s flood --lat 27.2 --lon 68.3 \
    --pre 2022-07-01:2022-07-25 --post 2022-08-20:2022-09-10 --backend mpc

# Urban growth timing across 2010/2015/2020 (Landsat 5/8/9)
earthchange -s urban-trend --lat -6.30 --lon 107.15 --map

# List everything
earthchange --list

Each run writes a self-contained output/<run-id>/ folder containing the PNG, GeoTIFF, statistics JSON, metadata, and any maps.

Scenarios

Scenario Method Sensor
deforestation NDVI loss Sentinel-2
urbanization Built-up gain — NDBI (default), UI, BU, IBI, or thermal NDISI/EBBI via --method Sentinel-2 / Landsat
water NDWI change Sentinel-2
burn dNBR severity Sentinel-2
mining SIRAD radar temporal + NDVI loss Sentinel-1 + S2
flood SAR water extent (event vs baseline) Sentinel-1
urban-trend NDBI at 3 epochs → RGB growth-timing map Landsat 5/8/9
coastline Sea boundary + shoreline change (erosion/accretion) + retreat rate m/yr S1 / S2 / Landsat
transit-access % population with access to public transport (SDG 11.2.1) WorldPop + OSM
island-heat SST + LST + wet-bulb (humid heat) trends for small islands OISST / Landsat / ERA5
urban-heat Urban heat island (SUHII) + hot-spot map + decadal trend GHSL + Landsat + MODIS
forest-history Multi-epoch deforestation: year-of-loss map + forest-area trajectory S2 / Landsat NDVI
population-change Two-epoch population change: Miloš-style spike poster + map + optional true GPU 3D via forge3d GHSL GHS_POP
haze Smoke & air quality during fires: PM2.5 (ISPU), aerosol index, hotspots CAMS + Sentinel-5P + FIRMS
fire-history Multi-year fire record: burned area per year (peat vs mineral), recurrence map, fire season MODIS MCD64A1 + FIRMS

Two backends

--backend Data source Account?
gee (default) Google Earth Engine free account + earthengine authenticate
mpc Microsoft Planetary Computer (STAC) none — streams COGs, processes locally

Optical scenarios build cloud-masked median composites; radar scenarios auto-select the Sentinel-1 orbit with coverage. The AOI is a square centred on your coordinate. Landsat 7 is skipped (SLC-off gaps).

Make maps from a finished run

earthmap output/<run-id>            # render A4 map sheets offline (no GEE)

Map sheets include an OpenStreetMap basemap, the change layer, legend, a statistics panel, a location inset, coordinate grid, scale bar and north arrow.

License

MIT © Firman Hadi. Data: Copernicus Sentinel (ESA) and Landsat (USGS/NASA), via Google Earth Engine or Microsoft Planetary Computer.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

earthchange-0.1.86.tar.gz (338.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

earthchange-0.1.86-py3-none-any.whl (338.8 kB view details)

Uploaded Python 3

File details

Details for the file earthchange-0.1.86.tar.gz.

File metadata

  • Download URL: earthchange-0.1.86.tar.gz
  • Upload date:
  • Size: 338.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for earthchange-0.1.86.tar.gz
Algorithm Hash digest
SHA256 c3b8d8675a1ae8f60602d083013f393f6f2b38740d76aa79d11df11bc529e247
MD5 ceb96153152ca6902b1abdb3dc86e741
BLAKE2b-256 06638b40b891acb1399594553f5ee5dfd0598955609f501af13d94315104147e

See more details on using hashes here.

Provenance

The following attestation bundles were made for earthchange-0.1.86.tar.gz:

Publisher: publish.yml on firmanhadi21/rs-change-detection

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file earthchange-0.1.86-py3-none-any.whl.

File metadata

  • Download URL: earthchange-0.1.86-py3-none-any.whl
  • Upload date:
  • Size: 338.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for earthchange-0.1.86-py3-none-any.whl
Algorithm Hash digest
SHA256 a1a3d0a1d7a44d37d2d03c8d2df743ed3a03d877d5115eed543adde532d8dae8
MD5 444f99d165243ab10b0fc16d5d777c2c
BLAKE2b-256 4a313f4f07337e0efb69ef4743f92456b675234968f3428404a56bb5171eb6fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for earthchange-0.1.86-py3-none-any.whl:

Publisher: publish.yml on firmanhadi21/rs-change-detection

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.1.86 This release

2 files

0.1.85

2 files

0.1.84

2 files

0.1.83

2 files

0.1.82

2 files

0.1.81

2 files

0.1.79

2 files

0.1.78

2 files

0.1.77

2 files

0.1.76

2 files

0.1.75

2 files

0.1.74

2 files

0.1.73

2 files

0.1.72

2 files

0.1.71

2 files

0.1.70

2 files

0.1.69

2 files

0.1.68

2 files

0.1.67

2 files

0.1.66

2 files

0.1.64

2 files

0.1.63

2 files

0.1.62

2 files

0.1.61

2 files

0.1.60

2 files

0.1.59

2 files

0.1.56

2 files

0.1.55

2 files

0.1.54

2 files

0.1.53

2 files

0.1.52

2 files

0.1.51

2 files

0.1.50

2 files

0.1.48

2 files

0.1.47

2 files

0.1.46

2 files

0.1.45

2 files

0.1.44

2 files

0.1.43

2 files

0.1.42

2 files

0.1.41

2 files

0.1.40

2 files

0.1.39

2 files

0.1.38

2 files

0.1.37

2 files

0.1.36

2 files

0.1.35

2 files

0.1.34

2 files

0.1.33

2 files

0.1.32

2 files

0.1.31

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page