IDL计算GF5 AHSI传感器各波段地外辐射及表观反射率
需求:已知影像辐亮度,求表观反射率,需先计算传感器各波段地外辐射

其中 为太阳天顶角
地日距离的变化导致地外辐射通量的变化范围为±3.3%。地外辐射对一年时间的依赖性如下,

在式(2.3a)中给出了一个简单的方程,它对大多数工程计算具有足够的精度。Iqbal(1983)引用Spencer(1971)提供了一个更精确的方程(±0.01%),形式为Eq.(2.3b):

其中,Gon为与每年第n天的辐射垂直的平面上的地外辐射入射量,B为:
![]()
pro cal_extra_radiance
;此pro用于计算传感器各波段地外辐射n=74;当天日期在一年中的天数
solarZ=34;太阳天顶角,根据影像进行读取pi=3.1415926
;step1 输入影像中心波长,本文为GF5高光谱相机VNIR 150波段
gf5_wl='D:\QQ\Plants\GF5\VNIR_wl.txt'
lines=file_lines(gf5_wl)
wls=fltarr(lines)
openr,lun,gf5_wl,/get_lun
readf,lun,wls
free_lun,lun;step2 输入Gsc大气外太阳辐照度,本文辐照度获取来自以下
;https://www.pveducation.org/pvcdrom/appendices/standard-solar-spectra
path_gsc='D:\QQ\Plants\GF5\gsc.txt';第一列为波长,第二列为辐照度
rows=file_lines(path_gsc)
gsc_data=fltarr(2,rows)
openr,lun1,path_gsc,/get_lun
readf,lun1,gsc_data
free_lun,lun1;step3 输入天数n计算B B=(n-1)*360/365
B=(n-1)*360*1.0/365
print,'B:',B;step4 计算地外辐射入射量Gon=gsc(1.00011+0.034221*cosB+0.00128*sinB+0.000719*cos2B+0.000077*sin2B)
gsc=fltarr(lines)
gon=fltarr(lines)
E_TOA=fltarr(lines)
sz=solarZ*pi/180;弧度;输出各波段E_TOA
path_E_TOA='D:\QQ\Plants\GF5\E_TOA.txt'
openw,lun2,path_E_TOA,/get_lun;根据中心波长,取各波段中心波长的±2nm内的太阳辐照度的均值(GF5波宽4nm左右且光谱响应视为1),作为当前波段平均Gsc
;若为其他传感器影像可根据波段起止波长及光谱响应函数进行积分,公式为∫E(λ)*S(λ)dλ/∫S(λ)dλ
for l=0,lines-1 do begintem=where(gsc_data[0,*] ge wls[l]-2 and gsc_data[0,*] le wls[l]+2);满足条件的波长索引;print,'tem:',tem;print,gsc_data[1,tem]gsc[l]=mean(gsc_data[1,tem]);gon为每年第n天的辐射垂直的平面上的地外辐射入射量gon[l]=gsc[l]*(1.00011+0.034221*cos(B)+0.00128*sin(B)+0.000719*cos(2B)+0.000077*sin(2B));step5 E_TOA=gon*cos(太阳天顶角)/πE_TOA[l]=gon[l]*cos(sz)/piprintf,lun2,wls[l],E_TOA[l];写出为txtprint,wls[l],E_TOA[l]
endfor
free_lun,lun2end
pro cal_R_TOA
;此程序用于根据地外辐射及辐亮度数据计算表观反射率;step1 加载各波段地外辐射数据
path_E_TOA='D:\QQ\Plants\GF5\E_TOA.txt'
rows=file_lines(path_E_TOA)
data=fltarr(2,rows)
openr,lun1,path_E_TOA,/get_lun
readf,lun1,data
free_lun,lun1
e_toa=data[1,*];第二列为各波段地外辐射
print,e_toa;step2 加载高光谱辐亮度数据
path_TIF='D:\QQ\Plants\GF5\TIF\GF5_AHSI_E114.72_N37.73_20200314_009836_L10000075840_VNIR_rad.dat'
COMPILE_OPT IDL2
ENVI, /RESTORE_BASE_SAVE_FILES
ENVI_BATCH_INITenvi_open_file,path_TIF,r_fid=fid
MAP_INFO = ENVI_GET_MAP_INFO(fid=fid)
ENVI_FILE_QUERY, fid, ns=ns, nl=nl, nb=nb,dims=dims,DATA_TYPE =DATA_TYPE
R_TOA=fltarr(ns,nl,nb)
for b=0,nb-1 do begintem=ENVI_GET_DATA(fid=fid,POS=b,dims=dims)R_TOA[*,*,b]=tem/e_toa[b]print,'band',b,'is finished!'
endfor
;step3 写影像
outname='D:\QQ\Plants\GF5\TIF\R_TOA.tif'
ENVI_WRITE_ENVI_FILE,R_TOA,out_name=outname,MAP_INFO=MAP_INFOend
参考文献:
1.《The SPART model: A soil-plant-atmosphere radiative transfer model for satellite measurements in the solar spectrum》
2.《Solar Energy Utilization and Its Collection Devices》Chapter 2.1.3
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
