第1章:遥感数据获取与预处理
各位同学,大家好。我是你们这门课的老朋友。今天咱们聊聊遥感数据获取与预处理。说实话,这步是遥感分析的基石。地基没打好,后面盖的楼再漂亮也得塌。我见过太多项目,数据预处理没做好,结果分析出来的植被指数全是错的,白白浪费几个月时间。
嗯,咱们直接进入正题。
1.1 常用遥感数据源
目前主流的免费遥感数据源,说白了就三个:Landsat、Sentinel-2、MODIS。我个人的习惯是,做精细生态评估用Sentinel-2,做长时序分析用Landsat,做大尺度宏观监测用MODIS。你想想看,各有各的脾气。
| 数据源 | 空间分辨率 | 时间分辨率 | 波段数 | 主要用途 |
|---|---|---|---|---|
| Landsat 8/9 | 30m(多光谱) | 16天 | 11 | 长时序植被变化、土地利用 |
| Sentinel-2 | 10m(可见光) | 5天 | 13 | 精细植被监测、农业 |
| MODIS | 250m-1km | 1-2天 | 36 | 全球尺度、快速监测 |
我在项目中遇到过一件事:有次做城市绿地评估,用了Landsat的30米数据,结果把小区里的花坛和草坪全混在一起了。后来换成Sentinel-2的10米数据,细节一下就出来了。所以选数据源,一定要看你的目标尺度。
1.2 数据下载方法
下载数据其实不难,但有几个坑。我给大家梳理一下常用渠道。
- USGS EarthExplorer:Landsat数据最全,老牌平台。我建议注册一个账号,免费。
- Copernicus Open Access Hub:下载Sentinel-2的首选。注意,它有时会抽风,下载速度慢。我曾经半夜爬起来续传,你懂的。
- NASA LAADS DAAC:MODIS数据的大本营。HDF格式,后面会讲。
- Google Earth Engine:如果你不想下载,直接在云端处理。我个人现在越来越依赖它,省硬盘空间。
1.3 数据格式解析
遥感数据格式,最常见的就是GeoTIFF和HDF。嗯,这里要注意,两种格式的脾气完全不同。
GeoTIFF
说白了,就是普通TIFF图片加上地理坐标信息。每个像素都知道自己在哪。Landsat和Sentinel-2都用这个格式。我习惯用GDAL库来读写,Python里最稳。
import gdal
# 读取GeoTIFF文件
ds = gdal.Open('LC08_B4.TIF')
band = ds.GetRasterBand(1)
data = band.ReadAsArray()
# 获取地理变换参数
geotransform = ds.GetGeoTransform()
print('左上角坐标:', geotransform[0], geotransform[3])
print('像元大小:', geotransform[1], geotransform[5])
HDF
MODIS数据用的是HDF格式。它像个集装箱,里面装了很多数据集。我第一次打开HDF文件时,差点被里面的层级结构搞晕。后来发现,用h5py库就能轻松读取。
import h5py
# 读取MODIS HDF文件
with h5py.File('MOD09GA.A2022001.hdf', 'r') as f:
# 查看数据集结构
def print_structure(name, obj):
print(name)
f.visititems(print_structure)
# 读取某个波段
data = f['MODIS_Grid_1km_2D/sur_refl_b01'][:]
1.4 辐射定标与大气校正原理
这部分是预处理的核心。为什么?因为卫星传感器记录的是数字量化值(DN值),不是真实的地表反射率。你想想看,DN值受传感器增益、太阳高度角、大气散射等因素影响。直接拿DN值算植被指数,结果肯定不准。
辐射定标
辐射定标,就是把DN值转换成辐射亮度值或表观反射率。说白了,就是给原始数据做一次线性变换。公式很简单:
# 辐射定标示例(Landsat 8)
# 假设DN值在band中,增益和偏移来自元数据文件
radiance = band * gain + offset
# 或者直接转成表观反射率
reflectance = (radiance * d * pi) / (ESUN * cos(solar_zenith))
我个人习惯,直接用USGS提供的Level-2产品,它已经帮你做了辐射定标和大气校正。但如果你拿到的是Level-1数据,就得自己动手。
大气校正
大气校正,目的是消除水汽、气溶胶、臭氧等对信号的干扰。常用的方法有:
- 6S模型:物理模型,精度高,但参数多。我一般做研究时才用。
- FLAASH:集成在ENVI里,操作方便。适合批量处理。
- DOS(暗目标法):简单粗暴,假设图像中有暗目标(如水体),其反射率应为0。我刚开始学遥感时就用这个,虽然精度一般,但胜在快。
1.5 知识体系框架
为了让大家更直观地理解本章的知识结构,我画了一张流程图。嗯,用SVG画的,虽然丑了点,但逻辑清楚。
这张图把本章的核心逻辑串起来了。从数据源选择,到下载,到格式解析,最后到预处理。每一步都环环相扣。我个人觉得,预处理这一步花的时间,至少占整个项目的40%。别嫌麻烦,后面算植被指数时你就知道值了。
好了,第一章的内容就到这里。记住,数据预处理是遥感分析的良心活。你糊弄它,它就糊弄你。
公众号:蓝海资料掘金营,微信deep3321