详细流程记录——基于landsat8影像辐射传输方程法遥感温度反演

1 篇文章 0 订阅
1 篇文章 0 订阅

基本思路:辐射定标-裁剪-大气校正-ndvi值计算-植被覆盖度计算-地表比辐射率计算-同温黑体辐射亮度计算-温度反演

使用软件:ENVI5.3.1

一、下载影像

本次数据源来自美国usgs网站EarthExplorer

注意1:最好有特殊上网方法,不然会加载的非常慢;

注意2:要先注册usgs网站账号,有谷歌邮箱的用谷歌邮箱注册,没有的用163邮箱应该也可以(我没试过,具体可自己尝试);

注意3:影像产品分级选择landsat collection 1 level-1(具体的landsat产品分级可参考LandSat-8数据产品分级 - 百度文库

 打开影像mtl.txt头文件

 二、辐射定标

分别对多光谱波段和热红外波段(band10)进行辐射定标。

注意1:多光谱波段辐射定标需将文件应用flash设置,因为后面要做大气校正(如果后续不做大气校正可忽略这步设置,有相关资料介绍是否做大气校正对温度反演影像不大)

注意2:对热红外波段辐射定标选择band10波段,反演结果更好

三、裁剪

导入shp文件,利用感兴趣区进行裁剪操作,因为后续大气校正时间较长,所以先裁剪以缩短大气校正时间。

注意1:不能在辐射定标之前裁剪,因为辐射定标要读取影像头文件的参数,裁剪之后就没头文件了;

注意2:对热红外波段和多光谱波段都要裁剪,以便后续进行波段运算

四、大气校正

对多光谱波段进行大气校正

注意1:选择单一尺度因素对于所有波段,因为已经进行过辐射定标;

注意2:需要研究区域的高程参数,可通过导入envi自带高程数据,通过空间统计工具获得;

注意3:因为裁剪过后影像损失,所以envi不能自动识别影像时间,需要查看头文件得到时间;

注意4:需要保存一下影像读取的中心经纬度(也可以不保存,后续自己查研究区域的经纬度,可能会麻烦点);

 注意5:大气校正模型需要结合影像对照表查询;

 

 注意6:气溶胶模型结合影像选择,一般选择乡村或城市

注意7:多光谱设置,选择660的那个

 大气校正结果

五、NDVI值计算

envi自带工具,一键完成biubiubiu~ 注意选对传感器和波段哟(landsat8 OLI,红光波段4,近红外波段5)

 做完NDVI值之后可以进行数据统计,这里要检查是不是有不在-1到1区间的异常值,一般做完大气校正之后做NDVI会有异常值的情况,有的话需要进行处理,处理方法和思路就是利用波段计算工具将小于-1的赋值为-1,大于1的赋值为1。

公式为

(b1 lt -1)*0+(b1 gt 1)*1+(b1 ge -1 and b1 le 1)*b1

b1:原ndvi图像

 

 六、植被覆盖度

利用公式计算植被覆盖度,公式意义为将ndvi值大于0.7的赋值为1,小于0.05的赋值为0,在0.05和0.7之间的赋值为((b1-0.05)/(0.7-0.05))。(其中0.7和0.05是植被覆盖度的经验值,具体的更准确的取值范围可参考ENVI下植被覆盖度的遥感估算_ENVI-IDL技术殿堂_新浪博客

公式为:

(b1 gt 0.7)*1+(b1 lt 0.05)*0+(b1 ge 0.05 and b1 le 0.7)*((b1-0.05)/(0.7-0.05))

b1:ndvi

七、比辐射率计算

通用比辐射率计算公式 0.004*b1+0.986,但是一般不采用

更准确的计算可利用ndvi将影像分为三部分,水体,自然表面,城镇,分别计算比辐射率

做法为,将ndvi值小于等于0的比辐射率赋值为0.995,大于0小于0.7的比辐射率赋值为(0.9589+0.086*b2-0.0671*b2^2),大于等于0.7的比辐射率赋值为(0.9625+0.0614*b2-0.0461*b2^2)

公式为:

(b1 le 0)*0.995+(b1 gt 0 and b1 lt 0.7)*(0.9589+0.086*b2-0.0671*b2^2)+(b1 ge 0.7)*(0.9625+0.0614*b2-0.0461*b2^2)

b1:ndvi

b2 植被覆盖度

八、同温黑体辐射亮度计算

首先从usgs大气校正参数查询网站https://atmcorr.gsfc.nasa.gov/上查询需要的参数

 其中时间可从头文件中获得,输入经纬度,相应选好下面的参数

 点击计算后得到三个参数

利用公式计算同温黑体辐射亮度

 

 (图片中公式来源基于大气校正法的Landsat8TIRS反演地表温度_ENVI-IDL技术殿堂_新浪博客

具体公式为:

(b2-0.18-0.97*(1-b1)*0.34)/(0.97*b1)

 

九、温度反演

(图片中公式来源同上) 

具体公式为:

(1321.08)/alog(774.89/B1 +1)-273

b1黑体辐射亮度

十、最后结果

可通过统计,计算最后结果误差,从统计结果可以看出,反演平均温度为22.5度,其中最大最小值可能是一些极端情况,如温度低的深山和高温工厂等,也可能是相关参数引起的误差,通过查询相关天气网站得出,研究区域在当时实际温度为6度至22度之间,符合实际情况。

对温度图像进行密度分割或修改颜色表,可以明显看出高温区域的聚集,可为后续进行相关分析研究与城市规划提供有价值的参考数据。

 

 

 

 

 

十一、结语

OK!大功告成,完结撒花。

由于博主是第一次写博文,内容难免有些错误与不恰的地方,欢迎大家指正。

或者有博文的相关建议也欢迎大家与我讨论交流!

有问题的小伙伴也可在评论区留言或与我私信。

加油~遥感人,与君共勉。

ps:吐槽一下,嘿,这诺大的CSDN竟然没有遥感的标签

  • 48
    点赞
  • 309
    收藏
    觉得还不错? 一键收藏
  • 36
    评论
### 回答1: 地表温度反演是利用遥感技术获取地表温度的方。在Python中,我们可以使用一些常用的遥感数据处理库来进行地表温度反演。 首先,我们可以使用Python的NumPy库来处理遥感数据。通过读取热红外遥感影像数据,可以获取地表辐射亮温数据。接着,我们可以使用热辐射转换公式来将辐射亮温转换为地表温度。 其次,可以使用Python的GDAL库来读取和处理遥感影像数据。GDAL可以读取各种格式的遥感影像数据,并提供了一些图像处理的函数,例如图像的裁剪、缩放和投影转换。 还可以使用Python的OpenCV库进行图像处理。通过对遥感影像数据进行预处理,例如校正、去除云状物等,可以提高地表温度反演的准确性。 另外,Python的matplotlib库可以帮助我们对地表温度反演结果进行可视化。通过绘制热图或热力图,可以清晰地展示地表温度分布情况,并且可以通过颜色映射来显示温度的不同等级。 总结来说,通过Python中的NumPy、GDAL、OpenCV和matplotlib等库的配合使用,我们可以实现地表温度反演。这些库提供了丰富的数据处理和图像处理函数,帮助我们处理和分析遥感影像数据,并得到高质量的地表温度结果。 ### 回答2: 地表温度反演指的是通过遥感资料或其他数据,利用计算机程序推算出地表温度分布情况。Python是一种流行的编程语言,在地表温度反演中可以用Python编写相应的程序。 首先,要实现地表温度反演,需要准备相应的遥感资料或其他数据,如卫星遥感数据、地面观测数据等。这些数据可以使用Python的库来读取和处理,如Pandas、Numpy等。 其次,需要借助一些数学、物理模型来推算地表温度。例如,可以使用辐射传输模型,根据遥感数据中的辐射亮度或辐射通量信息,推算出地表温度。这需要运用一些数值计算和优化算,Python提供了SciPy等库来支持这些计算任务。 另外,还可以结合机器学习或深度学习的方进行地表温度反演。可以使用Python的一些机器学习库,如Scikit-Learn、TensorFlow等,通过训练模型来预测地表温度。这需要准备一些已知的地表温度数据作为训练集,并进行数据预处理、特征工程、模型训练和预测等步骤。 最后,可以利用Python的可视化库,如Matplotlib、Seaborn等,将反演结果进行可视化展示。通过绘制地表温度分布的热图或等温线图,可以更直观地了解温度变化的情况。 总结起来,地表温度反演是利用遥感数据和计算机程序,推算出地表温度分布情况。Python提供了丰富的库和工具,能够方便地处理数据、应用数学物理模型、进行机器学习和深度学习,并将结果进行可视化展示。 ### 回答3: 地表温度反演是利用遥感数据和气象数据等方来推测地表温度情况。Python是一种广泛应用于科学计算和数据分析的编程语言,具有丰富的库和功能,可以用来实现地表温度反演。 在地表温度反演中,首先需要收集和整理遥感数据和气象数据,比如陆地表温度数据、卫星云图数据、气象站观测数据等。 接下来,通过Python提供的数据处理库,如Pandas和NumPy,可以对数据进行清洗、格式转换和统计分析。比如可以对遥感数据进行空间插值,填补缺失值,以及对气象数据进行时空插值等操作。 然后,可以使用Python的图像处理库,如OpenCV和Pillow,来对遥感图像进行预处理,比如纠正辐射校正,去除雨滴和云状物等。 接着,可以利用Python的机器学习库,如Scikit-learn和TensorFlow,来建立地表温度反演模型。可以使用监督学习算,如线性回归、支持向量机等,来训练模型,并利用已知的温度遥感数据来进行模型参数的拟合和优化。 最后,可以利用Python的数据可视化库,如Matplotlib和Seaborn,将反演结果可视化,比如绘制温度分布图、温度变化曲线等。 总之,利用Python来进行地表温度反演可以通过多种功能和库的组合实现,从数据处理到模型训练和结果可视化,为地表温度反演提供了灵活和强大的工具。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值