ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

RSEI遥感生态指数计算全流程:从Landsat影像到生态质量分级

RSEI遥感生态指数计算全流程:从Landsat影像到生态质量分级 做生态评价这行的朋友应该都听过RSEI这个名字。RSEIRemote Sensing Ecological Index说白了就是用遥感影像算出一个综合指数把某个区域的植被、湿度、热度、地表干度一次性揉在一起用主成分分析去定义“生态好不好”。跟过去那种单靠植被覆盖度或者单看土地利用类型的做法不一样RSEI不需要人为定权重数据一跑完就是一套结果而且空间上能出整幅图时间上能对比多年变化。这个教程就是把这套流程从头到尾讲清楚从影像下载、预处理到四个指标计算、主成分分析、最后出图分级顺带把我做的时候踩过的坑和修正思路也写出来。适合正在写论文、做自然资源调查、国土空间规划监测的朋友参考尤其是第一次碰RSEI对着文献不知道怎么下手的这篇基本上可以当操作手册用。1. 模型原理与设计思路先别急着开软件跑数据RSEI这套东西如果不懂原理跑出来翻车了都不知道是哪儿出的问题。我见过不少新手直接拿着别人GEE的代码一跑出了图但完全解释不了答辩的时候一问就被问住了。所以这一章把模型背后的逻辑讲透。1.1 RSEI要解决什么问题传统生态质量评价容易陷入两个极端一是依赖地面采样点精度高但空间覆盖有限大范围研究区布点成本很高二是搞一个评价体系把降雨、人口、GDP、土壤类型全拉进来指标多了反而不知道权重怎么定主观性特别大。RSEI的思路完全不同它全部基于遥感影像计算不需要地面实测数据完全靠影像本身反映的绿度、湿度、热度、干度四个分量来逼近人类对“生态好坏”的直觉判断。这四个分量不是拍脑袋选的它们对应着生态系统中与人类生存最相关的几类状态植被生长状况、土壤与植被水分状况、地表热环境、地表“裸化”或“建筑化”程度。把这四个分量通过主成分分析融合成一个指数就能在空间上连续表达生态质量在时间上也可以逐年比较。这个模型最开始由徐涵秋提出在很多城市和流域的研究里都验证过和实测的生态参数、土地利用类型有较好的一致性。它能解决的最大痛点就是你拿到一堆影像不用额外数据就能快速给一个区域打出“生态分”还能出图、出面积统计表。1.2 为什么是绿度、湿度、热度、干度这四个指标先想一个问题如果让你用遥感影像判断一个地方生态好不好你第一眼会看什么多半是植被多不多、是不是绿油油的一片。这就是绿度指标的意义最常用的是NDVI归一化植被指数。它利用近红外和红波段的反射差异对植被覆盖度和生长活力非常敏感。纯水体或裸地NDVI很低甚至为负茂密森林NDVI能到0.7以上梯度感很强。湿度指标WET来自缨帽变换的湿度分量。缨帽变换是把原始波段投影到几个有生态含义的方向其中湿度分量反映的是土壤和植被中的水分含量。水多的地方生态通常不会太差比如湿地、农田灌溉区、林下土壤湿度分量就会偏高。城市地表因为透水性差湿度分量往往偏低。热度指标LST就是地表温度。城市热岛效应、裸地暴晒、植被蒸腾作用弱的地方地表温度会明显偏高。生态好的区域因为植被覆盖和水分蒸散地表温度通常比较低。这也是为什么夏季卫星影像里森林和城区温差能拉到十度以上。干度指标NDBSI归一化差值裸土与建筑指数把它摆进来的原因是很多生态退化区域不是没植被而是地表被裸土或建筑硬质面覆盖。NDBSI把裸土指数SI和建筑指数IBI整合起来专门捕捉“地表变干、变硬”的信号。比如建设用地扩张、耕地撂荒、河床裸露在NDBSI上都会有明显响应。这四个指标加在一起基本覆盖了生态质量评价中“植被—水分—温度—地表覆被”四个维度的核心信息而且全部来自遥感影像彼此独立又互补后面的主成分分析正好能把这四股信息拧成一股绳。1.3 主成分分析为什么能干这个活RSEI最讨巧的地方也是很多人没转过弯的地方就是用了主成分分析PCA来集成指标。PCA的本质是数据降维它是根据四个指标之间的相关性自动找出一组新的正交方向其中第一主成分PC1能保留原始数据最大的方差信息。如果四个指标都能反映生态质量它们之间必然存在相关性。比如NDVI高、湿度高通常LST就低、NDBSI也低反之城市区域NDVI低、湿度低LST高、NDBSI高。PCA正好能把这层内在关系提取出来而且不需要人为给权重。PC1的载荷系数就是各指标在生态质量综合信息里的实际贡献这比拍脑袋定权重客观得多。实际操作中PC1通常能解释60%到80%以上的方差这说明四个指标的信息很大一部分被PC1抓住了丢掉的其他主成分主要是噪声或各指标独立的特异信息。所以RSEI一般只用PC1构造不用PC2、PC3因为那些主成分往往带有比较强的局部干扰。需要特别提醒的是PCA的方向不是固定的。如果四个指标归一化后输入时生态正向指标NDVI、WET数值高、生态负向指标LST、NDBSI数值低PC1可能在生态好的地方取值高也可能反过来。所以算完PC1之后一定要检查它和四个指标的相关方向如果不一致就得用1减掉PC1保证RSEI数值越大代表生态越好。这个细节我在第四部分单独说。2. 数据准备与预处理数据是整个RSEI流程的地基。我见过不少学生花了很大力气跑模型最后因为影像预处理不合理LST全是野值PCA结果完全没法解释。这一章不讲玄学全是我实际操作中验证过的流程。2.1 影像选择Landsat是绝对主力RSEI最经典的输入是Landsat系列影像尤其是Landsat 5 TM、Landsat 7 ETM 和 Landsat 8/9 OLI/TIRS。原因很简单历史数据从1980年代到现在都有时间序列长免费下载空间分辨率30米热红外波段重采样后也是30米做县域、市域、流域尺度的生态评价完全够用。有人问哨兵2号行不行。Sentinel-2有10米分辨率和丰富的红边波段但从2015年之后才有数据做历史对比会比较吃力。而且Sentinel-2没有热红外波段LST没法从自身影像获得还得另外找Landsat的LST再重采样到10米尺度一混误差反而大。所以除非你的研究区特别小需要高分辨率细节否则还是老老实实用Landsat。Landsat 7有严重的条带问题2003年之后SLC-off导致影像有很多数据缝隙如果在条带区域做RSEI结果会很难看。我的建议是能用Landsat 51984-2012或者Landsat 8/92013年至今就用这两个只有年头实在对不上才考虑Landsat 7并且要做好条带掩膜。2.2 时相选择与云量控制RSEI对影像时相非常敏感。同一个地方春季和秋季的NDVI、LST差别很大如果做多年对比不同年份选了不同月份结论基本没参考价值。选影像至少要遵守两条原则一是年份内部的影像尽量选同一个月或相邻月份我一般倾向选择植被生长旺盛期的影像比如北半球7到9月这时候植被信号最强生态差异最能被拉开。如果是做城市扩张对生态的影响生长季影像也更敏感。二是云量要严格控制最好是全影像云量低于5%研究区内部完全没有云。云和云阴影会严重干扰NDVI和LST计算即使只覆盖了小块区域最后PCA都可能被污染。下载的时候先在USGS EarthExplorer或者地理空间数据云筛选云量拿到影像后用波段质量评估文件QA Band或Fmask做云掩膜把云和云阴影区域排除掉。具体下载方式不展开了USGS账号免费申请地理空间数据云对国内Landsat数据下载比较方便自行选择就好。下载影像时注意选Level-1TP级别已经做过地形校正的产品省去几何精校正的麻烦。2.3 预处理流程辐射定标与大气校正RSEI四个指标里LST需要的是热红外辐射亮度值其他指标需要地表反射率。如果用原始DN值直接算NDVI误差不大因为NDVI是比值运算能抵消一部分大气影响但WET、NDBSI、LST对绝对辐射值更敏感所以大气校正是必须做的。我习惯在ENVI里走这一套流程打开影像后先用Radiometric Calibration做辐射定标多光谱波段输出为反射率热红外波段输出为辐射亮度或亮度温度。然后对多光谱波段做FLAASH大气校正输入中心纬度、影像获取日期、海拔高度、气溶胶模型和大气模型计算得到地表反射率。FLAASH在ENVI版本里越来越完善参数设置合理的话精度是可以接受的。如果不想用ENVIPython也可以做。用gdal读数据按照USGS发布的Landsat Calibration参数离线计算或者用6S大气辐射传输模型跑。不过说实话Python做大气校正的门槛还是偏高新手最容易在校正系数上出问题我建议第一遍先用ENVI跑通流程后面要批量处理再上Python。需要注意大气校正后的多光谱波段必须是浮点型反射率取值范围0到1左右。保存成ENVI标准格式的同时最好顺手把影像统一投影到UTM坐标系这样后面算面积、统计图斑都方便。2.4 研究区裁剪与水体掩膜研究区裁剪很简单在ENVI里用Subset Data from ROIs按矢量边界裁影像。这里有个小陷阱裁剪范围一定要比研究区略大一点留出缓冲区避免后续计算过程中边缘像元因为邻域操作出现人为的空洞。水体的处理更关键。RSEI的湿度分量对水体非常敏感大湖面、水库、河流在WET上会显著偏高如果不做掩膜PCA中水体区域会极大影响全局统计导致陆地生态信息被压缩。一般做法是先算NDWI或MNDWI提取水体生成水体掩膜然后在后续所有指标计算、PCA统计中都排除水体像元。等RSEI出图后再把水体单独标示或填充为背景值。我踩过的一个坑是有一次在城市研究中没做水体掩膜结果PC1的第一个载荷竟然被WET主导整幅图看起来像是把水体“点亮”了陆地上反而层次不清。加掩膜之后陆地的生态梯度才正常显示出来。3. 四个生态分量的详细计算这一章是全文的手把手环节。我按Landsat 8 OLI来写公式和操作Landsat 5/7的波段设置也可以用同样的逻辑替换只是波段编号和缨帽系数不同。3.1 绿度NDVI计算与踩坑NDVI的公式是NDVI (NIR - Red) / (NIR Red)对应Landsat 8NIR是第5波段Red是第4波段。在ENVI Band Math里直接写浮点运算(b5 - b4) / (b5 b4)需要注意几个问题。第一输入必须是大气校正后的反射率不能用辐射定标前的原始DN值否则结果虽然形状大致对但数值范围会偏。第二NDVI分母不可能为零但如果影像中有NoData值运算时会引入极大值或极小值所以计算前最好先做无效值掩膜。第三有些影像在云区NDVI会出现负值或超过1的异常值这部分同样要掩膜掉。NDVI计算出来后可以先做一个简单的密度分割看一下植被覆盖的空间格局是否符合常识。比如山区森林NDVI高、城区低、水体为负基本就说明这一步没算错。这个中间检查很便宜但能帮你尽早发现问题。3.2 湿度WET缨帽变换系数别选错WET要从缨帽变换里取湿度分量。Landsat 8 OLI的湿度系数和Landsat 5/7 TM/ETM不一样网上很多旧教程直接抄TM系数用到OLI上结果算出来的WET空间分布很奇怪。这一点必须看清楚。Landsat 8 OLI的WET公式用的是反射率产品常见版本WET 0.1511 * Blue 0.1973 * Green 0.3283 * Red 0.3407 * NIR - 0.7117 * SWIR1 - 0.4559 * SWIR2对应波段Blue为B2Green为B3Red为B4NIR为B5SWIR1为B6SWIR2为B7。在ENVI Band Math里输入0.1511 * b2 0.1973 * b3 0.3283 * b4 0.3407 * b5 - 0.7117 * b6 - 0.4559 * b7如果是Landsat 5 TM系数版本是WET 0.0315 * B1 0.2021 * B2 0.3102 * B3 0.1594 * B4 - 0.6806 * B5 - 0.6109 * B7这里通常用前六个波段中的六个系数具体以文献中的表为准。做研究时建议在文章里写明你选的是哪套系数方便别人复现。我自己的体会是WET出问题最多的情况不是系数选错而是波段顺序搞错。用ENVI的Band Math时一定要先确认波段顺序用b2不代表实际是第2波段如果你导入文件时波段顺序被重排过公式就白写了。稳妥的办法是先打开文件看一下每个波段的中心波长再写公式。3.3 干度NDBSISI和IBI的联合NDBSI是裸土指数SI和建筑指数IBI的算术平均公式为NDBSI (SI IBI) / 2SI的计算公式SI ((SWIR1 Red) - (NIR Blue)) / ((SWIR1 Red) (NIR Blue))对应Landsat 8SI ((b6 b4) - (b5 b2)) / ((b6 b4) (b5 b2))IBI的计算公式比较长IBI (2 * SWIR1 / (SWIR1 NIR) - (NIR / (NIR Red) Green / (Green SWIR1))) / (2 * SWIR1 / (SWIR1 NIR) (NIR / (NIR Red) Green / (Green SWIR1)))对应ENVI Band Math(2 * b6 / (b6 b5) - (b5 / (b5 b4) b3 / (b3 b6))) / (2 * b6 / (b6 b5) (b5 / (b5 b4) b3 / (b3 b6)))看着复杂其实就是几个波段组合的比值运算。建议在计算之前把公式拆成两部分先算IBI的分子部分和分母部分再用Band Math组合到一起这样哪一步出了问题容易排查。NDBSI理论上取值范围在-1到1之间但实际影像里因为大气残余、波段噪声偶尔会出现超出范围的值。只要不严重可以保留但如果出现大量异常值说明前面的预处理出了问题建议回头检查大气校正参数。3.4 热度LST从热红外波段到地表温度LST是四个指标里最容易算错的一个因为它不是简单的波段比值而是要经过两个阶段的辐射物理量转换。我按步骤来说明。第一步把热红外波段的像元值转成辐射亮度。Landsat 8的TIRS Band 10如果用ENVI Radiometric Calibration直接输出radiance就能得到单位为W/(m2·sr·μm)的辐射亮度。这一步一般软件会处理好。第二步把辐射亮度转换成亮度温度At-Satellite Brightness Temperature公式是BT K2 / ln(K1 / Lλ 1)其中Lλ是上一步得到的辐射亮度K1和K2是热红外波段的定标常数。Landsat 8 Band 10对应的K1 774.8853 W/(m2·sr·μm)K2 1321.0789 K。这些常数在影像自带的MTL文件里都有直接查就行。第三步计算地表比辐射率进而把亮度温度修正为地表温度。最常用的方法是NDVI阈值法用NDVI值估算植被覆盖度再估算比辐射率当NDVI 0.05时认为是裸地或水体比辐射率取0.98水体或0.97裸地当NDVI 0.7时认为是完全植被覆盖比辐射率取0.985当0.05 ≤ NDVI ≤ 0.7时先计算植被覆盖度FVC (NDVI - NDVI_min) / (NDVI_max - NDVI_min)然后按比例混合植被和裸土的比辐射率公式为ε 0.004 * FVC 0.986。第四步用下式反算地表温度LST BT / (1 (λ * BT / ρ) * ln(ε))λ是热红外波段中心波长Landsat 8 Band 10取10.8μmρ h * c / σ约等于1.438e-2 m·K。这个公式在ENVI和Python里都能一行算完。LST的常见问题是算出来的温度比常识偏低或偏高好几度。如果偏低多半是比辐射率取高了如果偏高可能是大气校正时用了错误的大气参数。我的习惯是算完后把LST和同期的气象站近地面气温做个粗略对比虽然地表温度不等于气温但两者差距一般不会超过十几度如果差出三十度去那肯定是计算有问题。到了这一步NDVI、WET、NDBSI、LST四个指标栅格就都准备好了。接下来最关键的一步PCA和RSEI构建。4. 主成分分析与RSEI构建四个指标都算出来后不能直接拿来平均因为量纲不一样。NDVI范围在0到1左右LST是30多度WET可能负的零点几NDBSI也是0到0.3左右。如果不做归一化LST会在PCA里占据绝对主导地位其他三个指标的信息全被淹没。所以PCA之前必须先归一化。4.1 指标归一化不是可选项是必选项归一化公式很简单NI (I - I_min) / (I_max - I_min)其中I是原始指标栅格I_min和I_max分别是该指标在有效像元里的最小值和最大值。归一化后每个指标的范围都在0到1之间越大代表该维度上生态越好或越差看指标定义。这里有个容易犯的错误在两个年份以上做对比时如果每一年都用自己的最小值和最大值归一化那么年份之间的数值不可比因为你把每一年的“最差”都归一化成0“最好”都归一化成1了。要做跨年份变化检测强烈建议用研究期所有年份合并后的全局最小值和最大值来归一化或者至少用同一套统计参数这样RSEI的变化才是真实的变化。在ENVI里我用Statistics功能统计每个指标的有效像元最小值、最大值也可以用Python配合gdalnumpy算然后写公式(b1 - 0.02) / (0.85 - 0.02)注意ENVI Band Math里如果直接写(b1 - min) / (max - min)min和max需要替换成具体数字因为Band Math不支持读取全局统计值自动填入。4.2 主成分分析的实操步骤归一化完成后按NDVI、WET、NDBSI、LST的顺序合成一个四波段文件。在ENVI里用Layer Stacking把四个单波段合成一个.dat文件然后打开这个文件在Toolbox中找Linear / PC Rotation选择Principal Components。在PC Rotation对话框里要设置两个关键参数统计来源Compute Statistics和输出波段数。输出波段数我一般直接设为4这样能看到PC1到PC4各自的解释方差和载荷矩阵。如果想偷懒只输出PC1也可以但那样就看不到载荷情况方向校正那一步就不好判断了。运算完成后ENVI会在输出报告中列出每个主成分的特征值和方差贡献率。重点看PC1的方差贡献率如果低于65%说明四个指标之间的相关性较弱或者某个指标有异常。这时候最好回去检查是否做了水体掩膜、是否有大量云残留。4.3 PC1方向校正RSEI是不是越大越好这一步是整个流程里最容易语义出错的地方。PCA本身不知道“生态好”是应该数值大还是小。如果PC1表达式里NDVI、WET有负的载荷LST、NDBSI有正的载荷那么PC1越大可能代表生态越差这时候如果直接拿PC1当RSEI用图就反了。常规做法是先看PCA载荷矩阵如果PC1与NDVI、WET呈正相关与LST、NDBSI呈负相关说明PC1大表示生态好可以直接用如果反过来就先计算一个中间指数再用1减去它让方向对齐。我自己的流程是先把PC1栅格归一化到0-1得到初始生态指数EI0然后算EI0与NDVI的相关系数。如果相关系数为正RSEI EI0如果相关系数为负RSEI 1 - EI0。你可以用ENVI的Compute Statistics里的相关矩阵来判断也可以直接用两个栅格的散点图肉眼观察。这一步虽然简单但直接决定最终RSEI图会不会令人困惑。最后把RSEI再次归一化到0-1方便分级和制图。一个非常耗时的细节是在用Band Math写1 - EI0的时候要确保EI0里没有NoData值否则NoData会变成负数或NaNs制图时会出现很多黑点。4.4 用Python跑PCA的替代方案如果你手里影像特别多想在Python下批量处理也可以不用ENVI。思路是用gdal把四个指标栅格读成numpy数组归一化后在有效像元上做PCA。大致步骤是先读取四个数组把无效值统一设为np.nan然后取所有有效像元组成的二维矩阵用numpy的np.linalg.eig或者sklearn.decomposition.PCA计算主成分。注意sklearn的PCA会要求输入标准化数据这里我们只做0-1归一化严格来说和ENVI里基于协方差矩阵的PCA会有细微差别但结果方向基本一致不影响RSEI分级。用Python的好处是批量处理比较方便坏处是内存占用大。一个30米分辨率的县域Landsat影像单波段可能有几百万像元四个波段合成数组普通电脑还能跑但如果做全省范围建议分块处理或者直接用ENVI我一般是两种混着用ENVI做交互探索Python做批量生产。5. 结果分级、制图与变化检测RSEI算出来后其实已经是一张能看出生态质量空间差异的灰度图了。但要真正用于评价和论文制图还需要做分级、统计甚至跨年份的变化检测。5.1 生态质量分级等间隔四分法最常用RSEI值域在0到1之间最常用的分级方法是等间隔四分或五分。四分法一般是00.2差0.20.4较差0.40.6中等0.60.8良好0.81.0优如果做五分就是在0.2的间隔里继续细分。等间隔的好处是操作简单、结果直观而且不同年份之间可以直接对比面积占比。在ENVI里用密度分割Density Slice可以很快把RSEI分成五个等级然后用Classification to Vector转成矢量或统计面积。如果你喜欢用ArcGIS直接在图层属性里设置分级符号就可以面积统计用Zonal Histogram或Tabulate Intersection。制图时的配色我推荐按“红—橙—黄—绿—深绿”的序列生态差用红色、优用深绿色这是国内相关论文常见的配色习惯读者看着也舒服。要特别注意图例的单位和年份标注比如“RSEI2021”避免图件信息不全。5.2 空间变化检测两个年份相减就能看趋势要做两个年份的RSEI变化最简单的方法是用后一年的RSEI减去前一年的RSEI得到差值图。差值大于0表示生态改善小于0表示退化。在做差值之前有一个隐藏问题两个年份的RSEI必须出自同一套归一化参数。如果每年都用了独立的归一化参数那差值会包含很多“伪变化”不是真实的生态变化。所以我在第四章就提醒过多年对比要用全局统计参数。得到差值图后可以再对差值设定阈值分级比如差值大于0.1算明显改善小于-0.1算明显退化中间算基本不变。阈值根据研究区实际变化幅度来定没有严格标准但要在论文里说清楚。我做过一个市域十年RSEI变化分析发现生态退化最明显的区域基本集中在建成区扩张的块状区域以及一些矿区周边生态改善区域则多出现在退耕还林、生态修复项目区。这类空间分布结论配合转移矩阵能把单纯的指数图变成政策评估工具。5.3 与土地利用、社会经济数据的交叉分析RSEI单看是一张指数图但如果叠加土地利用分类结果就能回答“哪类用地生态质量更好”的问题。我习惯的做法是先把RSEI按土地类型分区统计均值再用箱线图看不同地类之间的差异。正常情况下林地RSEI最高水体其次耕地中等建设用地最低裸地偏低。如果结果明显不符合这个规律要么是掩膜没做好要么是分类数据与影像时相不匹配需要排查。跟社会经济数据交叉分析也常见比如把RSEI和夜间灯光数据做相关分析看城市扩张与生态质量的关系。这类分析要注意空间尺度匹配问题尽量在格网或街道尺度上聚合统计避免直接在像元级做相关导致空间自相关干扰。6. 常见问题与排查技巧跑RSEI的过程中几乎每个人都会遇到几个固定问题我按频率把我遇到过的坑和解决办法列出来。6.1 水体掩膜没做干净导致结果失真这个问题我在第二章提到过。具体症状是RSEI图里水体区域显示为极高的生态质量而陆地生态差异反而不明显。原因是WET在干净水体上数值非常高PCA第一主成分被水体主导。解决办法是在计算四个指标之前就做好水体掩膜而不是在RSEI算完后再人为擦掉水体。因为PCA的统计过程会把所有像元都纳入计算只有提前排除水体PCA才会聚焦陆地生态信息。水体掩膜我用MNDWI比较多公式是MNDWI (Green - SWIR1) / (Green SWIR1)对应的Landsat 8波段MNDWI (b3 - b6) / (b3 b6)阈值取0附近通常大于0就算水体再辅以人工目视检查必要时手动补充缺失的水体多边形。6.2 LST计算出来负值或离谱的低温LST为负值绝大多数情况是亮度温度转换时单位没搞对。很多人直接用ENVI的Thermal Atm Correction工具参数设置里如果温度输出单位选了Celsius会得到一个以摄氏度为单位的温度这没问题。但如果自己写公式用到的是开尔文温度K两者相差273.15一不留神就会算出负值或者低得离谱的温度。另一个常见问题是用于计算比辐射率的NDVI没有做水体掩膜水面的NDVI很低被当成裸地比辐射率给低了LST自然偏低。我在一个河流密集的研究区就遇到过水体附近的LST一下子少了近十度后来把水体掩膜加上就正常了。6.3 PC1的解释方差太低到底要不要用PC2有的区域地表异质性太大四个指标之间相关性弱PC1的方差贡献率只有50%甚至更低。这时候强行用PC1构造RSEI可能会损失较多信息。我的处理习惯是如果PC1贡献率低于60%先检查是否存在云、水体、条带等噪声确认数据干净后再算一下PC2的贡献率。如果PC2贡献率也很高且其载荷方向更符合生态直觉可以考虑用PC1和PC2加权合成初始指数但这样会降低模型简洁性论文里一定要说明理由。绝大多数情况下把四个指标重新检查一遍发现是某个指标归一化时没排除NoData导致的野值修正之后PC1的贡献率就会升上去。6.4 跨年份对比时RSEI变化方向与事实不符这个问题通常不是计算错而是归一化参数不一致造成的。两个年份各自归一化就会把每一年的“最好”都置为1导致即使某一年整体生态变差了RSEI图上显示出来的高值区域仍然很高。解决方法是回到第四章提到的全局归一化统计参数。还有一个隐蔽问题两个年份影像的时相差了两个月比如一年是7月另一年是9月植被物候差异会导致RSEI出现系统性偏差看起来像是生态变差或变好其实是季节因素。所以做时间序列时时相选择必须尽量一致这一点在数据准备阶段就要想好后期再校正很麻烦。6.5 快速自查清单最后把我做RSEI项目时的自查清单分享出来每次跑完流程都过一遍影像时相是否接近云量和条带是否控制好是否做了大气校正波段单位是反射率而非DN值是否做了水体掩膜掩膜有没有覆盖全部水体四个指标是否都归一化到了0-1PC1方差贡献率是否大于60%载荷方向是否符合生态逻辑RSEI是否与NDVI正相关、与LST负相关多年对比是否用了全局统一归一化参数如果这些问题都回答正确RSEI结果基本就是可信的了。我在实际项目中用过这套流程做过省域生态评价、矿区生态修复监测、城市扩张影响分析也都用同样的自查清单保证结果稳定。RSEI这个模型最大的好处是输入简单、流程固定、结果可解释只要把预处理和PCA方向这两关把好后面基本就是流水线一样顺畅。希望这篇教程能让你少走几步弯路。
返回列表