GEE笔记007-pythonAPI中的缨帽变换(TC、KT)

简介

K-T变换即坎斯-托马斯变换(Kauth-Thomas Transformation)、又称缨子帽变换(Tasselled Cap Transformation)。根据多光谱遥感中土壤、植被等信息在多维光谱空间中信息分布结构对图像做的经验性线性正交变换。
1976年,坎斯(R JKanth)和托马斯(G SThomas)在用MSS数据研究农作物和植被的生长过程中发现,在MSS四个波段构成的四维光谱空间中,土壤的点群分布从暗色土壤到浅色土壤构成从坐标原点向外的辐射线,称为土壤线。植被和农作物随着生长过程中植冠的发育、茂盛、衰落和枯萎,其点群分布构成从土壤线开始又回到土壤线上的缨帽状,反映植被成长的“绿色”方向、植被枯萎的“黄色”方向和土壤线三者互相垂直,它们的光谱特征互不相关而相对独立,从而可以通过正交线性交换将它们变换到由这三个轴和另一个“其他”轴组成的新的特征空间中,而将它们分开来。变换后的四个分量分别称为“亮度”、“绿色物”、“黄色物”和其他。l984年,克里斯特(EP Crist)和锡康(R CCicone)发现TM6个反射波段的数据也有类似的结构,可用三维空间中的植被平面、与之垂直的土壤平面和它们之间过渡带表示,变换后前三个分量分别定名为“亮度”、“绿度”和“湿度”,它们分别反映了土壤岩石、植被及土壤和植被中的水分信息。

计算

  • 转换矩阵
    在这里插入图片描述

      # landsat5 转换系数
      #  coefficients = ee.Array([
          [0.3037, 0.2793, 0.4743, 0.5585, 0.5082, 0.1863],
          [-0.2848, -0.2435, -0.5436, 0.7243, 0.0840, -0.1800],
          [0.1509, 0.1973, 0.3279, 0.3406, -0.7112, -0.4572],
          [-0.8242, 0.0849, 0.4392, -0.0580, 0.2012, -0.2768],
          [-0.3280, 0.0549, 0.1075, 0.1855, -0.4357, 0.8085],
          [0.1084, -0.9022, 0.4120, 0.0573, -0.0251, 0.0238]
        ])
        
      # landsat8 转换系数
      #  coefficients = ee.Array([
          [0.3029, 0.2786 , 0.4733, 0.5599, 0.5082, 0.1872],
          [-0.2941, -0.2435, -0.5424, 0.7276, 0.0713, -0.1608],
          [0.1511, 0.1973, 0.3283, 0.3406, -0.7117, -0.4559],
          [-0.8239, 0.0849, 0.4396, -0.0580, 0.2013, -0.2773],
          [-0.3294, 0.0557, 0.1056, 0.1855, -0.4349, 0.8085],
          [0.1079, -0.9023, 0.4119, 0.0575, -0.0259, 0.0252]
        ])
    
  • 函数
    函数中B2等为landsat8波段名,不同影像使用时需要进行转换,具体可参照GEE数据集中的波段介绍

    def MTC_Transform(tif):
    	#不同分量波段矩阵变换
        tcb = tif.expression(
            "B2*(0.3037)+B3*(0.2793)+B4*(0.4743)+B5*(0.7243)+B6*(0.0840)+B7*(0.1863)",
            {
                "B2": tif.select(["B2"]),
                "B3": tif.select(["B3"]),
                "B4": tif.select(["B4"]),
                "B5": tif.select(["B5"]),
                "B6": tif.select(["B6"]),
                "B7": tif.select(["B7"]),
            }).rename("TCB")
    
        tcg = tif.expression(
            "B2*(-0.2848)+B3*(-0.2435)+B4*(-0.5436)+B5*(0.5585)+B6*(0.5082)+B7*(-0.1800)",
            {
                "B2": tif.select(["B2"]),
                "B3": tif.select(["B3"]),
                "B4": tif.select(["B4"]),
                "B5": tif.select(["B5"]),
                "B6": tif.select(["B6"]),
                "B7": tif.select(["B7"]),
            }).rename("TCG")
    
        tcw = tif.expression(
            "B2*(0.1509)+B3*(0.1973)+B4*(0.3279)+B5*(0.3406)+B6*(-0.7112)+B7*(-0.4572)",
            {
                "B2": tif.select(["B2"]),
                "B3": tif.select(["B3"]),
                "B4": tif.select(["B4"]),
                "B5": tif.select(["B5"]),
                "B6": tif.select(["B6"]),
                "B7": tif.select(["B7"]),
            }).rename("TCW")
    	#将波段添加到影响内
        return tif.addBands(tcb).addBands(tcg).addBands(tcw)
    
  • 0
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
gee(Google Earth Engine)是由谷歌开发的一款云端平台,用于存储、处理、分析和可视化地球数据。它提供了丰富的 Python API,使得用户可以使用 Python 编程语言来访问和操作地球数据。 使用 gee Python API,可以方便地进行地理数据的获取和处理。首先,我们可以使用 gee Python API 连接到 Google Earth Engine 服务器,获取世界范围内的各种地球数据集。这些数据集包括遥感图像(如卫星图像、气候数据等)、地形数据、地表覆盖数据等等。通过 Python API,我们可以使用简洁的代码来获取这些数据,并进行进一步的处理。 在数据获取后,gee Python API 提供了丰富的数据处理和分析功能。例如,我们可以使用 Python API 对遥感图像进行影像处理,如镶嵌、裁剪、融合等。此外,Python API 还支持各种地理统计分析、空间分析和机器学习算法。这些功能使得用户能够从大规模的地球数据提取有用的信息,并进行复杂的分析和建模工作。 除了数据处理和分析,gee Python API 还支持数据的可视化。它提供了丰富的绘图函数和库,可以生成各种静态和交互式地图,将地球数据以清晰、直观的方式展示出来。这使得使用者可以更好地理解和传达数据的结果,并进行更深入的探索和研究。 总之,gee Python API 提供了一个强大而灵活的平台,使得用户能够轻松地访问、处理和分析地球数据。它的丰富功能和易于使用的编程接口,使得科学家、学生和开发者们能够更好地利用地球数据,进行各种地理信息系统、生态环境、气候变化等方面的研究和应用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值