The Land Surface Temperature can be estimated or calculated using the Landsat 8 thermal bands. It simply requires applying a set of equations through a raster image calculator (ArcMap, ArcGIS Pro, QGIS).
The first step is to download a Landsat 8 image from a particular location, unzip it, and check certain information needed (within the metadata) to execute this procedure.
This tutorial shows how to calculate Land Surface Temperature (LST) using the Landsat 8 bands. In particular, band 10 as the thermal band, and bands 4 and 5 to calculate the Normal Difference Vegetation Index (NVDI).
To calculate the LST, use the USGS formulas (more information in the article Algorithm for Automated Mapping of Land Surface Temperature Using LANDSAT 8 Satellite Data), this example simply performs the calculations without going into detail about the fundamentals. The process is synthesized in six steps below:
1.- Calculation of TOA (Top of Atmospheric) spectral radiance.
TOA (L) = ML * Qcal + AL
where:
ML = Band-specific multiplicative rescaling factor from the metadata (RADIANCE_MULT_BAND_x, where x is the band number).
Qcal = corresponds to band 10.
AL = Band-specific additive rescaling factor from the metadata (RADIANCE_ADD_BAND_x, where x is the band number).
TOA = 0.0003342 * “Band 10” + 0.1
Therefore the equation must be solved using the Raster Calculator tool in ArcMap.
2.- TOA to Brightness Temperature conversion
BT = (K2 / (ln (K1 / L) + 1)) − 273.15
where:
K1 = Band-specific thermal conversion constant from the metadata (K1_CONSTANT_BAND_x, where x is the thermal band number).
K2 = Band-specific thermal conversion constant from the metadata (K2_CONSTANT_BAND_x, where x is the thermal band number).
L = TOA
Therefore, to obtain the results in Celsius, the radiant temperature is adjusted by adding the absolute zero (approx. -273.15°C).
BT = (1321.0789 / Ln ((774.8853 / “%TOA%”) + 1)) – 273.15
3.- Calculate the NDVI
NDVI = (Band 5 – Band 4) / (Band 5 + Band 4)
Note that the calculation of the NDVI is important because, subsequently, the proportion of vegetation (Pv), which is highly related to the NDVI, and emissivity (ε), which is related to the Pv, must be calculated.
NDVI = Float(Band 5 – Band 4) / Float(Band 5 + Band 4)
4.- Calculate the proportion of vegetation Pv
Pv = Square ((NDVI – NDVImin) / (NDVImax – NDVImin))
Usually the minimum and maximum values of the NDVI image can be displayed directly in the image (both in ArcGIS, QGIS, ENVI, Erdas Imagine), otherwise you must open the properties of the raster to get those values.
Pv = Square((“NDVI” – 0.216901) / (0.632267 – 0.216901))
5.- Calculate Emissivity ε
ε = 0.004 * Pv + 0.986
Simply apply the formula in the raster calculator, the value of 0.986 corresponds to a correction value of the equation.
6.- Calculate the Land Surface Temperature
LST = (BT / (1 + (0.00115 * BT / 1.4388) * Ln(ε)))
Finally apply the LST equation to obtain the surface temperature map.
As a result of the process developed, there is a map of the Land Surface Temperature, it should be noted that it is not equal to the air temperature.
Want to know new and other tutorial
Ok, you can stand in our updates
Its a Nice piece . can i get a pdf copy at this mail koroshillary12@gmail.com
You can get directly from link of paper
Why did you use 0.00115 but not 0.115? thank you for your answer
LST = (BT / (1 + (0.00115 * BT / 1.4388) * Ln(ε)))
It has been derived for the conversion for values to the Celsius values (6th equation in the article). It is also the wavelength of emitted radiance. Please check the article file carefully.
According to my understanding, it’s the wavelength of the band (band 10 and 11), so instead of 0.00115 the bands should be multiplied…
where can I get your paper?
Hi,
How to calculate Land Surface Temperature using split window algorithm with Landsat 8 satellite images? Can you give any tutorial for this algorithm?
This always gives wrong results
Hello,
Why did u use 0.00115 in this equation
LST = (BT / (1 + (0.00115 * BT / 1.4388) * Ln(ε)))
Hello,
why there are two equation for calculating NDVI?
I need first “NDVI = Float(Band 5 – Band 4) / Float(Band 5 + Band 4)” for estimating NDVI min, max and “NDVI = (Band 5 – Band 4) / (Band 5 + Band 4)” as the first part into Pv equation?
Thank you
Use Float only in ArcMap, is only a one equation.
what about retrieval water vapor (w v) i thinks it’s important parameter with LSE ??
Any idea on working with LST of Landsat TM data?
Hi,
Is there any difference (other than the constant values) while calculating the land surface temperature from Landsat 5 TM?
Hello everyone, I use those equation but in the end LST map had only negative values, can anyone told me what’s the problem plz?
Hello everyone, I use those equation but in the end LST map had only negative values, can anyone told me what’s the problem plz?
Where did we find these figures 0.00115 1.4388
Where did we find these figures 0.00115 * BT / 1.4388
Where did we find these figures 0.00115 * BT / 1.4388
(0.00115 * BT / 1.4388
This doesn’t give accurate results
Where did the values for emissivity came from?
In Calculating Emissivity ε Where did the numerical value 0.004 and 0.986 came from?
ε = 0.004 * Pv + 0.986
Explanation of the values are given in this paper https://www.sciencedirect.com/science/article/abs/pii/S0034425704000574
The approach is not 100% correct as it is neglecting thermal atmospheric transmission and path radiance
Hi there,
In the 5th step i.e. Calculate emissivity, why did you use 0.004?
This is really important for me. I would really appreciate your response.
Thanks!
Good tutorial.
In step 4. should the equation not be:
Pv = Square((“NDVI” – 0.216901) / (0.632267 – 0.216901)) instead of:
Pv = Square(“NDVI” – 0.216901) / (0.632267 – 0.216901) as shown.
Thanks for your correction. I will be update.
Futhermore, this euation:
Pv = Square ((NDVI – NDVImin) / (NDVImax – NDVImin))
should be:
Pv = Square ((NDVI + NDVImin) / (NDVImax + NDVImin))
if NDVImin = – 0.216901)
and
Pv = Square(“NDVI” – 0.216901) / (0.632267 – 0.216901)
Nice Presentation I will be happy if one can share a procedure for Latent Heat flux
Hello, its nice and informative. But there are some discrepancies and slight deviations from the main article (Avdan & Jovanovska, 2016).
1. Correction factor of 0.29 in calculating TOA.
2. Proportion of Vegetation (Pv) uses soil and vegetation NDVI value instead of max and min NDVI values.
3. Step 6 uses 0.00115 but article shows 0.0010895.
I too have a question: the min. NDVI value in the ArcMAP is shown as –0.216901, why have you consider +0.216901 instead of minus value?
This is amazing comment, Thank you so much. That is what I want to Look for!
was there any answer to that q? I think the implementation is wrong.
Latent Heat flux procedure Some one please
What is the need of calculating vegetation properties in LST?
Hello.
what’s this algorithm name? because i want to write the name of this method in my paper.
Also, can i use this method for Landsat TM and ETM+ ?
Thanks a lot
Thanks for this tutorial. In your calculation of Pv, if the min NDVI value is negative, wouldn’t you be adding (subtracting a negative) it to the layer and the max? This is the only thing that wasn’t clear to me. It’s important, too because you could have a max of 1 and a min of -1 NDVI. In that case, the equation would be undefined. Am I off base on this? Thanks.
Hi,
What is this algorithm or method name? I cant find it.
Hi, i would like to know is there possible to see every calculation results in attribute? if it so.. where should it be?
how can i extract LST from landsat 7 and landsat 5
What is the name of the algorithm? Plz reply
Why you have used 0.00115 rather than 10.985?
According to my proficiency, if the mini value of ndvi is –0.216901 and maxi value is 0.632267 then the equation should be:
Pv = Square (NDVI + NDVImin) / (NDVImax + NDVImin) (there will be change in equation after putting the ndvi value.
Actual equation:-
Pv = Square ((NDVI – NDVImin) / (NDVImax – NDVImin))
After putting, values sign will be change:- if mini ndvi in minus and maxi in plus. (- × – = +)
Pv=Square (Ndvi+ 0.216901)/(0.632267+0.216901)
Thank you
Can the same procedure be used for calculating Sea surface temperature
Really, I would like to appreciate for interesting lesson on how to calculate LST from landsat 8 imagery using ArcMap GIS.
But can you just say a little for my two questions stated as follows;
1. From step 1; the Radiance_Mult_Band 10 is indicated as 3.3420E -04 from metadat,
So, how do you convert it into 0.0003342
2. from step 5; does the following formula a standard to derive emissivity
which is ;
e = 0.004 * Pv * 0.986
3. from step 6; why is the value of 0.00115? and 1.4388?
I just tried with this procedure for LST using Landsat8 bands 4,5 and 10. But getting min and max temperature 42degree and 71 degree. Attaching data files for verification by anyone and for feedback.
https://drive.google.com/drive/folders/1SDRmblhafcUnX_ZYHs55wvrr-Yw6npWq?usp=sharing
thank you so much for this worthy piece of Knowledge. it really helpful and me and my colleague, we have used it in our Research. @boaz, @Thierry