使用RSD进行高分5号( GF-5)高光谱数据大气校正

GF-5高光谱数据大家已经期盼已久,却还是没见正式发布的数据(2019年6月)。找小伙伴们要了几景数据做样例。前期写了点怎样加载正射GF-5高光谱,见:

高分5号( GF5)高光谱数据RSD处理初步_gf5b ahsi/vimi 数据的.meta_副组长的博客-优快云博客

当时发现数据是每传感器每波段辐射定标,保存定标系数太浪费空间了,就在加载过程进行了辐亮度定标。后来要来的样例数据发现是每波段定标了,但是我仍然保留了原来的处理(一遭进行辐射定标),就是说现在加载了GF-5高光谱数据就是已经辐亮度定标过的。你发现定标系数和原始数据不一致不要奇怪,那是一个定标以后的缩放系数。

这里仍然按照RSD的大气校正逻辑应用6SV原理在RSD内部建立的大气校正模型对GF-5高光谱数据进行了大气校正的尝试。初步的大气校正结果可能不是很理想,但是没有大关系,软件工程方面的工作的都已经完成。后续对模型的求精或者引进新的模型就仅仅是调整一点参数或者修改少量的代码了。希望同学们也做一点比较试验,尤其是做过地面观测的小伙伴们。

为了和光谱库比较或者识别分类什么的,高光谱的大气校正是绕不开的。但是想得到完全真实理想的大气校正也是不切实的。逐步求精提高吧!

开始大气校正:按照上面地址的博文加载GH-5高光谱数据。

图1

加载后见图1(RSD总是自动进行正射校正的)。在层列表窗口勾选新加载的GF-5高光谱数据,在菜单栏选择“高光谱->大气校正”(这是RSD 3.0.7版,早期版本没有这个菜单)。出现图2。

图2

在这里直接点确定就可以,稍等…。大气校正结果见图3.。

图3

这个图看起来有点丑,与合成图像波段有关吧,不管了。

下面的光谱窗口是某植被(?)像元的光谱曲线,红线是大气校正前,粉线是大气校正后。可见在VN波段反射率降低了,在SW波段范围反射率反而有所升高。那条白线是光谱库里面的一个样本。

大气校正结果就出来了,大家横挑鼻子竖挑眼吧! 


到目前(2019 06 12RSD最近更新版本为3.0.7。

详情加企鹅群136965427,在这里解答和讨论有关遥感数据处理和RSD平台的有关技术问题。

### 使用Python实现高分卫星数据预处理 对于高分GF-1)卫星的数据预处理,通常涉及多个步骤来确保最终影像的质量和可用性。虽然提供的参考资料主要集中在哨兵-1卫星的预处理方法[^1],但许多概念和技术同样适用于其他类型的遥感数据,包括来自中国高分系列卫星的数据。 #### 高分卫星数据特点 高分提供了多光谱和全色波段组合的产品,具有较高的空间分辨率。这类数据常用于农业监测、城市规划等领域。因此,在进行数据分析前,需执行一系列预处理操作以提高数据质量并减少干扰因素的影响。 #### 主要预处理步骤概述 1. **读取原始文件** 利用专门库如`rasterio`加载GeoTIFF格式或其他常见栅格格式的输入图像。 2. **几何校正** 如果必要的话,通过地理配准使不同时间获取到的画面能够精确叠加在一起;这一步骤有时已经在产品生产过程中完成。 3. **大气校正** 类似于RSD软件中的做法[^2],可以通过第三方工具或算法模型去除由大气引起的反射率变化影响,从而得到更接近地面真实情况的地表反射率值。 4. **辐射定标** 将DN(Digital Number)转换成物理量级单位(如TOA Top Of Atmosphere Radiance),以便后续定量分析工作开展。 5. **云检测与掩膜生成** 自动识别并标记出被云层遮挡区域,防止其对结果造成偏差。 6. **重采样/镶嵌拼接** 对经过上述各步优化后的单景或多景影像实施统一规格调整以及无缝连接处理。 下面给出一段简单的Python脚本来展示如何利用开源GIS库来进行基本的预处理: ```python import rasterio from pyproj import Transformer import numpy as np from osgeo import gdal, ogr def read_image(file_path): """Read satellite image from file.""" with rasterio.open(file_path) as src: img = src.read() meta = src.meta.copy() return img, meta def apply_radiometric_calibration(dn_values, calibration_factors): """Convert digital numbers to top-of-atmosphere radiance using given factors.""" rad = dn_values * calibration_factors['gain'] + calibration_factors['bias'] return rad if __name__ == "__main__": # Example usage input_file = 'path_to_gf1_data.tif' output_calibrated_file = 'calibrated_output.tif' # Step 1: Read the raw data raw_img, metadata = read_image(input_file) # Assuming we have predefined calibration parameters... calib_params = { "gain": 0.0001, "bias": -0.1 } # Step 2: Apply radiometric correction calibrated_img = apply_radiometric_calibration(raw_img, calib_params) # Save processed result back into a new GeoTIFF file. with rasterio.open(output_calibrated_file, 'w', **metadata) as dst: dst.write(calibrated_img.astype(rasterio.float32)) ``` 这段代码展示了如何使用`rasterio`库打开一个包含高分数据的GeoTIFF文件,并对其进行基础的辐射定标运算。实际项目中还需要考虑更多细节问题,比如具体的传感器特性参数设置等。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值