;;===============================================================================================
;;;  该程序是通过6s辐射校正模型生成查找表,以便进行气溶胶反演
;    该程序参数设置较为简单,如果要详细的参数,请自行设置
;    改进方法:1、读取每一个影像的角度信息建立查找表,这样精度更高
;             2、利用IDL直接调用Fortran语言的6S源程序,并行生成查找表,速度提高20倍左右
;             3、将所有参数都设置好,缩小步长,构建一个庞大的查找表,构建神经网络,一劳永逸
;;;==============================================================================================
PRO MODIS_LUT;month,day,iwave,idatm,iaer,lutpath,lutname
 igeom=0;自定义几何条件
 phi0=100;卫星方位角++++
 month=5;月份
 day=17;日期
 idatm=8;define own atmospheric model
 water=3.0;Water Vapor
 ozone=0.35;Ozone
 iaer=1;气溶胶模式大陆型
 v=0;能见度
 xps=-0.2;目标物高度
 xpp=-1000;星测
 iwave=42;自定义1输入波段范围和反射相函数42为modis的red
 inhomo=0;地表反射率均一地表
 idirect=0;无方向效应
 igroun=0;绿色植被
 surfre=[0.0,0.05,0.1,0.15,0.2,0.25,0.3,0.35,0.4,0.45,0.5];地表反射率
 rapp=-1;无大气校正
 tao=[0.0,0.3,0.6,0.9,1.2,1.5,1.8,2.1,2.4,2.7,3.0];550nm气溶胶光学厚度
 asol=30;太阳天顶角
 avis=[0,7,14,21,28,35,42,49,56,63,70];卫星天顶角
 phiv=0;太阳方位角
 rf=FLTARR(11);表观反射率数组初始化
 ; CD,lutpath
 CD,'E:\,作业\大三下学期\遥感原理\6s_test\IDLdata';自己更改6s.exe所在的文件夹路径
 ;********************表观反射率随地表反射率(取值范围 0 ~ 0.5 )的变化情况****************
 lutname='surf reflectanceoutput.txt'
 OPENW,lutlun,lutname,/get_lun
 ;设置循环过程
 FOR e=0,10 DO BEGIN;地表反射率
   txtname='input.txt'
   OPENW,lun,txtname,/get_lun
   PRINTF,lun,igeom
   PRINTF,lun,asol,phiv,avis[0],phi0,month,day
   PRINTF,lun,idatm
   PRINTF,lun,water,ozone
   PRINTF,lun,iaer
   PRINTF,lun,v
   PRINTF,lun,tao[0]
   PRINTF,lun,xps
   PRINTF,lun,xpp
   PRINTF,lun,iwave
   PRINTF,lun,inhomo
   PRINTF,lun,idirect
   PRINTF,lun,igroun
   PRINTF,lun,surfre[e]
   PRINTF,lun,rapp
   FREE_LUN,lun
   SPAWN,'6SV-10B.exeoutput1.txt',/hide ;调用6s <>符号为dos系统下的重定向符号     <从文件读取命令输入>将输出结果写入文件
   txtname='output1.txt'
   OPENR,lun,txtname,/get_lun
   temp=STRARR(1,120)
   READF,lun,temp
   tt=STRMID(temp[0,60],30,9)
   FREE_LUN,lun
   ;依次为辐射方程中的地表反射率,表观反射率
   PRINTF,lutlun,'surf reflectance:',surfre[e],' apparent reflectance:',tt
   rf[e]=tt;读取表观反射率
 ENDFOR
 gragic1=plot(surfre,rf,title='表观反射率随地表反射率(取值范围 0 ~ 0.5 )的变化情况',xtitle='surf reflectance',ytitle='apparent reflectance',"rD--",COLOR=125)
 FREE_LUN,lutlun
 ; ********************表观反射率随观测天顶角(取值范围 0 ~ 70 )的变化情况****************
 lutname='sensor zenith angleoutput.txt'
 OPENW,lutlun,lutname,/get_lun
 ;设置循环过程
 FOR d=0,10 DO BEGIN;卫星天顶角
   txtname='input.txt'
   OPENW,lun,txtname,/get_lun
   PRINTF,lun,igeom
   PRINTF,lun,asol,phiv,avis[d],phi0,month,day
   PRINTF,lun,idatm
   PRINTF,lun,water,ozone
   PRINTF,lun,iaer
   PRINTF,lun,v
   PRINTF,lun,tao[0]
   PRINTF,lun,xps
   PRINTF,lun,xpp
   PRINTF,lun,iwave
   PRINTF,lun,inhomo
   PRINTF,lun,idirect
   PRINTF,lun,igroun
   PRINTF,lun,surfre[0]
   PRINTF,lun,rapp
   FREE_LUN,lun
   SPAWN,'6SV-10B.exeoutput1.txt',/hide ;调用6s <>符号为dos系统下的重定向符号     <从文件读取命令输入>将输出结果写入文件
   txtname='output1.txt'
   OPENR,lun,txtname,/get_lun
   temp=STRARR(1,120)
   READF,lun,temp
   tt=STRMID(temp[0,60],30,9)
   FREE_LUN,lun
   ;依次为辐射方程中的卫星天顶角,表观反射率
   PRINTF,lutlun,'sensor zenith angle:',avis[d],' apparent reflectance:',tt
   rf[d]=tt;读取表观反射率
 ENDFOR
 gragic2=plot(surfre,rf,title='表观反射率随观测天顶角(取值范围 0 ~ 70 )的变化情况',xtitle='sensor zenith angle',ytitle='apparent reflectance',"rD--",COLOR=125)
 FREE_LUN,lutlun
 ;********************表观反射率随 AOD (取值范围 0 ~ 3.0 )的变化情况****************
 lutname='AODoutput.txt'
 OPENW,lutlun,lutname,/get_lun
 ;设置循环过程
 FOR b=0,10 DO BEGIN;550nm气溶胶光学厚度
   txtname='input.txt'
   OPENW,lun,txtname,/get_lun
   PRINTF,lun,igeom
   PRINTF,lun,asol,phiv,avis[0],phi0,month,day
   PRINTF,lun,idatm
   PRINTF,lun,water,ozone
   PRINTF,lun,iaer
   PRINTF,lun,v
   PRINTF,lun,tao[b]
   PRINTF,lun,xps
   PRINTF,lun,xpp
   PRINTF,lun,iwave
   PRINTF,lun,inhomo
   PRINTF,lun,idirect
   PRINTF,lun,igroun
   PRINTF,lun,surfre[0]
   PRINTF,lun,rapp
   FREE_LUN,lun
   SPAWN,'6SV-10B.exeoutput1.txt',/hide ;调用6s <>符号为dos系统下的重定向符号     <从文件读取命令输入>将输出结果写入文件
   txtname='output1.txt'
   OPENR,lun,txtname,/get_lun
   temp=STRARR(1,120)
   READF,lun,temp
   tt=STRMID(temp[0,60],30,9)
   FREE_LUN,lun
   ;依次为辐射方程中的气溶胶光学厚度,表观反射率
   PRINTF,lutlun,'AOD',tao[b],' apparent reflectance:',tt
   rf[b]=tt;读取表观反射率
 ENDFOR
 gragic3=plot(surfre,rf,title='表观反射率随 AOD (取值范围 0 ~ 3.0 )的变化情况',xtitle='AOD',ytitle='apparent reflectance',"rD--",COLOR=125)
 FREE_LUN,lutlun
END
生成图像预览效果如下:


生成的文档如下:

参考文档:http://blog.sina.com.cn/s/blog_764b1e9d01017tb4.html

IDL调用6S文件生成数据,及表观反射率有关二维图像相关推荐

  1. Matlab数据可视化方法与模板(2)——二维图像绘制

    当下越来越多研究人员选择运用Matlab对数据进行建模处理,并进行相应的数据可视化操作.本系列对Matlab绘图与可视化方法进行了总结,并给出了相应的模板供各位参考使用,希望对各位的研究与工作有所帮助

  2. 计算GF1和GF6的表观反射率和投影问题

    记录一下怕自己忘了 主要是之前一种用classic做出来的一直没有坐标信息 很烦 于是想了此下策 前提是要装了中国卫星的插件比较方便 首先用ENVI将需要的波段转成envi标准格式 不用classic ...

  3. 遥感中的表观反射率、反射率、反照率等之间的区别与联系

    遥感反射率的定义:地物表面反射能量与到达地物表面的入射能量的比值. 遥感表观反射率的定义:地物表面反射能量与近地表太阳入射能量的比值. 大气校正就是将辐射亮度或者表观反射率转换为地表实际反射率,目的是 ...

  4. mysql 数据展示装置_实时生成数据宽表的方法和装置与流程

    本发明涉及计算机技术领域,尤其涉及一种实时生成数据宽表的方法和装置. 背景技术: 数据仓库是面向主题的.集成的.相对稳定的.随时间不短变化得数据集合,用以支持经营管理中的决策制定.数据仓库中的数据面向 ...

  5. 微信公众号怎么生成带粉丝关注统计的渠道二维码

    关于微信公众号在线生成带粉丝关注统计的渠道二维码,第三方工具微号帮提供了渠道二维码生成功能实现,可以为公众号生成带粉丝关注统计的渠道二维码,可以生成多个不同的渠道二维码,每个渠道二维码都可以单独统计粉 ...

  6. 【技术类】【ArcGIS对国产卫星的支持2:高分一号卫星】篇5、实时表观反射率产品生产

    表观反射率就是指大气层顶的反射率,辐射定标的结果之一,又称视反射率.英文表示为:apparent reflectance (=地表反射率+大气反射率) 分发商提供的数据基本都是灰度值(DN值),必须转 ...

  7. 二维码生成:STM32F407 + LCD屏(GUI)制作二维码

    说明:文件简单,移植方便,程序占用空间小,简单易懂, 全部编程做好的,测试通过的,还有文字备注,源码下载 : 本文二维码源码下载后直接跳入第四步 1.下载QRcode 二维码源码 Git下载 2.解压 ...

  8. QRCode二维码生成方案及其在带LOGO型二维码中的应用(1)

    提要:很多公司为商业宣传之需,常将企业LOGO加入二维码中,但如果LOGO遮挡区域足够地大,二维码就变得无法识别.那么,有没有一种办法将上述区域预先"抠空"出来(以便专门放置LOG ...

  9. 利用Python和GDAL把MODIS的HDF格式表观反射率产品MOD09A1转换为TIFF格式并重投影到与LANDSAT8-OLI一致

    解释 1.MOD09A1是表观反射率产品,是HDF格式并且投影和常用的Landsat数据不一致.为了统一反演时使用,想要将该产品转换为TIFF格式并重投影.特别是要批量的进行转换和重投影. 2.采用P ...

最新文章

  1. Python调整图片大小并保存调整后的图像
  2. python读写、创建 文件(二)
  3. ubuntu12.10下arm-linux-gcc交叉编译环境的搭建
  4. 使用vsftp虚拟用户实现安全访问控制
  5. 垂直柱状图(洛谷-P1598 )
  6. 《1024伐木累》-程序员妹子与花木兰
  7. python watchdog休眠_python watchdog
  8. 【Tomcat】安装Tomcat服务器Tomcat的目录结构
  9. clickhouse的kafka表引擎 +接口表
  10. 音频的相MATLAB,音频处理后频率响应和相位响应问题
  11. Leetcode之路径总和II
  12. hdu acm2548
  13. python下载第三方库失败的解决办法
  14. 安卓手机root是什么意思
  15. 案例:理想主义的猪与结果导向的猪
  16. Python 以正弦信号绘制信号
  17. c语言红酒编程题,C笔试题练习 - linbo5411的个人空间 - OSCHINA - 中文开源技术交流社区...
  18. 读《最重要的事只有一件》有感
  19. 【Origin双y轴】三条曲线,其中两条曲线共用一个y轴
  20. jQuery元素操作-遍历元素

热门文章

  1. Spring(1) Spring的7种事务传播行为
  2. java开发常用jar包_java开发常用jar包
  3. 尼姆(Nim)博弈策略的完整数学证明
  4. 关于微信(公众号)扫码登录
  5. 阿尔法大蛋智能机器人功能_科大讯飞阿尔法大蛋人工智能机器 真的很智能吗...
  6. 简洁明了的ReentrantReadWriteLock总结
  7. Ubuntu 18.04 安装 GeForce RTX 2080 Ti
  8. 如何更新github中项目内容
  9. Javascript数组去重的n种方法
  10. CAD梦想画图如何新建或修改尺寸样式