Soil Erosion Hotspot Mapping and Conservation Planning

Identify active erosion zones before they compound into degraded land. Klarety runs seasonal change detection on Sentinel-2 bare soil indices to highlight gully formation, rill networks, and sheet erosion extents. Conservation agencies receive annual erosion maps with severity classifications to prioritize intervention budgets.

Erosion severity mapping for land conservation teams

Klarety AI
Klarety AI chat composer interface

Annual erosion maps from satellite change detection

Klarety agents detect bare soil index changes across seasons and return severity-classified erosion maps with intervention priority scores.

BSI - Sentinel-2
Klarety satellite analysis output

Bare soil index seasonal differential analysis

Agents compute BSI differentials across dry and wet seasons to classify gully formation, rill networks, and sheet erosion extents.

GIS Output
Klarety AI map annotation overlay

Erosion layers for conservation GIS planning tools

Export gully polygons and sheet erosion rasters with severity classifications for land management and grant allocation GIS.

Bare soil index erosion detection and severity scoring

Klarety agents compute the Bare Soil Index (BSI) from Sentinel-2 Band 11, Band 8, Band 4 combinations across dry season composites for successive years. Pixels showing persistent BSI increase and NDVI decrease are classified as active erosion. Severity is scored by BSI delta magnitude. Output is an annual erosion severity raster and polygon shapefile with intervention priority score.

Klarety AIMap erosion hotspots in your region
analysis/soil_erosion_bsi_mapping.pyAgent code
python
import eeimport numpy as np
ee.Initialize()
# Ethiopian Highlands AOI (high erosion risk area)aoi = ee.Geometry.Rectangle([37.5, 9.0, 39.5, 10.5])
def get_bsi_composite(year):    """Bare Soil Index from dry-season Sentinel-2 composite."""    s2 = (ee.ImageCollection('COPERNICUS/S2_SR_HARMONIZED')          .filterBounds(aoi)          .filterDate(f'{year}-01-01', f'{year}-03-31')  # dry season          .filter(ee.Filter.lt('CLOUDY_PIXEL_PERCENTAGE', 20))          .median())
    # BSI = ((B11 + B4) - (B8 + B2)) / ((B11 + B4) + (B8 + B2))    b11 = s2.select('B11')    b4  = s2.select('B4')    b8  = s2.select('B8')    b2  = s2.select('B2')
    bsi = (b11.add(b4).subtract(b8.add(b2))               .divide(b11.add(b4).add(b8).add(b2))               .rename('bsi'))    ndvi = s2.normalizedDifference(['B8','B4']).rename('ndvi')    return bsi, ndvi
bsi_2023, ndvi_2023 = get_bsi_composite(2023)bsi_2025, ndvi_2025 = get_bsi_composite(2025)
# BSI increase AND NDVI decrease = active erosionbsi_delta  = bsi_2025.subtract(bsi_2023).rename('bsi_delta')ndvi_delta = ndvi_2025.subtract(ndvi_2023).rename('ndvi_delta')
# Erosion severity classificationmild_erosion   = bsi_delta.gt(0.05).And(ndvi_delta.lt(-0.05))mod_erosion    = bsi_delta.gt(0.10).And(ndvi_delta.lt(-0.10))severe_erosion = bsi_delta.gt(0.18).And(ndvi_delta.lt(-0.18))
def area_ha(mask):    a = mask.multiply(ee.Image.pixelArea()).reduceRegion(        ee.Reducer.sum(), aoi, 10, maxPixels=1e9    ).values().get(0).getInfo()    return round((a or 0) / 10000, 0)
print(f"Mild erosion (BSI +0.05):   {area_ha(mild_erosion):>8.0f} ha")print(f"Moderate erosion (BSI +0.10):{area_ha(mod_erosion):>8.0f} ha")print(f"Severe erosion (BSI +0.18): {area_ha(severe_erosion):>8.0f} ha")
output/soil_erosion_report.mdOutput report
python
# Soil Erosion Hotspot Report**AOI:** Ethiopian Highlands (37.5-39.5°E, 9.0-10.5°N)**Comparison:** 2023 vs 2025 dry season | **Source:** Sentinel-2 SR BSI
## Erosion Severity Summary| Severity  | BSI Delta | NDVI Delta | Area (ha) | % of AOI | Priority ||-----------|-----------|------------|-----------|----------|----------|| Mild      | >0.05     | <-0.05     | 28,400    | 9.5%     | Monitor  || Moderate  | >0.10     | <-0.10     | 14,200    | 4.7%     | Intervene|| Severe    | >0.18     | <-0.18     | 5,100     | 1.7%     | Urgent   |
## Priority Hotspots- **Hotspot 1:** 38.4°E, 9.8°N — 2,100 ha severe, gully formation signature- **Hotspot 2:** 38.9°E, 9.3°N — 1,800 ha severe, hillslope sheet erosion- **Hotspot 3:** 37.8°E, 10.1°N — 1,200 ha moderate, expanding rill network
## Conservation Intervention Ranking1. Hotspot 1: terrace construction + gully plugs (est. $1.2M, 2,100 ha)2. Hotspot 2: grass strips + contour bunds (est. $0.8M, 1,800 ha)3. Hotspot 3: check dams + reforestation (est. $0.6M, 1,200 ha)
## MethodsSentinel-2 SR dry-season composite (Jan-Mar), 10m.BSI = ((B11+B4)-(B8+B2)) / ((B11+B4)+(B8+B2)). Confidence: High.

Try Klarety now.