AVIRIS反射率数据简介
AVIRIS高光谱成像光谱仪采集得到的原始图像为辐亮度图像,经过校正后的L1级产品为地表辐亮度信息。但是许多时候,我们更希望知道地面目标物的反射率信息,并且这一信息应该与在地面使用地物光谱仪(如常见的ASD光谱仪)采集的反射率曲线应该一致。因此从原始的辐亮度(Radiance)图像转换生成反射率图像通常需要进行大气校正,水汽吸收校正等过程,最终消除大气传输过程中的各种干扰因素影响,得到最终的反射率曲线。需要注意的是,由于大气水汽吸收的影响,如上图所示,在特定波长波段(1400nm左右与1900nm左右)信号强度非常弱,数据信噪比差,通常会将这些波段认定为无效波段。
特别注意:由于AVIRIS服役时间较长,数据采集和处理流程应该经历过多次优化,目前官方文档中介绍反射率图像生成和描述方法中提到的部分描述文件在当前下载到的反射率文件中不存在。因此我综合多个官方文档来理解和描述当前反射率图像数据,可能存在错误。
1. 基本说明
根据官方文档的描述[1],将原始的校正后的AVIRIS辐亮度数据(Radiance Data),通过高光谱-红外图像L2级处理流程,转换生成反射率信息。该处理只针对HyspIRI Precursor Data Sets
进行,也就是说只有部分图像有对应的反射率图像。文档中具体介绍了该处理流程中的使用的算法、理论假设以及最终结果数据组织等信息。网站上列出的文档最后更新日期为2013年10月,但是在下载到的数据中,有更新版本的文档(最后更新日期为2014年8月),最主要的不同是2014年版本中删除了关于结果数据组织的内容。因为13年版本描述的数据组织方式与我下载的几景图像的数据组织完全不同,可能后续更新过,但是并没有相关文档说明。
根据AVIRIS HyspIRI preparatory campaign measurements任务中关于L2级大气校正算法的描述[2],如下图所示,从辐亮度图像到反射率图像主要经过了大气校正和残差抑制两个步骤。具体描述如下。
2. 大气校正
大气校正是基于ATREM(Atmosphere Removal Algorithm)算法进行的,该算法通过水蒸气、二氧化碳、臭氧、氮氧化物、一氧化碳、甲烷和氧气的吸收作用来反演等比例的表面反射率(scaled surface reflectance)。根据这些气体吸收模型,再结合图像的成像几何,可以联合估计400~2500nm的大气透射率。大气散射效应则通过6S模型进行估计,6S模型是利用940nm和1140nm处的水汽吸收特征来反演水蒸气柱浓度,进而估算得到朗伯体表面反射率。
在HyspIRI数据预处理流程中,还增加几个额外的特征:HITRAN 2012 line list中的块吸收,同时估计液态、气态和固态水的三相反演结果。压力高度(Pressure Altitude)则使用氧气A波段的深度进行反演,在成像目标中存在大范围高程变化和多光学路径情况下,该方法能够提高反演精度。
3. 经验校正
最终,使用实地对应位置(in situ)的目标测量结果,通过经验模型,来修正表面反射率结果。具体的,为每个波段估计一个改正系数项,使得最终机载图像的光谱曲线与实地测量的同名点地物光谱曲线尽量一致。这个改正系数存储在以.smth为扩展名的额外对应文件中。如果研究人员希望使用原始数据,那么可以通过将网站提供的校正后的图像逐波段除以该改正系数即可。
4. 实际数据简介
从网站上实际下载的一景反射率图像中可能包含数个文件,其具体含义如下表所示(注:该表格为作者结合文档与数据情况理解制成,可能存在错误
)
文件名称 | 文件含义 |
---|---|
*_corr_v1 , *_corr_v1.hdr |
ENVI格式的反射率图像,该图像为最终矫正结果。需要注意的是,该图像像素值可能为整型(我下载的2013~2015的几景图像均为整型,2018年为浮点型),其含义是将原始浮点型反射率乘以10000得到的整数部分。也就是说如果想得到反射率数据,需要将像素值除以10000即可。例如某个像素值为2500,则该像素对应的实际反射率为0.25(2500 ÷ 10000 = 0.25)。 此外文档中提到的经验改正系数存储文件*.smth在下载得到的数据包中并不存在,而在ENVI数据头文件中,存在一项名为 correction factors 的浮点数列表,其中包含n个浮点数(n为波段数量),我猜测这个应该就是文档中提到的经验改正系数 |
*_h2o_v1 ,*_h2o_v1.hdr |
这个ENVI图像文件包含三个波段数据,每个波段图像的长宽与反射率图像相同,疑似为文档中提到的水汽的三相反演结果 |
*_README_v1.txt |
这个就是反射率处理流程的官方说明文档,不同数据中该文件几乎相同,只是最后更新版本的区别。 |
参考文档
- 本文作者: 闫钊
- 本文链接: https://whuhenry.github.io/2020/05/31/AVIRIS-reflectance-data-introduction/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
AVIRIS反射率数据简介的更多相关文章
- Ajax.BeginForm的异步提交数据 简介
Html.BeginForm与Ajax.BeginForm都是MVC架构中的表单元素,它们从字面上可以看到区别,即Html.BeginForm是普通的表单提交,而Ajax.BeginForm是支持异步 ...
- Salesforce 导入导出数据简介
导入数据的方式 有两种方式可以将数据导入Salesforce: 数据导入向导 Data Loader工具 Salesforce支持将csv文件中的数据导入系统. 数据导入向导 数据导入向导可以从设置界 ...
- 【原创】Thinking in BigData (1)大数据简介
提到大数据,就不得不提到Hadoop,提到Hadoop,就不得不提到Google公布的3篇研究论文:GFS.MapReduce.BigTable,Google确实是一家伟大的公司,开启了全球的大数据时 ...
- Ajax传递json数据简介和一个需要注意的小问题
Ajax传递json数据 Ajax操作与json数据格式在实际中的运用十分广泛,本文为大家介绍一个两者相结合的小案例: 项目结构 我们新建一个Django项目,在里面创建一个名为app01的应用: p ...
- Spark记录-大数据简介
什么是大数据 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉.管理和处理的数据集合,是需要新处理模式才能具有更强的决策力.洞察发现力和流程优化能力的海量.高增长率和多样化的信 ...
- python 读写Oracle10g数据简介
1.测试环境: Centos6 X86_64python 2.6 Oracle 10g 2.安装cx_Oracle 和 Oracle InstantClient: http://www.rpmfind ...
- NoSQL数据库技术实战-第1章 NoSQL与大数据简介 NoSQL数据库的类型
键值存储数据库临时性:如Memcached.临时性的键值数据库把数据存储在内存中,在两种情况下会造成上数据的丢失,一是断电,而是数据内容超出内存大小.这种处理的好处是非常快.永久型:如Tokyo Ty ...
- NoSQL数据库技术实战-第1章 NoSQL与大数据简介 NoSQL产生的原因
NoSQL产生的原因: 关系型数据库不擅长的操作,是NoSQL应运而生的原因: 大量的数据写入操作书上写的是“大量数据的写入操作“,我理解的应该是“大量的数据写入操作”,因为大量的数据写入操作才会引起 ...
- [转载] 使用 Twitter Storm 处理实时的大数据
转载自http://www.ibm.com/developerworks/cn/opensource/os-twitterstorm/ 流式处理大数据简介 Storm 是一个开源的.大数据处理系统,与 ...
随机推荐
- salesforce零基础学习(九十七)Event / Task 针对WhoId的浅谈
我们在Sales Cloud中经常会创建顾客,如果针对TO C业务,会启用个人顾客,比如针对车企行业,有一些场景是需要卖给个人的,而不只是企业采购.当通过打电话或者其他的场景有潜在客户并且转换成客户以 ...
- C#黔驴技巧之去重(Distinct)
前言 关于C#中默认的Distinct方法在什么情况下才能去重,这个就不用我再多讲,针对集合对象去重默认实现将不再满足,于是乎我们需要自定义实现来解决这个问题,接下来我们详细讲解几种常见去重方案,孰好 ...
- Day_09【常用API】扩展案例2_测试小字符串在大字符串中出现的次数
分析以下需求,并用代码实现 1.键盘录入一个大字符串,再录入一个小字符串 2.统计小字符串在大字符串中出现的次数 3.代码运行打印格式: 请输入大字符串: woaiheima,heimabutongy ...
- Excel心得
智能表.数据透视表.分类汇总表是Excel最值得学的技能. 通过插入表,或者快捷键Ctrl+T/Ctrl+L,可以将区域转换为智能表,保证了字段的公式的统一,而且版式自动化处理,一深一浅.Ctrl+Q ...
- uCOS2014.1.8
目前uCOS中已经接触到的全局变量: OSTCBCur OSIntNesting OSPrioHighRdy 最高优先级任务 任哲编著<嵌入式实时操作系统uC/OS-II原理及应用> ...
- [CodeForces 300C Beautiful Numbers]组合计数
题意:十进制的每一位仅由a和b组成的数是“X数”,求长度为n,各数位上的数的和是X数的X数的个数 思路:由于总的位数为n,每一位只能是a或b,令a有p个,则b有(n-p)个,如果 a*p+b*(n-p ...
- docker部署微服务遇到的问题二
自己尝试将微服务部署到docker上面,期间按照周立的微服务架构实战13章进行学习 按照书上的步骤,一切部署成功之后,尝试访问,一直没有成功访问,周五部署了两遍 折腾了一下 还是没有找到为啥,周一继续 ...
- 漫谈Huawei LiteOS五大内核模块
[摘要]Huawei LiteOS是华为面向IoT领域,构建的“统一物联网操作系统和中间件软件平台”,以轻量级(内核小于10k).低功耗(1节5号电池最多可以工作5年),快速启动,互联互通,安全等关键 ...
- 关于python中第三方库安装方法和问题解决
一.安装方法 方法一: 1.管理员身份启动命令行(运行--->cmd) 2.pip install 库的绝对路径和库的详细名称 :或者运用cd命令跳转到下载好的库所在的位置然后pip insta ...
- 【雕爷学编程】Arduino动手做(48)---三轴ADXL345模块
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的.鉴于本人手头积累了一些传感器和模块,依照实践(动手试试)出真知的理念,以学习和交流为目的,这里准备 ...