1. 遥感基础与数据获取:从原理到实战
大家好,我是老张。干遥感这行十几年了,今天咱们聊聊最基础的东西——遥感原理、电磁波谱,还有那些常用的卫星数据源。别觉得基础就跳过,我见过太多人栽在数据源选择上。
说白了,遥感就是用“上帝视角”看地球。你想想看,卫星在天上飞,传感器往下拍,记录的是地物反射或辐射的电磁波。这跟咱们用手机拍照一个道理——只不过手机拍的是可见光,卫星能拍你看不见的东西。
核心逻辑:不同地物(水、植被、建筑)对不同波段的电磁波反射率不同。这就是我们区分水体、提取水质信息的物理基础。
1.1 电磁波谱:遥感工程师的“调色盘”
电磁波谱范围很广,从伽马射线到无线电波。但遥感常用的就那么几个窗口:
- 可见光(0.4-0.76μm):蓝、绿、红波段。肉眼能看到的,水体在蓝绿波段反射率高,近红外波段吸收强。
- 近红外(0.76-1.4μm):植被在这里反射率飙升,水体几乎全吸收。这是区分水陆的关键波段。
- 短波红外(1.4-3μm):对土壤湿度、矿物敏感。我做过一个项目,用短波红外反演水体悬浮物浓度,效果出奇好。
- 热红外(8-14μm):感知温度。水体热容量大,白天升温慢,晚上降温也慢。这个特性可以用来监测热污染。
我的经验:做水体提取,近红外波段是“杀手锏”。水体在近红外几乎不反射,而植被、土壤反射率很高。用近红外单波段设个阈值,就能快速把水体抠出来。我曾经用这个方法处理过200景Landsat影像,准确率在95%以上。
1.2 常见卫星数据源:选对工具事半功倍
市面上卫星数据很多,但做水体提取和水质监测,我首推这两个:
| 参数 | Landsat 8/9 | Sentinel-2 A/B |
|---|---|---|
| 空间分辨率 | 30m(多光谱)/15m(全色) | 10m(可见光)/20m(红边)/60m(大气) |
| 时间分辨率 | 16天 | 5天(双星) |
| 光谱波段数 | 11个 | 13个 |
| 幅宽 | 185km | 290km |
| 免费获取 | 是(USGS) | 是(ESA) |
Landsat:老牌劲旅,1972年就开始干活了。数据一致性极好,适合做长时序分析。我做过一个30年的湖泊面积变化研究,全靠Landsat的存档数据。
Sentinel-2:后起之秀,10米分辨率对中小水体很友好。而且它有3个红边波段,对叶绿素a浓度反演特别有用。嗯,这里要注意:Sentinel-2的L2A产品已经做了大气校正,可以直接用。
避坑指南:我曾经用Sentinel-2做太湖水质监测,发现有些影像上有条带状噪声。后来查资料才知道是探测器拼接问题。处理时最好用Sen2Cor做一下条带修复,或者干脆避开有问题的影像。
1.3 数据下载:别在第一步卡壳
数据源选好了,怎么下载?我常用的几个渠道:
- USGS EarthExplorer:Landsat数据最全,支持按时间、云量、空间范围筛选。
- ESA Copernicus Open Access Hub:Sentinel-2官方下载站,速度还行。
- Google Earth Engine:我现在的首选。不用下载,直接在云端处理。尤其适合批量处理。
下载时注意几个参数:
- 云量:做水体提取,云量最好小于10%。云阴影会误判为水体。
- 产品级别:Landsat选L2(大气校正后),Sentinel-2选L2A。
- 坐标系:统一用WGS84 UTM投影,方便后续拼接。
1.4 预处理:数据清洗是门手艺
下载完数据,别急着用。预处理这步省不了,我吃过亏。
辐射定标:把DN值转成反射率或辐射亮度。Landsat的L2产品已经做了,但如果你用L1数据,得自己算。
大气校正:消除大气散射和吸收的影响。常用的方法有:
- 6S模型:物理模型,精度高,但参数多。
- FLAASH:基于MODTRAN,ENVI里自带。
- Sen2Cor:专门给Sentinel-2用的,傻瓜式操作。
我的习惯:做水质监测,大气校正必须做。不做校正,反演出来的叶绿素a浓度能差一个数量级。我一般用Sen2Cor处理Sentinel-2数据,用LaSRC处理Landsat数据。这两个都是官方推荐的,参数不用调,一键运行。
重采样:不同波段分辨率不一样,得统一。我一般用最近邻法,保持原始光谱信息。双线性内插会平滑数据,慎用。
裁剪与镶嵌:按研究区边界裁剪。如果研究区跨两景影像,得做镶嵌。注意:镶嵌时尽量选同一天或相近日期的影像,避免拼接痕迹。
知识体系总览
下面这张图是我自己画的,把本章的核心逻辑串起来了。你一看就明白:
这张图把整个流程串起来了:从遥感原理出发,选好数据源,下载下来,预处理干净,最后才能做水体提取和水质监测。每一步都环环相扣,跳不过去。
总结一下:遥感基础这块,核心就三件事——理解电磁波谱与地物反射特征、选对卫星数据源、做好数据预处理。这三件事做好了,后面水体提取和水质监测就是水到渠成的事。
好了,这一章就聊到这儿。下一章咱们开始动手,用Python写代码做水体提取。到时候我会分享一些我踩过的坑,保证让你少走弯路。