Land Surface Temperature

A QGIS 3 plugin — Author: Milton Isaya — License: GNU GPL v2+
https://github.com/miltonisaya/landSurfaceTemperature

Overview

This plugin provides a complete, step-by-step workflow for deriving Land Surface Temperature (LST) from satellite thermal infrared imagery using 16 algorithms in the QGIS Processing toolbox. It supports Landsat 5 TM, Landsat 7 ETM+, Landsat 8 TIRS, and ASTER sensors.

Input imagery can be obtained free of charge from USGS EarthExplorer or NASA Earthdata.

Applications

Workflow

  1. Compute NDVI from red and near-infrared bands
  2. Convert thermal band digital numbers to spectral radiance
  3. Convert radiance to at-sensor brightness temperature using K1/K2 calibration constants
  4. Estimate land surface emissivity (LSE) using NDVI-based classification
  5. Retrieve land surface temperature using one of six LST algorithms

Supported Sensors

SensorThermal Band(s)
Landsat 5 TMBand 6
Landsat 7 ETM+Band 6 (high gain / low gain)
Landsat 8 TIRSBands 10 and 11
ASTERTIR bands 10–14 / VNIR bands 1–3

Algorithms

Vegetation Indices

AlgorithmDescription
Landsat NDVINDVI from separate Landsat red and NIR band rasters
ASTER NDVINDVI from ASTER VNIR multi-band raster (bands 2 and 3)

Radiance

AlgorithmDescription
TM Radiance (L5)Landsat 5 TM thermal band DN to spectral radiance using MTL metadata
ETM+ Radiance (L7)Landsat 7 ETM+ thermal band DN to spectral radiance (high/low gain)
TIRS Radiance (L8)Landsat 8 TIRS bands 10/11 DN to spectral radiance with optional calibration offset
ASTER RadianceASTER TIR bands 10–14 DN to spectral radiance using unit conversion coefficients

Brightness Temperature

AlgorithmDescription
Brightness TemperatureConverts spectral radiance to at-sensor brightness temperature using K1/K2 calibration constants: BT = K2 / ln(K1/L + 1)

Land Surface Emissivity

AlgorithmDescription
Zhang LSENDVI-threshold classification method (Zhang et al.)
NDVI Threshold LSENDVI threshold with proportion of vegetation (Pv) and cavity effect correction
ASTER LSEASTER band-specific LSE using NDVI-derived Pv and MODIS emissivity library coefficients

Land Surface Temperature

AlgorithmDescription
Planck Equation LSTEmissivity-corrected Planck inversion for all sensors
Mono-Window AlgorithmQin et al. (2001) — requires atmospheric transmittance and near-surface air temperature
Single Channel AlgorithmJimenez-Munoz & Sobrino (2003) — requires atmospheric water vapor content
Radiative Transfer EquationFull atmospheric correction using upwelling and downwelling radiance
ASTER Single ChannelASTER bands 13/14 LST using MODTRAN4 atmospheric database parameters
ASTER Split-WindowCombines ASTER bands 13 and 14 brightness temperature and emissivity

Temperature output available in Kelvin, Celsius, or Fahrenheit.

Installation

  1. Download or clone this repository.
  2. Copy the entire folder into your QGIS 3 Python plugin directory:
    Linux/macOS: ~/.local/share/QGIS/QGIS3/profiles/default/python/plugins/
    Windows:     %APPDATA%\QGIS\QGIS3\profiles\default\python\plugins\
  3. Start QGIS and enable the plugin via Plugins > Manage and Install Plugins.
  4. The algorithms will appear in Processing > Toolbox under Land Surface Temperature.

Compiling Resources (optional)

If you modify icons or resources.qrc, recompile with:

pyrcc5 -o resources.py resources.qrc

Requirements

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

Copyright © 2015 Milton Isaya / Anadolu University