To calculate Land Surface Temperature (LST) from Landsat Collection 2 Level-2 data, you can use the formula you mentioned: LST=BT/1+w*(BT/p)*In(e).
Here, BT refers to Brightness Temperature, which can be obtained from the Thermal Infrared (TIR) band of the Landsat image. For Landsat Collection 2 Level-2 data, you can use Band 10 (TIRS 2) to calculate BT.
The value of e in the formula refers to the emissivity of the surface being imaged. This value can be estimated using various methods, such as using land cover information, surface temperature measurements, or literature values.
In order to obtain the value of p, you can use the following formula: p = (hc)/(kλ), where h is Planck's constant, c is the speed of light, k is Boltzmann's constant, and λ is the wavelength of the TIR band. For Landsat Band 10, the value of λ is 10.9 µm.
Regarding your second question, the formula you mentioned (LST=BT/1+w*(BT/p)*In(e)) is the correct formula for calculating LST using TIR data. The formula you used for converting Digital Numbers (DN) to Brightness Temperature (BT) is also correct: BT = 0.00341802 * DN + 149.0.
Please recommend my reply if you find it helpful . Thanks
Normally when Landsat 8 is at Level 2 then you have surface reflection (for the Visible to short wave) and LST for thermal bands. The above equation is actually used to rescale LST such that LST_rescaled = LST*0.00341802 +149.0
The other reflectance bands are rescaled as follows :
RFBx_rescaled = RFB*0.0000275-0.2 where x is any nonthermal bands
This is an extra explanation from dear Aahed Alhamamy that we talk in private messages. now I put this there for other people to use.
Based on the provided web search results, it appears that there are some differences between Surface Temperature and Brightness Temperature. Landsat Collection 2 surface temperature has a scale factor of 0.00341802 and an additional offset of 149.0 per pixel. For example, a pixel value of 44,947 is multiplied by 0.00341802 for the scale factor and 149.0 is added for the additional offset to get 302.6 Kelvin after the scale factor is applied [1]. This calculation is used to determine surface temperature. To calculate Land Surface Temperature (LST) from Landsat Collection 2 Level-2 data, a different formula is used: LST=BT/1+w* (BT/p)*In (e). Here, BT refers to Brightness Temperature [2]. Therefore, it can be concluded that Surface Temperature and Brightness Temperature are not the same thing. While Surface Temperature is determined using a specific calculation involving a scale factor and an additional offset per pixel, Brightness Temperature is used in a different formula to calculate Land Surface Temperature.
Thank you Dr Aahed Alhamamy related to your last answer under my question I took BT = Surface temperature= 0.00341802 * DN + 149.0 and I calculated LST with the LST = (BT / (1 + (0.00115 * BT / 1.4388) * Ln(ε))) formula. But I didn't show or publish my result to anybody because I was not sure about the results. If BT is not equal to surface Temperature, I must calculate LST again now. I think surface temperature is equal to (W) in this formula LST=BT/1+w* (BT/p)*In (e), But I'm still not sure.
Surface Temperature product generated from Landsat Collection 2 Level-2 data measures the temperature of the surface of the Earth in Kelvin (K). This product is generated using various data sources, including thermal infrared bands, reflectance data, brightness temperature, emissivity data, and atmospheric profiles.
To accurately interpret the temperature values, it's essential to refer to the metadata of the dataset. The metadata should provide information about any scaling, offsets, or transformations applied to the data. If the dataset is supposed to represent temperature in Kelvin, then the metadata should clarify how the raw temperature measurements were converted to pixel values.
The Landsat Level-2 Surface Temperature product is generated from Landsat Collection 2 Level-1 thermal infrared bands, Top of Atmosphere (TOA) Reflectance, TOA Brightness temperature, Advanced Spaceborne Thermal Emission and Reflection Radiometer (ASTER) Global Emissivity Database (GED) data, ASTER Normalized Difference Vegetation Index (NDVI) data, and atmospheric profiles of geopotential height, specific humidity, and air temperature extracted from reanalysis data.
You don't need to do the calculations we used to do on the Level 1 product. You can use the Level-2 product by multiplying the thermal band (ST_B10) by a scaling factor (0.00341802) and then adding an offset (149.0) to convert the raw values to temperature values in Kelvin.
The Raster Calculator expression could look something like this:
(("ST_B10" * 0.00341802) + 149.0)
Replace "ST_B10" with the actual name of your surface temperature raster dataset.
If you use Google Earth Engine, you can use the following code:
var thermalBands = image.select('ST_B.*').multiply(0.00341802).add(149.0)