Annual Temperature Cycle, ATC
地表温度年内变化模型,记录(此内容隶属于老师研究的热红外遥感领域)
1 简介
1.1 标准型ATC模型
Bechtle[1]最早提出的由单个正弦函数构成的ATC模型能够描述年内地表温度的动态变化趋势,公式:
式中,\(d\)表示地表温度年变化中的天数(相当于春分点,Equinox),\(T_0\)、\(A\)和\(\theta\)分别表征年平均地表温度,ATC振幅(Amplitude)和相对于春分点的初相位(Phase);\(N\)是一年的总天数,其值为365或366。
2 名词解释
最小二乘法:Least Square Optimization, LSO
平均年表面温度:Mean Annual Surface Temperature,MAST
地表温度年振幅:Yearly Amplitude of Surface Temerature, YAST
均方根误差: Root Mean Square Error, RMSE
Theta
3 代码
from spicy.optimize import leastsq # 这个代码是老版本代码,新版为least_square
class IMG:
# 影像类,截取文件名中的日期存储,并且根据路径参数将影像存储为二维数组
pass
def get_d(a):
# 函数1,得到距离春分日的间隔
pass
def fitfunc3(p, x):
# 函数2,要拟合的曲线表达式,这里是y=sinx
pass
def error(p, x, y):
# 函数3, 残差, leastsq的一个参数
pass
# 按时间顺寻进行数据存放
# 按像元行列号创建数组存放数据 500*500
# 残差、MAST、YAST、Theta
# 设置初始参数,正弦函数的平移、振幅、相位值
pFit = [0, 0, 0] # 用来存放拟合的参数
# 创建两个空列表存储日期和像素值
list_x = []
list_y = []
# 二重for循环来对每个像元进行操作
# 1.将已有影像的日期放入数组
# 2.将第一个位置(0,0)的所有时间的像元放入数组
# 3.拟合时间和像元之间的关系
# 4.排除像元的NoData值和与之对应的日期值(sin有三个参数,所以影像日期数量至少应该为3)
这里有一个经验性的操作,将(250, 250)处的像元保存起来,绘制曲线展示效果用
4 其他
地表温度和气温通过地表能量平衡(Energy Balance)密切联系,二者会随天气的变化而增加或降低。
Enhanced ATC引入了NDVI植被指数。
4.1 知识补充
振幅
- 定义:振动物体离开平衡位置的最大距离,叫震动的振幅。
- 振动物体的运动范围是振幅的两倍。
5 参考
[1] BECHTEL B. Multitemporal Landsat data for urban heat island assessment and classification of local climate zones; proceedings of the 2011 Joint Urban Remote Sensing Event, F 11-13 April 2011, 2011 [C].
[3]邹照旭. 遥感地表温度年内变化增强模型及其城市热岛监测应用[D].南京大学,2018.DOI:10.27235/d.cnki.gnjiu.2018.000016.