Gokul GopanContact
← Back to Projects
2020 and 2024 land-cover comparison with candidate tree-cover change in Juaboso District

Cloud-Native Land-Cover Change Detection: Post-2020 Tree-Cover Change in Juaboso District, Ghana

Annual 10 m satellite-derived land-cover analysis using Python, STAC and cloud-hosted data to identify candidate tree-cover loss between 2020 and 2024.

Land-cover change10 m annual LULCPythonCloud-nativeGhana

Project objective

Assess potential post-2020 tree-cover change in Juaboso District, Western North Region, Ghana. The analysis identifies locations classified as Trees in 2020 and non-Trees in 2024, then summarises the resulting land-cover-classification-based transitions.

Study area

Juaboso District is located in Ghana's Western North Region. The district boundary defines the area of interest for all raster processing, area calculation and polygon outputs.

Data sources

ESA WorldCover was used for the initial land-cover baseline assessment, with GLAD land-cover used for comparison. Candidate change detection uses the Impact Observatory / Microsoft / Esri Annual 10 m Land Use/Land Cover dataset, comparing 2020 with 2024. In this product, Trees are class 2.

Annual land-cover maps for Juaboso District from 2017 to 2024
Annual land-cover maps from 2017–2024 provide temporal context, while the change analysis specifically compares 2020 with 2024.

Methodology

Candidate tree-cover loss is defined as Trees in 2020 and non-Trees in 2024. A connected-component threshold of 100 pixels (~1 ha at 10 m resolution) was applied to reduce isolated classification noise and retain larger contiguous change patches. The final mask is constrained to retain only original tree-loss pixels before area and transition analysis; the raster result is then converted to polygons.

AOI → annual land-cover dataSelect 2020 baseline and 2024 comparison
Tree-loss mask → filtering100 connected pixels; retain original loss pixels
Final constrained maskArea calculation and transition analysis
Change polygonsVector output for candidate loss areas
Candidate tree-cover change polygons in Juaboso District
Change-polygon output derived from the final candidate-loss mask.

Key results

13.59 km²
Candidate tree-cover loss
1,359.30 ha
Candidate tree-cover loss
135,930
10 m pixels

These figures describe candidate tree-cover loss derived from annual land-cover classifications, not confirmed deforestation.

Land-cover transitions

Transition analysis was applied only to final candidate loss pixels, showing the 2024 classes associated with locations classified as Trees in 2020.

TransitionArea (ha)
Trees → Rangeland1,077.75
Trees → Built area188.75
Trees → Crops70.46
Trees → Water20.68
Trees → Flooded vegetation2.01
Trees → Bare ground1.60
Trees → Clouds0.05

Limitations

This is land-cover-classification-based change, not confirmed deforestation. Classification uncertainty, annual product differences, cloud classes and the connected-pixel threshold can affect the candidate mask. Further validation with high-resolution satellite imagery and commodity-specific datasets is required before attributing causes or making deforestation claims.

Tools

Python · XArray · Dask · GeoPandas · rioxarray · xarray-spatial · STAC · AWS Open Data · Planetary Computer · Google Colab · Matplotlib

Source code and notebooks

The technical workflow is maintained in the separate remote-sensing portfolio repository. The change-detection notebook contains the final mask, area calculation, transitions and polygon output.

Open change-detection notebook ↗

Next step

Validate candidate changes against higher-resolution imagery and combine the results with commodity-specific datasets to distinguish potential tree-cover change from confirmed deforestation and identify plausible drivers.

Learning attribution: Workflow adapted from the Cloud Native Remote Sensing with Python course by Ujaval Gandhi / Spatial Thoughts, with the analysis customised for Juaboso District and post-2020 tree-cover change.