I was using QGIS to calculate the LST of a city from Landsat 7 and 8 datasets. I was following online formulas to do the computation but I kept getting weird results (i.e. -17~62°C or 44~71°C; which is impossible for the temperature to be like this in the city). I tried using various datasets and different formulas, and even plugins (SCP) to do the calculation LST but all temperature values I got lay in a weird range. I wonder if anyone has experienced something similar before and knows what might be the problem?
Probably you are using wrong products in your formulas. In this tutorial, for Landsat 8, you can observe that, for brightness temperature calculation, you need to get radiance values for B10 band. So, for example, by using USGS Landsat 8 Collection 1 Tier 1 Raw Scenes, band 10 DN’s needs to be converted to TOA spectral radiance using the radiance rescaling factors in the MTL file.
By using a clipped b10 image for a little zone of Paris (2017-06-12), my formula in raster calculator of QGIS for brightness temperature was:
In following image can be observed that brightness temperatures ranged from 21 to 28 degrees as expected in a possibly Paris sunny day in June.
For calculating LST temperatures, NDVI was obtained with reflectances for B4, B5 bands as follows:
("b5_Rf_L8@1" - "b4_Rf_L8@1")/("b5_Rf_L8@1" + "b4_Rf_L8@1")
surface emissivity ("emi@1") directly as:
0.004*(("ndvi@1" - 0.2)/0.3) + 0.986
and finally, LST temperatures with following formula:
"tb_L8@1" / ( 1 + (10.895E-6 * "tb_L8@1" /1.438E-2) * ln ( "emi@1" ) )
Result was only slightly different of previously obtained for brightness temperatures; as it can be observed in following picture: