6S模型:
https://blog.csdn.net/sam92/article/details/50390556
https://www.jianshu.com/p/6a5c63534158
https://wenku.baidu.com/view/11856e7c8f9951e79b89680203d8ce2f01666551.html
MinGW安装:
https://blog.csdn.net/u012278016/article/details/101101486
https://blog.csdn.net/ZHAOJUNWEI08/article/details/86602120
PRO temp
COMPILE_OPT idl2
;几何条件
Parameterxml='***********.xml'
SOZ=90-float(getGF1PMS_Parameters(filename=Parameterxml,nodeName2='SolarZenith'))
SOA=float(getGF1PMS_Parameters(filename=Parameterxml,nodeName2='SolarAzimuth'))
SAZ=90-float(getGF1PMS_Parameters(filename=Parameterxml,nodeName2='SatelliteZenith'))
SAA=float(getGF1PMS_Parameters(filename=Parameterxml,nodeName2='SatelliteAzimuth'))
DATE=getGF1PMS_Parameters(filename=Parameterxml,nodeName2='ReceiveTime')
DATE=strsplit(DATE,'-',/extract)
MONTH=uint(DATE[1]);月
DAY=uint(DATE[2]);日
;计算平均高程
fid=ENVIRastertoFID(CalcuRaster)
ENVI_FILE_QUERY,fid,dims=dims,ns=ns,nl=nl,nb=nb
ENVI_CONVERT_FILE_COORDINATES,fid,0,0,minX,maxY,/to_map
ENVI_CONVERT_FILE_COORDINATES,fid,ns-1,nl-1,maxX,minY,/to_map
demraster=e.openraster('GMTED2010.jp2')
rasterSub=ENVISubsetraster(demraster,spatialref=demraster.spatialref,sub_rect=[minX,minY,maxX,maxY])
statistics=ENVIRasterStatistics(rasterSub)
ground_elevation=float(statistics['MEAN']/1000)
xps=-ground_elevation
;中心经纬度
sLatitude = (minY+ maxY) / 2.0
print,'中心纬度',sLatitude
; 大气模式类型
if sLatitude gt -10 and sLatitude le 20 then idatm=1
if sLatitude gt 20 and sLatitude le 30 then begin
if Month gt 05 and Month le 09 then begin
idatm=1
endif else idatm=2
endif
if sLatitude gt 30 and sLatitude le 40 then begin
if Month gt 05 and Month le 09 then begin
idatm=2
endif else idatm=4
endif
if sLatitude gt 40 and sLatitude le 50 then begin
if Month gt 03 and Month le 11 then begin
idatm=4
endif else idatm=3
endif
if sLatitude gt 50 and sLatitude le 60 then begin
if Month gt 05 and Month le 09 then begin
idatm=4
endif else idatm=3
endif
if sLatitude gt 60 and sLatitude le 70 then begin
if Month gt 03 and Month le 09 then begin
idatm=3
endif else idatm=5
endif
if sLatitude gt 70 and sLatitude le 80 then begin
if Month gt 05 and Month le 09 then begin
idatm=3
endif else idatm=5
endif
print,'大气模式',idatm
;光谱响应函数按波段定义
;输入数据类型
;-1<rapp<0输入的是表观反射率,rapp>0输入的是辐射亮度
rapp=-0.5
Parameter=[SOZ,SOA,SAZ,SAA,MONTH,DAY,paraID,xps,idatm,rapp]
END