遥感卫星参数选型:Sentinel-2波段、重访与产品级别校验

发布时间:2026/11/2 7:27:56
遥感卫星参数选型:Sentinel-2波段、重访与产品级别校验 简介围绕常见遥感卫星参数与发展现状整理的PDF文档面向遥感、GIS、环境监测与灾害评估领域的学习者和从业者帮助快速建立SPOT、Landsat、Sentinel、JERS、ENVISAT、RADARSAT、ALOS、IRS等卫星的系列划分、参数要点与应用场景认知。压缩包内共1个PDF文件约642KB篇幅集中、便于检索目录按国外常用卫星资料与中国地球观测遥感卫星发展现状组织并延伸至陆地遥感、气象遥感等方向。已有412人学习或下载适合课程学习、项目选星和资料查阅时对照使用。内容侧重梳理各卫星的发射时间、国别归属、主要任务、数据类型与观测能力读者可据此快速比较不同数据源补充遥感基础认知也能为环境监测、灾难评估和资源管理等应用提供参数索引与查阅线索对初次接触遥感数据源、需要快速索引卫星基本信息的读者较为友好。1. 一份四十多页的遥感卫星参数速查表为什么值得放在手边上个月接了个农业监测的模拟项目要求两周内把一套 NDVI 时序流程跑通。第一版方案我翻了三天官方 user guide光确认 Sentinel-2 的 B8A 到底算不算 10 米波段就折腾了两个来回。后来同事甩过来一份四十多页的《常见遥感卫星参数》汇总文档Sentinel、Landsat、SPOT、JERS、ENVISAT、RADARSAT、ALOS、IRS 加上国内陆地、气象、海洋三类卫星的轨道、传感器、波段表、产品分级和数据政策全挤在一个文件里选型问题一张表就能压下去。这份遥感卫星参数资料适合正在做数据源比选、影像预处理流程搭建、要写团队选型规范的遥感与 GIS 从业者也适合刚接触多源数据、被波段编号和产品级别绕晕的新手。它不教你写算法但能让你少在“这颗星到底能不能用”上浪费一周。2. 参数表的四层结构轨道、传感器、波段、产品级别一份合格的卫星参数汇总信息是按“能不能用 → 拍什么 → 拍多细 → 数据能不能直接算”这个顺序组织的。读的时候如果从上往下顺着翻很容易陷进具体数字里我一般的习惯是先跳到最后看产品级别再倒回来确认轨道和传感器最后才抠波段。下面按这四层拆。2.1 轨道层高度、倾角与重访先把可选范围框死了选数据源最容易犯的错是一上来就比空间分辨率。实际上轨道的三个数字先决定了你能拿到什么高度决定单轨幅宽和分辨率的平衡点倾角决定覆盖纬度上限重访周期决定时间序列的采样密度。表里 Sentinel 系列这几个数字放在一起看逻辑就很清楚。卫星轨道高度倾角重访周期轨道类型Sentinel-1693 km98.18°12 天双星互补 6 天太阳同步Sentinel-2786 km98.5°10 天双星互补 5 天太阳同步Sentinel-3814 km98.65°27 天OLCI 全球 2 天太阳同步Sentinel-4约 35786 km—约 60 分钟地球静止Sentinel-5P824 km98.742°1 天太阳同步Sentinel-61336 km66°10 天非太阳同步倾角略大于 90° 意味着逆行轨道配合固定的降交点地方时同一轨道的太阳高度角在一年内的波动被压得很小。这对多时相 NDVI、地表反射率这类需要“同光照条件对比”的应用是硬需求——如果光照角度每次差 20°阴影和 BRDF 效应能把植被指数搅成一团玄学。反过来说Sentinel-6 用 66° 倾角、1336 km 高度是因为测高任务只关心海面高度不需要稳定光照反而要覆盖到较高纬度的海面轨道设计就完全换了一套思路。高度还直接和幅宽、分辨率绑在一起。693 km 的 Sentinel-1 在 IW 模式下做到 250 km 幅宽、5 m×20 m 分辨率786 km 的 Sentinel-2 幅宽 290 km、最高 10 m 分辨率814 km 的 Sentinel-3 为了全球 2 天覆盖把 OLCI 的空间分辨率放到 300 m。轨道高度、幅宽、分辨率、重访这四个量互相牵制没有哪个任务能四项全占参数表的价值就在于让你在五分钟内看清这颗星牺牲了哪一项。有一条实操经验先确认目标区域的纬度再去看倾角和轨道重叠。低纬度地区轨道重叠少实际重访接近标称值中高纬度相邻轨道有重叠同一区域可能在两三天内被扫到两次做时序时这一点会让采样间隔变得不均匀别把标称重访当成均匀采样周期。2.2 传感器层主动微波、多光谱、辐射计、高度计各管一摊轨道看的是“什么时间能拍到你”传感器看的是“拍到了能算什么”。参数表里 Sentinel 系列的传感器类型分类很干脆Sentinel-1 是 C 频段合成孔径雷达Sentinel-2 是多光谱成像仪Sentinel-3 挂了一组载荷海陆表面温度辐射计、海洋陆地色彩仪、合成孔径雷达高度计等Sentinel-4 是紫外可见近红外扫描光谱仪Sentinel-5P 是多光谱对流层监测仪器Sentinel-6 是 Ku/C 波段 nadir 指向的合成孔径雷达高度计。传感器类型观测对象关键参数主要限制C 频段 SARSentinel-1地表后向散射、相位、形变中心频率 5.405 GHz带宽 0–100 MHz峰值功率 4.368 kW几何畸变、斑点噪声、需要 DEM 正射多光谱成像仪Sentinel-2可见光—近红外—短波红外反射率13 波段12 bit 辐射量化幅宽 290 km受云影响需大气校正成像光谱仪OLCI海洋水色、植被、大气21 波段400–1040 nm300 m/1.2 km幅宽大但分辨率粗混合像元严重双视图扫描辐射计SLSTR海陆表面温度、火点太阳反射波段 500 m热红外 1 km双视图大气校正热红外波段受水汽影响需劈窗算法雷达高度计SRAL海面高度、有效波高Ku/C 波段 nadir 指向只沿星下点轨迹空间覆盖是线状痕量气体光谱仪TROPOMI臭氧、二氧化氮、气溶胶高光谱日覆盖全球空间分辨率公里级像元内混合严重SAR 和光学的差别不只是“穿不穿云”。SAR 的相位是可以拿来做干涉测量的Sentinel-1 的 IW 模式两景影像做 InSAR形变监测精度能到毫米级每年这是光学影像给不了的信息。代价是 SAR 的几何是斜距成像山区的叠掩、透视收缩必须拿 DEM 做正射校正而且斑点噪声会让分类算法表现和光学完全不同——同一块农田光学上是一条干净的 NDVI 曲线SAR 上是一团需要多时相滤波才能稳住的时序。被动光学的限制写在参数里但常被忽略辐射分辨率和信噪比。Sentinel-2 是 12 bit 量化辐射精度优于 5%这个指标决定了你在做暗目标水体、阴影提取时的下限。如果目标反射率变化只有 1%–2%量化噪声和大气校正残差很容易把它淹没。2.3 波段层中心波长和带宽决定了你能反演什么波段表是整份文档里信息密度最高的部分也是最容易被跳过、然后在预处理阶段翻车的部分。Sentinel-2 的 13 个波段分布很有代表性波段中心波长带宽原生分辨率主要用途B1443 nm20 nm60 m海岸/气溶胶B2490 nm65 nm10 m蓝B3560 nm35 nm10 m绿B4665 nm30 nm10 m红B5705 nm15 nm20 m植被红边B6740 nm15 nm20 m植被红边B7783 nm20 nm20 m植被红边B8842 nm115 nm10 m近红外B8A865 nm20 nm20 m窄近红外B9945 nm20 nm60 m水汽B101375 nm20 nm60 m卷云B111610 nm90 nm20 m短波红外B122190 nm180 nm20 m短波红外10 米只有 4 个B2、B3、B4、B820 米 6 个60 米 3 个。这个分组不是随便定的它对应的是传感器的物理设计多光谱推扫式成像仪要在幅宽和信噪比之间做平衡宽波段能收集更多光子、支持更高的空间分辨率窄波段则用来捕捉特定的吸收特征。B8 带宽 115 nm做 NDVI 时信噪比好但容易受水汽吸收干扰B8A 带宽只有 20 nm避开 940 nm 附近的水汽吸收带更适合做需要精确反射率的定量反演。两个都能算 NDVI数值会有系统性差异混用会让时序曲线出现台阶。红边三个波段705、740、783 nm是 Sentinel-2 相对 Landsat 系列的优势所在。红边位置对叶绿素含量敏感做作物长势、氮素诊断时红边指数比单纯的 NDVI 更早饱和。但红边波段都是 20 米分辨率想要 10 米结果就得做融合或者降尺度这一步会把误差带进来。Sentinel-3 的 OLCI 是另一个极端21 个波段光谱范围 400–1040 nm波段宽度普遍在 2.5–40 nm 之间为水色反演设计。Oa11708.75 nm带宽 10 nm是叶绿素荧光基线Oa17865 nm带宽 20 nm用于云检测和气溶胶校正Oa12753.75 nm落在氧气吸收带上。这类窄波段对波段位置精度要求极高如果自己做波段运算时把中心波长记错 2 nm反演结果就可能整片跑偏。SLSTR 则把通道分成两组S1–S6 是 500 米太阳反射波段含 1374.8 nm 卷云通道、1613.4 nm 和 2255.7 nm 短波红外S7–S9 和 F1、F2 是 1 km 热红外通道用于海表温度和火点辐射功率。2.4 产品层L1C 和 L2A 之间差着一次大气校正很多人选完卫星、查完波段就以为结束了真正决定工作量的其实是产品级别。Sentinel-2 从 L0 到 L2A 的分级很典型L0 是仪器源数据包不对外发布L1A 解压后能定位像素L1B 做了辐射校正暗信号、像素响应不均、串扰、坏像元插值、60 米波段升采样L1C 用 DEM 做正射投影转成大气顶反射率重采样到 10/20/60 米固定网格附带云掩膜和 ECMWF 辅助数据但没做大气校正L2A 才是大气底反射率附带场景分类图。产品几何辐射是否含云掩膜直接可用性L1C正射10/20/60 m 网格大气顶反射率TOA有需自行大气校正L2A正射同网格大气底反射率BOA 场景分类有SCL可直接做指数计算Sentinel-1 的分级逻辑不同因为它有相位。L0 是原始回波SLC 是带相位的斜距几何复数影像用于干涉和极化分析GRD 是多视、检波、投影到 WGS84 椭球的地距影像只保留强度适合做分类和变化检测OCN 是二级海洋产品包含风场、波浪谱和表面径向速度。选错这一层后面的活基本白干——拿 GRD 去做 InSAR 是不可能出结果的相位在检波那一步就丢了。Sentinel-3 还有个时间维度上的分级NRT 近实时产品在采集后三小时交付NTC 非实时产品一个月后交付文件后缀用 NR 和 NT 区分。做应急监测只能用 NRT做气候分析用 NTC 更稳因为后者用的辅助数据精密轨道、改进的大气校正参数更完整。3. 从参数到选型四个决策场景与一张对照表参数表看得再熟落到具体项目还是要做取舍。下面四个场景是我在模拟项目里反复遇到的基本覆盖了多源数据选型的主要矛盾。3.1 光学还是 SAR先问“云”和“夜”这个问题的答案不在参数表里在项目所在区域的气候统计里。Sentinel-1 是 C 频段 SAR全天时全天候成像参数表里明确写了它能为陆地和海洋提供全天时全天候的雷达图像覆盖北极海冰、日常海冰测绘、海洋环境监视、地面形变风险监测。Sentinel-2 是多光谱被动成像云层遮挡直接导致数据不可用。判断方式很朴素如果目标区域全年无云窗口少于 30%或者项目要求周级甚至更密的更新频率光学单打独斗一定会卡住。反过来说如果任务只需要植被指数和土地覆盖分类SAR 的处理链路斑点滤波、地形辐射校正、极化分解会带来额外的工程成本而光学数据的物理意义更直观模型也更容易迁移。我这里有一条血泪经验不要用“SAR 能穿云”作为唯一理由去选 SAR。穿云只是拿到数据拿到之后能不能解释清楚后向散射系数的变化才是关键。同一块地土壤湿度变化、地表粗糙度变化、植被结构变化都会影响后向散射如果不做多时相和多极化联合分析SAR 影像看上去就是一片灰度噪声。真正需要 SAR 的场景是形变监测。干涉宽幅模式两景影像做差分干涉能检测到每年几毫米的地表运动用于地面沉降、结构损坏、地下施工监测。这类应用光学完全替代不了因为光学只能看到表面纹理看不到几何位移。3.2 分辨率与幅宽是一道乘法题很多人比参数时只盯空间分辨率忽略了幅宽结果算数据量的时候才发现单景影像大得离谱。这里有个简单的估算法像素总数 幅宽 / 分辨率²。Sentinel-2 单景 290 km × 290 km10 米波段是 29000 × 29000 ≈ 8.4 亿像素4 个 10 米波段加起来 33.6 亿像素20 米波段 14500² × 6 ≈ 12.6 亿像素60 米波段 4833² × 3 ≈ 0.7 亿像素。按 12 bit 存成 16 bit 算单景未压缩数据接近 9–10 GB 量级。这意味着一个县级的时序分析光原始数据就能上 TB不做分块和云过滤直接读进内存机器会当场翻车。Sentinel-1 的 IW 模式幅宽 250 km分辨率 5 m × 20 mSLC 产品是复数实部虚部各 2 字节单景量级也在 GB 以上。EW 模式幅宽 410 km分辨率 20 m × 40 m适合海冰、极地和溢油监测但幅宽大了分辨率就掉了 4 倍做小目标检测会明显吃力。模式幅宽分辨率入射角范围典型用途SM条带80 km约 5 m × 5 m18.3°–46.8°小岛屿成像、应急支持IW干涉宽幅250 km5 m × 20 m29.1°–46.0°陆地主力模式EW超宽幅410 km20 m × 40 m18.9°–47.0°海冰、极地、溢油WV波模式20 km × 20 km—21.6°–25.1° 或 34.8°–38.0°公海波浪谱这四个模式的取舍逻辑很清楚幅宽和分辨率成反比入射角范围决定了地形起伏区的几何畸变程度。山区选 IW 的 IW1 子条带入射角 30.86°–36.59°比 IW341.75°–46.00°叠掩少因为入射角小透视收缩弱。这种细节在参数表的子条带入射角表格里能查到但需要你主动去翻。3.3 重访周期不等于你能拿到的过境次数参数表里 Sentinel-1 写“12 天两星互补 6 天”Sentinel-2 写“10 天两星互补 5 天”这两个数字很容易被当成“每 6 天 / 每 5 天一定能拿到一景”。实际差得远。首先双星互补的前提是两颗星都在轨正常工作一旦其中一颗退役或降级重访立刻退回单星水平。其次重访是轨道回归周期指的是卫星回到同一星下点的时间间隔但实际能不能拍到你的区域取决于幅宽覆盖和成像计划。Sentinel-1 的 IW 模式主要在陆地上采集海上默认用 WV 波模式一个 20 km × 20 km 的小条带沿轨间隔 100 km、同入射角间隔 200 km——这意味着你在海上拿到的不是连续影像而是一串点。第三云量和数据可用性会进一步稀释有效观测。我做时序分析时一般不看标称重访而是直接在检索服务里查目标区域过去一年的实际可用影像列表按相对轨道号分组。同一相对轨道号的影像入射角一致、几何一致做变化检测最稳混用不同轨道号的影像入射角差几度就会带来后向散射或反射率的系统偏差看起来像是地表变化其实是几何差异。这一步是很多人时序曲线抖动的真正原因。3.4 把七八个系列压成一张选型卡参数表里还有 Landsat 系列、SPOT 系列、JERS、ENVISAT、RADARSAT、ALOS、IRS 以及国内陆地、气象、海洋三类卫星。这么多系列不可能每次都从头翻我的做法是压成一张选型卡每个系列只留四个字段。系列观测类型分辨率量级重访量级适用判断Sentinel-1C 波段 SAR5–40 m6–12 天形变、海冰、全天候监测Sentinel-2多光谱 13 波段10–60 m5–10 天植被、土地覆盖、农业Sentinel-3水色/温度/高度计300 m–1.2 km1–2 天大尺度海洋、气候Sentinel-5P痕量气体公里级1 天空气质量、大气成分Sentinel-6雷达高度计星下点10 天海面高度、波高Landsat 系列多光谱中分辨率中长周期长时序、历史对比SPOT 系列高分辨率光学米级—十米级数天精细地物、变化检测RADARSATSAR米级—数十米数天海冰、溢油、灾害ALOS / JERS多光谱 / SAR十米级数十天历史存档、区域制图这张卡的作用不是替代详细参数而是在需求评审的前五分钟内给出方向。真正开始建流程时再回到详细表格里抠波段、入射角、极化方式和产品级别。选型卡我一般会写进项目的 README改一次需求就更新一次比每次开会重新讨论快得多。4. 把参数表接进工程三个脚本让文档变成校验器参数表放在 PDF 里只能查放进代码里才能校验。下面三段脚本是我在每个影像处理项目开头都会跑一遍的作用是把文档里的静态数字变成可执行的断言。4.1 把波段表建成可查询的字典第一步是把 Sentinel-2 的 13 个波段抄成结构化配置。手抄一次比每次查文档快也方便后面做自动化。# Sentinel-2 MSI 波段配置cw 中心波长(nm)bw 带宽(nm)gsd 原生地面采样距离(m) S2_MSI { B01: {cw: 443.0, bw: 20.0, gsd: 60, name: coastal_aerosol}, B02: {cw: 490.0, bw: 65.0, gsd: 10, name: blue}, B03: {cw: 560.0, bw: 35.0, gsd: 10, name: green}, B04: {cw: 665.0, bw: 30.0, gsd: 10, name: red}, B05: {cw: 705.0, bw: 15.0, gsd: 20, name: red_edge_1}, B06: {cw: 740.0, bw: 15.0, gsd: 20, name: red_edge_2}, B07: {cw: 783.0, bw: 20.0, gsd: 20, name: red_edge_3}, B08: {cw: 842.0, bw: 115.0, gsd: 10, name: nir}, B8A: {cw: 865.0, bw: 20.0, gsd: 20, name: nir_narrow}, B09: {cw: 945.0, bw: 20.0, gsd: 60, name: water_vapour}, B10: {cw: 1375.0, bw: 20.0, gsd: 60, name: cirrus}, B11: {cw: 1610.0, bw: 90.0, gsd: 20, name: swir_1}, B12: {cw: 2190.0, bw: 180.0, gsd: 20, name: swir_2}, } def bands_at(gsd, tableS2_MSI): 按原生分辨率筛波段避免把 60 m 波段当 10 m 用 return sorted([b for b, v in table.items() if v[gsd] gsd]) def nearest_band(wavelength_nm, tableS2_MSI): 按中心波长找最近波段绕过 B08/B8A 这类编号陷阱 band, meta min(table.items(), keylambda kv: abs(kv[1][cw] - wavelength_nm)) return band, meta[cw], meta[bw] print(bands_at(10)) # [B02, B03, B04, B08] print(nearest_band(860)) # (B8A, 865.0, 20.0)这段代码的关键是三个字段的含义。cw是中心波长决定这个波段响应哪个物理过程bw是带宽决定光谱分辨能力B08 的 115 nm 和 B8A 的 20 nm 差着一个数量级做窄吸收特征分析时不能互换gsd是原生地面采样距离注意是“原生”不是产品文件里重采样后的网格大小。bands_at用来在拼接前确认哪些波段本来就该是 10 米nearest_band用来处理不同传感器之间的波段对齐——比如要把 Landsat 的某个波段映射到 Sentinel-2按波长找比按序号找靠谱得多。4.2 用 rasterio 校验真实影像的波段数与分辨率抄完表下一步是拿真实文件对一遍。这一步能提前暴露下载错产品、解压错目录、波段顺序错乱这三类问题。import rasterio from pathlib import Path def inspect_s2(path): 检查单景 Sentinel-2 影像的波段数、分辨率、坐标参考与像元类型 with rasterio.open(path) as ds: info { count: ds.count, crs: str(ds.crs), res: ds.res, # (x 分辨率, y 分辨率)单位与 crs 一致 bounds: ds.bounds, dtype: ds.dtypes[0], nodata: ds.nodata, } return info # 10 m 目录下应为 4 个波段20 m 目录 6 个60 m 目录 3 个 for res_dir, expect in [(R10m, 4), (R20m, 6), (R60m, 3)]: for tif in Path(f./S2_L2A/{res_dir}).glob(*.tif): info inspect_s2(tif) flag OK if info[count] expect else MISMATCH print(f[{flag}] {tif.name} count{info[count]} res{info[res]} dtype{info[dtype]})逻辑说明Sentinel-2 L2A 产品按分辨率分目录存放R10m 下是 B02、B03、B04、B08 四个波段R20m 下是 B05、B06、B07、B8A、B11、B12 六个R60m 下是 B01、B09、B10 三个。如果你的代码假设“一个 tif 文件包含全部 13 个波段”在这里就会直接对不上。参数上要注意ds.res返回的是坐标参考系下的像元尺寸如果 CRS 是地理坐标度这个值看起来会是很小的浮点数需要投影转换后才能和“米”对应ds.dtypes[0]返回的是存储类型Sentinel-2 L2A 常见的是 uint16反射率经过 10000 缩放忘了除以 10000 会让 NDVI 计算溢出。我一般还会加一条断言检查 B08 和 B8A 是否同时存在。如果只拿到 4 个 10 米波段说明下游要么缺红边信息要么得从 20 米上采样两种情况的处理策略完全不同必须在流程入口就明确。4.3 用 STAC 检索时把参数表当过滤器影像数量一多手工下载不现实常见做法是通过 STAC 接口检索。把参数表里的约束翻译成检索条件能大幅减少无效下载。from pystac_client import Client # 端点按你所用服务的实际地址填写不同服务的集合命名和查询扩展支持不同 catalog Client.open(https://your-stac-endpoint/v1) search catalog.search( collections[sentinel-2-l2a], bbox[116.0, 39.5, 117.0, 40.5], # 经纬度顺序minx, miny, maxx, maxy datetime2024-06-01/2024-06-30, query{eo:cloud_cover: {lt: 10}}, # 云量阈值按项目容忍度调 limit100, ) items list(search.items()) print(len(items)) for it in items[:5]: print(it.id, it.properties.get(eo:cloud_cover), it.properties.get(platform))逻辑说明collections对应产品集合写错一个字母就是空结果bbox是经纬度顺序和某些 GIS 工具的 x/y 顺序容易搞混datetime用斜杠分隔起止只写一端表示开区间query是查询扩展不同服务端的支持程度不一样有的只支持部分字段遇到不认的字段会直接忽略而不是报错这时候检索结果会变多而不是变少容易被误判成“数据很充足”。参数上要盯住两个eo:cloud_cover是整景云量百分比不是目标区域云量山区单景 5% 云量也可能正好压在你的研究区上platform用来区分是 A 星还是 B 星做辐射一致性分析时同一颗星的影像更可比。检索完之后我习惯再拉一次processingLevel和productType字段确认拿到的是 L2A 而不是 L1C这一步能省掉后面一次重跑。4.4 校验不通过时的三条路径脚本跑出 MISMATCH 的时候不要急着改代码先按三条路径排查。第一条看数据本身文件是不是下载不完整压缩包解压时有没有中断波段顺序在某些第三方镜像上会不会被重排。第二条看产品定义确认下载的是 L1C 还是 L2A两者波段数量一致但辐射量纲不同如果流程里写死了 TOA 转 BOA 的系数用 L2A 跑就会双重校正。第三条看代码假设有些开源库默认按文件名排序加载波段而 Sentinel-2 的 B8A 在字典序里排在 B08 之后、B09 之前稍不注意就把波段索引错位了。三条都过一遍问题基本能定位到具体某一层。5. 避坑参数表和真实数据对不上的五个现场参数表是静态的数据是动态的两者对不上是常态。下面五条是我在模拟项目里真实踩过的每条都按“现象 → 原因 → 解决”记下来。5.1 B08 和 B8A 混用NDVI 曲线出现台阶现象同一块农田的 NDVI 时序中间某几期突然掉 0.05 左右前后趋势本身是连续的不像是物候变化。原因处理链里用“第 8 个波段”来取近红外但不同产品目录下的波段数量和顺序不一样某些批次取到的是 B8A865 nm带宽 20 nm另一些取到的是 B08842 nm带宽 115 nm。两者中心波长差 23 nm、带宽差近 6 倍反射率数值有系统性差异NDVI 自然跳变。解决不用波段序号改用波段名称或中心波长匹配就是 4.1 里那个nearest_band的用法。同时在建流程时把使用的波段名写进日志和输出元数据出了问题能回溯。从那之后我要求所有指数计算函数的入参必须是波段名字符串禁止传整数索引。5.2 分辨率写着 10 米实际是 60 米上采样现象做建筑区提取时10 米产品的边缘比预期模糊很多小目标几乎糊成一片但文件元数据里确实写着 10 米。原因有些处理流程为了统一网格把所有波段重采样到 10 米包括原生 60 米的 B01、B09、B10。重采样只改变像素数量不增加信息量60 米波段的真实空间细节还是 60 米。B10 是卷云通道很多云检测算法要用它如果把它当成 10 米波段直接参与分类等于给模型喂了插值出来的假细节。解决在处理链里为每个波段记录“原生分辨率”字段重采样时保留来源标记输出产品的元数据里写清楚哪几个波段是上采样的。做定量分析时只用原生分辨率匹配的波段组合需要跨分辨率融合就单独走融合流程并评估误差。5.3 把标称重访当成均匀采样周期现象规划月度监测任务时按“5 天重访”排了 6 期实际执行时某些月份只有 1–2 期可用时序分析的时间间隔完全不均匀。原因双星互补的 5 天是理想状态实际受三件事影响单星故障或轨道调整会让重访退回 10 天成像计划按陆地/海洋分模式你所在区域可能不在优先采集列表里云量过滤直接砍掉大半。再加上相邻轨道重叠导致某些时段集中过境、某些时段空窗采样间隔本身就不均匀。解决不要用标称重访做规划直接用检索服务查历史同期的实际可用影像统计每个月的有效景数按实际分布设计时间窗口。时序模型要能处理不等间隔采样别默认输入是等间距序列。5.4 极化方式写成双极化下回来只有单极化现象筛选条件写的是 HHHV下载回来的影像只有 VV 一个通道代码在读第二个通道时报错。原因极化配置和成像模式、采集计划绑定。IW 模式提供双极化HHHV 或 VVVH和单极化HH 或 VV选项但具体某次过境用哪种配置由采集计划决定不是所有过境都有双极化。参数表里列的是“可选项”不是“必然项”。解决检索时就把极化方式作为过滤条件而不是下载后再判断。拿到数据后先读元数据里的极化字段确认再做后续处理。涉及极化分解的分析必须在流程入口显式断言通道数缺通道直接跳过这次过境别让流程带着错误假设往下跑。5.5 L1C 和 L2A 混着比差异被当成地表变化现象两期影像做变化检测差异图上一大片区域显示“变化”实地核查发现地块没动过。原因一期是 L1C大气顶反射率一期是 L2A大气底反射率。大气校正会整体压低反射率气溶胶多的日期压得更多两期影像的量纲根本不在一个层面上。差异图上的“变化”其实是大气状况的差异不是地表变化。解决变化检测的输入必须统一产品级别全部用 L2A或者全部用同一套大气校正参数自己处理 L1C。如果做不到至少在比较前做相对辐射归一化用两期影像里的稳定地物深水体、裸岩、大片建筑屋顶做线性回归校正。这条我现在写进了项目模板的检查清单每次新建流程第一件事就是断言所有输入产品的processingLevel一致。6. 进阶把这份文档变成自己的元数据底座参数表读到这个程度就该考虑怎么让它长期发挥作用了。我的做法是把那份四十多页的文档拆成机器可读的配置放进项目仓库的config/sensors/目录一颗星一个 YAML字段就是前面那几个轨道高度、倾角、重访、传感器类型、波段表、产品级别、极化选项、数据政策。import yaml def load_sensor(name: str) - dict: 按卫星名加载本地参数配置缺失字段直接抛错避免默认值兜底 with open(fconfig/sensors/{name}.yaml, encodingutf-8) as f: cfg yaml.safe_load(f) required {orbit, sensors, bands, products} missing required - cfg.keys() if missing: raise KeyError(f{name} 缺少字段: {missing}) return cfg这段的意义不在于代码本身而在于把“查文档”变成“读配置”。流水线里所有关于波段、分辨率、重访的判断都从这个配置里取改一处全链路生效不用去翻 PDF 对数字。配合一个 CI 任务每次有人新增数据源或修改参数就跑一遍字段完整性和量纲一致性检查——中心波长必须是纳米、分辨率必须是米、重访必须是天单位混了立刻报错。我还会在每个项目结束时补一行记录这次用了哪颗星、哪一级产品、哪个模式、实际有效景数是多少。攒十几个项目之后这张表和文档里的标称参数对照着看就能看出哪些数字是理论值、哪些接近现实。比如某个区域实际有效重访往往是标称值的两到三倍这个倍数比任何文档都更有参考价值。说个具体的教训。早些年做一套区域土地覆盖更新图省事直接按文档标称的 5 天重访排了季度四期结果整个季度只凑出两期可用影像后面全靠插值硬撑成果精度一塌糊涂。从那以后我每次启动新项目都会强制走一遍“查实际可用影像 → 统计有效采样间隔 → 再定时间窗口”的流程参数表只用来做初筛不再用来做承诺。希望这份拆解能帮你在下一次数据源比选时少翻几页手册多留几个小时给真正重要的处理环节。本文还有配套的精品资源点击获取

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询