Calculation of Land Surface Temperature (LST) from Landsat 8 using R

Hey there!
I was recently asked by a user how to calculate the Land Surface Temperature (LST) from Landsat 8 imagery and decided to write an article on this topic. I hope you will enjoy it.

Let’s start with the basics – What is LST?


The Land Surface Temperature (LST) is the radiative skin temperature of ground. It depends on the albedo, the vegetation cover and the soil moisture. In most cases, LST is a mixture of vegetation and bare soil temperatures. Because both respond rapidly to changes in incoming solar radiation due to cloud cover and aerosol load modifications and diurnal variation of illumination, the LST displays quick variations too. In turn, the LST influences the partition of energy between ground and vegetation, and determines the surface air temperature.

Definition by Copernicus Global Land Service

There are various methods to calculate LST. I am going to show you the method from the official USGS Webpage using  Bands 10 and 11 from the Thermal Infrared Sensor (TIRS) of the Landsat 8 satellite. It is recommended to use Band 10 in quantitative analysis because Band 11 is significantly more contaminated by stray light than Band 10.

Step 1: Raw image

Let’s start with a look on our raw image downloaded from one of the Landsat mirrors. My image is from July 25th 2015 and shows the majestic Baikal Lake in Siberia, Russia with its surrounding vegetation.(RGB 432):

Read full srticle here.