← Back to Tutorials
🔄QGISAdvanced⏱️ 30 mins read

Change Detection using Multi-temporal Satellite Images

**Change Detection** identifies differences in land cover or land use between two or more time periods, using satellite imagery. It's widely used to monitor deforestation, urban growth, flooding, and disaster impact. ---

📋 Prerequisites

  • QGIS Desktop 3.22+ installed on your computer.
  • Basic understanding of GIS data concepts.

Step-by-Step Instructions

1

Select Your Two (or More) Time Periods

Choose satellite images from the same sensor, ideally from a similar season across different years, to minimize false changes caused by seasonal variation rather than real land cover change. **Example:** Landsat images from March 2015 and March 2024 for a 9-year urban growth study. ---

2

Preprocess Both Images

Consistency between images is critical for accurate results: 1. Ensure both images have the **same CRS** 2. Apply **radiometric correction** if comparing raw reflectance values (many providers deliver surface-reflectance products already corrected) 3. Co-register both images precisely — they must align pixel-for-pixel 4. Clip both to the exact same study area extent ---

3

Choose a Change Detection Method

| Method | How It Works | Best For | |---|---|---| | **Image Differencing** | Subtract one image (or index) from the other | Simple, quick change highlighting | | **NDVI Differencing** | Subtract NDVI (Time 2) from NDVI (Time 1) | Vegetation loss/gain | | **Post-Classification Comparison** | Classify both images separately, then compare class maps | Detailed "from-to" change (e.g., forest → urban) | | **Change Vector Analysis** | Measures both magnitude and direction of spectral change | Advanced, detects type of change | ---

4

Run NDVI Differencing in QGIS (Simple Example)

1. Calculate NDVI separately for both time periods (see the NDVI tutorial) 2. Go to **Raster → Raster Calculator** 3. Enter: 4. Run — the output shows change values: - **Negative values** → vegetation loss - **Positive values** → vegetation gain - **Near zero** → no significant change ---

"NDVI_2024@1" - "NDVI_2015@1"
5

Run Post-Classification Comparison

1. Classify Image 1 and Image 2 separately into LULC classes (see LULC Classification tutorial) 2. Use **Raster → Analysis → Change Detection** tools, or **Raster Calculator** with class codes, to identify pixels that changed class 3. Create a "from-to" matrix showing exactly what each area changed into (e.g., Forest → Agricultural land) ---

6

Visualize and Interpret Results

1. Symbolize the change raster using a diverging color ramp (red = loss, green = gain) 2. Calculate the total area of change using **Vector → Analysis Tools → Statistics** after converting to polygons 3. Cross-check a few change areas visually against the original images to validate results ---

🧠 Quick Recap & Practice Questions

## Quick Recap

- Change detection compares imagery from two or more time periods
- Both images must be co-registered and consistently processed first
- NDVI Differencing is simple; Post-Classification Comparison gives detailed "from-to" change
- Always validate detected changes visually before drawing conclusions

---

## Practice Questions

1. Why is it important to compare images from the same season across different years?
2. What does a negative NDVI difference value typically indicate?
3. What extra information does Post-Classification Comparison provide over simple Image Differencing?

---

*Next Tutorial: Introduction to Google Earth Engine (GEE)*