在上一章,我们体验了吉林一号等商业卫星带来的“上帝视角”,看清了城市的肌理与车辆的流动。然而,地球不仅仅是由水泥和沥青构成的。对于农业估产、环境监测、灾害应急以及全球尺度的地理分析而言,我们需要一种能够高频次、广覆盖且免费获取的数据源。
本章我们将进入开源(Open Data)遥感的大门。以美国的 NOAA/Landsat 和欧洲的 Sentinel(哨兵)系列为代表,这些卫星数据构成了现代数字地球的“底色”。它们不再仅仅是“照片”,而是地球表面的“医疗扫描仪”,通过多光谱波段揭示人眼无法感知的物理化学特性。
7.1 源卫星数据的“生态位”
在商业项目中,我们经常面临“买数据”还是“用免费数据”的抉择。理解开源卫星的特性至关重要,它们通常具备“三高一低”的特征:
- 高时间分辨率(High Temporal Resolution)
- 含义:卫星重访同一地点的频率极高。
- 价值:Sentinel-2 双星组网后可实现 5 天重访,NOAA 气象卫星甚至可以每 10-15 分钟更新一次。这使得构建“时间序列(Time Series)”成为可能,比如监测农作物从播种到收割的全过程。
- 高光谱分辨率(High Spectral Resolution)
- 含义:不仅有 RGB,还有几十个细分的波段(红边、近红外、热红外等)。
- 价值:这是区分真假植被、识别矿物成分、反演水体叶绿素浓度的关键。
- 高覆盖率与标准化(High Coverage & Standardization)
- 含义:无论你要非洲草原还是南极冰盖的数据,只要层允许,都有存档。且数据经过严格的辐射定标和几何校正。
- 较低的空间分辨率(Moderate/Low Spatial Resolution)
- 含义:通常在 10m - 1000m 之间。
- 妥协:为了看得更宽(幅宽大)和存得更多,必须牺牲细节。
Rule of Thumb (选型经验法则)
- 找车、找房、查违建 $\rightarrow$ 商业卫星 (0.3m - 0.8m)。
- 看农田长势、算湖泊面积、看森林砍伐 $\rightarrow$ Sentinel-2 / Landsat (10m - 30m)。
- 看台风、看洋流、看全省雾霾 $\rightarrow$ NOAA / MODIS / Sentinel-3 (250m - 1km)。
7.2 NOAA 与气象卫星:地球的脉搏
NOAA(美国国家海洋和大气管理局)的数据不仅仅用于天气预报,在 GIS 领域,它们常作为大尺度的背景场或专题图层。
7.2.1 轨道类型与观测视角
理解气象卫星,首先要区分两种核心轨道:
- 静止轨道 (Geostationary, GEO)
- 代表:GOES 系列(美)、Himawari(日)、风云四号(中)。
- 视角:卫星悬停在赤道上空 3.6 万公里,与地球自转同步,“盯着”地球的固定一面。
- 应用:制作实时的“圆盘云图”。Web 地图中那种每小时更新的台风路径底图,就来自这里。
- 极轨 (Polar Orbiting, LEO)
- 代表:NOAA-20 (JPSS), Suomi NPP。
- 视角:高度较低(约 800km),绕着南北极飞,地球在下面转。就像削苹果皮一样,每天覆盖全球两次。
- 应用:获取全球无缝拼接的合成图。
7.2.2 核心产品:VIIRS 夜光遥感 (Nighttime Lights)
Suomi NPP 卫星搭载的 VIIRS 传感器拥有极高灵敏度的“日/夜波段(DNB)”。
- 不仅仅是灯光:它能捕捉城市灯光、渔船火光、天然气燃烧火焰,甚至月光反射下的云层。
- GIS 应用:
- GDP 估算:夜光亮度与区域经济活动高度正相关。
- 人口分布:辅助校正人口密度栅格。
- 灾害评估:地震或飓风后的断电区域识别(通过对比灾前灾后影像)。
7.3 Sentinel(哨兵)系列:哥白尼计划的馈赠
由欧空局(ESA)主导的哥白尼计划是目前全球最大的对地观测项目。其中 Sentinel-2 是 Web GIS 开发者最常用的数据源。
7.3.1 Sentinel-2:多光谱的王者 (Optical)
它被设计为接棒美国的 Landsat,但参数更强。
- 多波段设计:
- 10m 波段:B2(蓝), B3(绿), B4(红), B8(宽近红外)。这是最常用的四个波段,用于合成真彩色和高分辨率 NDVI。
- 20m 波段:B5, B6, B7 (红边 Red Edge), B8A (窄近红外), B11, B12 (短波红外 SWIR)。
- 60m 波段:B1, B9, B10。主要用于大气校正(气溶胶、水汽、卷云),通常不用于直接可视化。
- 红边 (Red Edge):这是 Sentinel-2 的杀手锏。位于红光和近红外之间,对植被康状况极其敏感,常用于精准农业。
7.3.2 Sentinel-1:穿云透雾的雷达 (SAR)
- 特性:搭载 C 波段合成孔径雷达。
- 应用:在多云多雨地区(如东南亚、亚马逊),光学卫星可能几个月拍不到一张图,Sentinel-1 却能照常成像。
- (注:SAR 的成像机制非常独特,我们将在第 8 章详细拆解)
7.3.3 Sentinel-3 & 5P:海洋与大气
- Sentinel-3:不仅看海洋颜色(水质),还能测海面高度(雷达高度计)和海表温度。
- Sentinel-5P:空气质量监测站。它能量化对流层中的二氧化氮(NO2)、臭氧、二氧化硫等浓度。疫情期间全球工厂停工导致的 NO2 下降图,多出自该卫星。
7.4 深入多光谱:看见不可见的世界
为什么卫星要有那么多波段?因为不同物质对不同波长光的反射特性(光谱特征标记,Spectral Signature)截然不同。
7.4.1 物理原理:植被的光谱曲线
ASCII 图解:典型绿色植被反射曲线
反射率 (Reflectance %)
^
| (NIR: 细胞结构散射)
| /---------------------\ High (~40-50%)
| /
| (Red Edge) /
| /
| Green /
| /-\ /
| / \ /
| / V (Red: 叶绿素吸收)
|_/
+------------------------------------------> 波长 (nm)
400(B) 500(G) 600(R) 700 800(NIR)
- 可见光区:叶绿素吸收红光和蓝光进行光合作用,稍微反射一点绿光(所以树是绿的)。
- 红边 (Red Edge):反射率急剧爬升的区域。
- 近红外区 (NIR):植物叶片内部的海绵组织结构会强烈散射近红外光。这是为了避免过热。如果植物生病或缺水,海绵组织塌陷,NIR 反射率会迅速下降。
7.4.2 常用波段组合 (Band Combinations)
在 Web 地图前端(如 Leaflet/Cesium)或后端(GDAL)渲染时,我们可以将卫星波段映射到屏幕的 R、G、B 通道:
- 真彩 (True Color)
- 映射:
R=Band4, G=Band3, B=Band2
- 用途:符合人眼习惯,用于底图展示。
- 标准假彩色 (Color Infrared / CIR)
- 映射:
R=Band8 (NIR), G=Band4 (Red), B=Band3 (Green)
- 效果:植被呈鲜红色,水体呈黑色/深蓝,城市呈青灰色。
- 用途:极易区分植被与非植被,分辨针叶林与阔叶林。
- 短波红外组合 (False Color Urban)
- 映射:
R=Band12 (SWIR), G=Band11, B=Band4
- 用途:SWIR 能穿透薄雾和烟雾。常用于看火灾火点(显得非常亮)或区分云和雪(云在 SWIR 下反射高,雪反射低)。
7.4.3 关键指数计算
指数计算是把多波段数据压缩成单波段(单通道灰度图)的数学过程。
1. NDVI (归一化植被指数)
\(NDVI = \frac{NIR - Red}{NIR + Red}\)
- 原理:利用“红光吸收”与“近红外反射”的反差。反差越大,植被越健康。
- 数值含义:
- $-1 \sim 0$:水体。
- $0 \sim 0.1$:岩石、沙地、水泥。
- $0.2 \sim 0.5$:稀疏植被(草地、灌木)。
- $0.6 \sim 0.9$:茂密森林、生长旺盛的农作物。
2. MNDWI (改进归一化水体指数)
\(MNDWI = \frac{Green - SWIR}{Green + SWIR}\)
- 原理:水体在可见光有反射,在短波红外(SWIR)几乎完全吸收。
- 优势:相比使用 NIR 的普通 NDWI,使用 SWIR 能更有效地剔除城市建筑阴影的干扰(阴影在 NIR 波段有时像水,但在 SWIR 波段不像)。
7.5 现代数据访问架构:COG 与 STAC
传统的“下载-解压-处理”模式面对 PB 级数据已不可行。现代 GIS 采用“云原生”架构。
7.5.1 STAC (SpatioTemporal Asset Catalog)
卫星数据文件成千上万,且命名复杂。STAC 是一个标准化的 JSON 规范,用于描述“这块数据在哪里、是什么时间、包含哪些波段”。
- 它让我们可以像搜索商品一样搜索卫星影像:
Query(bbox=[...], time="2023-01-01/2023-02-01", cloud_cover<10)。
7.5.2 COG (Cloud Optimized GeoTIFF)
这是改变行业的游戏规则。
- 传统 TIFF:要读取最后一行像素,可能需要下载整个文件。
- COG:文件内部经过分块(Tile)和建立金字塔索引。
- HTTP Range Request:Web 客户端(或后端 GDAL)可以向服务器发送请求:“我只要这个大文件里,第 1024 到 2048 字节的数据”。
- 结果:你可以在浏览器上浏览几十 GB 的 Sentinel-2 影像,而实际上只消耗了屏幕可视区域那几 MB 的流量。
7.6 实战流程:制作“城市洪涝前后对比”Web 地图
假设任务是展示某次暴雨后的淹没区域。
步骤 1:数据检索 (Query)
- 使用 STAC API(如 Element84 或 Microsoft Planetary Computer)。
- 条件:
collection="sentinel-2-l2a", bbox=城市坐标, date 分别为灾前和灾后。
- 过滤:选择灾后云量最少的一景。如果灾后全是云,则需要切换到 Sentinel-1 (SAR)。
步骤 2:波段选择与指数计算
- 灾前影像:计算 MNDWI,提取常态水体掩膜。
- 灾后影像:计算 MNDWI,提取当前水体掩膜。
- 差值运算:$FloodMask = MNDWI_{post} - MNDWI_{pre}$。正值显著区域即为新增水体。
步骤 3:切片与发布 (Tiling)
- 不下载原始数据,使用 GDAL 的
/vsicurl/ 虚拟文件系统直接读取在线 COG URL。
- 将运算结果动态切片(On-the-fly Tiling)或预渲染为 XYZ 瓦片(PNG 格式,透明背景,蓝色表示淹没区)。
步骤 4:前端展示
- 底图:天地图矢量(提供道路、地名参考)。
- 图层 A:灾前真彩色影像(卷帘对比)。
- 图层 B:灾后淹没分析层(半透明蓝色叠加)。
7.7 本章小结
- 开源双雄:NOAA/MetOp 负责高频气象与宏观环境;Sentinel/Landsat 负责地表细节监测。
- Sentinel-2 是目前免费获取 10m 光学数据的首选,其 Red Edge 波段对植被分析价值巨大。
- 光谱分析:通过 NDVI、MNDWI 等指数,我们将“看图说话”转变为“定量分析”。
- 云原生趋势:不再下载数据。利用 STAC 索引和 COG 技术,让代码直接在云端“流式”处理数据。
7.8 常见陷阱与错误 (Gotchas)
1. 混淆 TOA (L1C) 与 SR/BOA (L2A)
- L1C (Top of Atmosphere):卫星在大气层顶看到的亮度。包含雾霾、气溶胶的散射光。看起来通常发白、发蓝。
- L2A (Bottom of Atmosphere / Surface Reflectance):经过大气校正,还原地表真实反射率。
- 陷阱:计算 NDVI 时,如果混用 L1C 和 L2A 数据,或者只用 L1C,时间序列曲线会因为天气变化而剧烈跳动,导致误判。做分析务必用 L2A。
2. 忽略 QA 波段(质量控制)
- 现象:NDVI 图上出现极高值(云)或极低值(云阴影)。
- 陷阱:简单过滤
cloud_cover < 10% 是指“整张图”云量。你的研究区可能正好在那 10% 的云底下。
- 对策:必须加载 QA60 / SCL (Scene Classification Layer) 波段,将云、阴影、饱和像素设为 NoData (透明)。
3. 波段分辨率不匹配的矩阵运算
- 错误:尝试直接做
(Band8 - Band11) / ...。
- 原因:Sentinel-2 的 Band8 是 10m,Band11 是 20m。矩阵大小不一样(例如 1000x1000 vs 500x500)。
- 对策:运算前必须通过“最近邻”或“双线性插值”将 20m 波段重采样 (Upsample) 到 10m。
4. 这里的“蓝色”不是水
- 陷阱:在真彩色合成图中,深色的阴影(山体背阴面、高楼阴影)经常被误认为是水。
- 对策:仅靠 RGB 无法区分。这正是我们需要 NIR 和 SWIR 波段的原因——水在这些波段极其“黑”(吸收),而阴影通常还有微弱反射。