Land use change analysis with QGIS: a practical guide for Colombia
How to measure land cover and land use change between two dates with QGIS and Sentinel-2: classification, transition matrix and change map, with Colombian data.
Land use change is the question behind many processes in Colombia: drafting a land-use plan (POT), an environmental license, deforestation monitoring, or the advance of the agricultural frontier. And it can be answered with QGIS and free data, with no expensive licenses. This guide walks the full workflow —from imagery to change map— with the particulars of the Colombian context.
What you'll measure
"Land use change" means comparing the state of land cover at two dates and quantifying the transitions: how much forest became pasture, how much pasture became urban, how much cropland was abandoned. The final product is two things: a change map and a transition matrix with the hectares of each conversion.
What you need
- QGIS (LTR version, free and open source).
- Sentinel-2 imagery for both dates, ideally from the same time of year to avoid confusing seasonality with real change. Free from the Copernicus Data Space.
- The SCP (Semi-Automatic Classification Plugin) for classification.
- Optionally, Corine Land Cover adapted for Colombia (IDEAM's 1:100,000 scale) as a reference or as one of the two layers to compare.
Step-by-step workflow
1. Prepare the imagery
Download the two Sentinel-2 scenes (level L2A, already corrected to surface reflectance). Clip them to the study area with a municipal or watershed polygon. Check that cloud cover over your zone is low; in humid regions like the Pacific or the Amazon this is the real bottleneck.
2. Classify each date
With SCP you define classes (forest, pasture, crop, urban, water, bare soil) and draw representative training areas (ROIs) over the image. A supervised classification with maximum likelihood or random forest produces, for each date, a raster where every pixel has a class.
Tip: use the same classes and, where possible, the same training areas for both dates. If the criteria change, the "change" you measure will be the classifier's, not the territory's.
3. Validate the classification
Before comparing, assess accuracy with independent verification points and a confusion matrix. A classification below ~80% overall accuracy will make the change analysis accumulate errors from both dates. This is the step most often skipped and the one that most invalidates results.
4. Detect change
With both validated classifications, there are two routes:
- Post-classification: cross the two rasters (with the raster calculator or GRASS
r.cross) to get a map where each pixel states "from which class to which class" it changed. - Index-based detection: compare NDVI or other indices between dates to highlight vegetation loss, useful as a quick screen before classifying.
5. Build the transition matrix
The crossing produces the transition matrix: a table of "source class" against "target class" with the area of each combination. There you read, in hectares, how much forest converted to pasture or how much farmland was urbanized.
How to read the matrix
The matrix diagonal is what didn't change; off-diagonal are the transitions. In Colombia the conversions that matter most are usually forest→pasture (deforestation for cattle), forest→crop (agricultural frontier) and rural→urban (town expansion). Convert pixel counts to hectares (a Sentinel-2 pixel is 100 m²) and you'll have defensible figures for an environmental authority or a POT.
Common mistakes
- Comparing different seasons and reading green-up as land use change.
- Skipping validation and reporting transitions that are classifier noise.
- Mixing resolutions (Sentinel-2 with Landsat) without resampling, which introduces artificial change at the edges.
- Confusing cover with use: the satellite sees cover (what's there), not always use (what it's for). The final interpretation needs judgment.
When to lean on a consultant
For a one-off analysis, this QGIS workflow is enough and a technical team can run it. When the analysis is recurring, multi-municipal or has legal consequences —a licensing file, environmental litigation, continuous watershed monitoring— it pays to standardize the methodology, automate it and document accuracy so it survives an audit.
At GeoSAT we do exactly that: we implement and migrate GIS platforms and automate reproducible change analyses. To go deeper, see our basic QGIS tutorial or our GIS consulting (ArcGIS & QGIS) service.