2501_91639575 2025-04-12 20:07 采纳率: 0%
浏览 123

landsat5C2L2级别如何计算地表温度(LST)呀?

之前看到有帖子发landsat8—9使用是通过以下的方法:

地表温度波段就是 ST 产品(第2个数据集)中的 STB10 波段,单位为开尔文。此波段存在两种情况:
情况1:直接减去273.15,便可以转换为摄氏度
情况2:需要进行定标,再减去273.15,才可以转换为摄氏度
大家可以根据数值进行判断,如果STB10波段的数值在300左右,便是情况1;如果数值很大,比如几万,便是情况2。
下面步骤可以将其转换为摄氏度:
(1)在 Toolbox 中,双击打开 /Band Algebra/Band Math 工具;
(2)在波段运算工具中输入公式,其中 -999 为背景填充值,可自行修改为其他值。这里有情况1为例。
情况1的公式:(b1 ne 0)(b1-273.15)+(b1 eq 0)(-999)
情况2的公式:(b1 ne 0)(0.00341802b1+149-273.15)+(b1 eq 0)*(-999)

来转换成摄氏度。

那么landsat5C2L2也是同样的方法吗?

  • 写回答

3条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-04-12 20:32
    关注

    让【宝码香车】来帮你解答,本回答参考DeepSeek编写,并整理提供。
    如果还有疑问可以点击头像关注私信或评论。如果答案让您满意,请采纳、点赞、关注,非常感谢!

    Landsat 5 C2 L2级别地表温度(LST)计算方法

    对于Landsat 5 Collection 2 Level 2 (C2L2)数据的地表温度(LST)计算,方法与Landsat 8/9类似但有一些区别。

    Landsat 5 C2L2 LST计算方法

    Landsat 5 C2L2数据中的地表温度存储在ST数据集中的ST_B6波段(不是STB10)。处理步骤如下:

    1. 确定是否需要定标

      • 检查ST_B6波段的值范围
      • 如果值在300左右(开尔文温度),属于情况1,可直接转换
      • 如果值很大(如几万),属于情况2,需要先定标
    2. 转换公式

      **情况1(无需定标)**:

      (b1 ne 0)*(b1-273.15) + (b1 eq 0)*(-999)
      

      **情况2(需要定标)**:

      (b1 ne 0)*(0.00341802*b1+149-273.15) + (b1 eq 0)*(-999)
      
    3. 在ENVI中的操作步骤

      • 打开ENVI软件
      • 在Toolbox中双击打开/Band Algebra/Band Math工具
      • 输入上述相应公式
      • 选择ST_B6波段作为输入
      • 设置输出文件名和路径

    注意事项

    1. Landsat 5使用热红外波段6(TM Band 6)计算地表温度,而Landsat 8/9使用Band 10或11

    2. 对于Landsat 5 C2L2数据,ST_B6波段的单位已经是开尔文温度,通常可以直接使用情况1的公式

    3. 背景值处理:公式中的-999可以根据实际需求修改为其他无效值标识

    4. 建议在处理前先检查ST_B6波段的值范围,确认属于哪种情况

    5. 最终输出的温度单位为摄氏度

    评论

报告相同问题?

问题事件

  • 创建了问题 4月12日