植被覆盖度遥感反演方法及GLASS、GEOV等FVC产品使用指南
创作时间:
作者:
@小白创作中心
植被覆盖度遥感反演方法及GLASS、GEOV等FVC产品使用指南
引用
CSDN
1.
https://blog.csdn.net/RS_LAB/article/details/121787694
植被覆盖度(Fractional Vegetation Cover, FVC)是遥感领域中一个重要的生态参数,用于描述植被在地面的覆盖程度。本文将详细介绍FVC的遥感反演方法,包括像元二分法、回归模型法和机器学习算法,并介绍GLASS、GEOV等FVC产品的使用和处理方法。
植被覆盖度定义
植被覆盖度一般是指植被(包括叶、茎、枝)在地面的垂直投影面积占统计区总面积的百分比。
遥感反演方法
常用的遥感反演方法包括像元二分法、回归模型法和机器学习算法等。本文将详细介绍这些方法的具体实验步骤。
1.1 像元二分法
像元二分法是通过计算植被指数(VI)来反演植被覆盖度的方法。公式如下:
FVC = (VI - VIsoil) / ( VIveg - VIsoil)
式中:
- VI为植被指数,通常选用归一化差分植被指数(NDVI)
- VIsoil为选定的裸土端元VI值
- VIveg为植被端元VI值
操作步骤:
- 影像选点法
- 在沙漠地区选取裸土端元VI值(例如NDVI值为0.059)
- 在植被茂盛地区选取植被端元VI值(例如NDVI值为0.911)
- 使用ENVI或ArcGIS软件进行像元二分法操作
- 置信区间法
- 通过ENVI软件的“快速统计”功能了解影像像元值分布
- 选择5%或2%的置信区间作为纯裸土和纯植被端元值
- 使用Band math计算FVC
小结:
- 基于遥感影像选取端元值需要目视解译高空间分辨率影像,操作较为繁琐
- 基于置信区间法选取端元值简单易操作,但需要根据研究区特点慎重选择
1.2 回归模型法
回归模型法是通过建立植被指数与植被覆盖度之间的经验回归模型来进行反演。最简单的形式为:
FVC = a × NDVI + b
操作步骤:
- 收集实测FVC数据
- 使用最小二乘法拟合回归模型
- 使用Band Math计算区域尺度的FVC
1.3 机器学习方法
机器学习方法包括随机森林、支持向量机、神经网络等算法。需要实测FVC数据和辅助数据(如光谱波段)。
操作步骤:
- 构建数据集(包括测试集和训练集)
- 训练模型(以随机森林回归模型为例)
- 制作空间分布图
以下是MATLAB代码示例:
clear
clc
% 数据读取
TRAIN = xlsread('G:\\TR.xlsx'); % 训练集目录
TEST = xlsread('G:\\TR.xlsx'); % 测试集目录
% 数据准备
P_train = TRAIN(:, 2: 4)'; % 训练集驱动数据
T_train = TRAIN(:,1)'; % 训练集目标数据
P_test = TEST(: ,2: 4)';
T_test = TEST(: , 2)';
M = size(P_train, 2);
N = size(P_test, 2);
% 数据转置
p_train = P_train'; p_test = P_test';
t_train = T_train'; t_test = T_test';
% 模型训练
trees = 500; % 决策树数目
leaf = 50; % 最小叶子数
OOBPrediction = 'on'; % 打开误差图
OOBPredictorImportance = 'on'; % 计算特征重要性
Method = 'regression'; % 分类还是回归
net = TreeBagger(trees, p_train, t_train, 'OOBPredictorImportance', OOBPredictorImportance,...
'Method', Method, 'OOBPrediction', OOBPrediction, 'minleaf', leaf);
importance = net.OOBPermutedPredictorDeltaError; % 重要性
% 模型预测
t_sim1 = predict(net, p_train);
t_sim2 = predict(net, p_test );
% 误差计算
error1 = sqrt(sum((t_sim1' - t_train).^2) ./ M);
error2 = sqrt(sum((t_sim2' - t_test ).^2) ./ N);
% 结果可视化
figure
plot(1: M, t_train, 'r-*', 1: M, t_sim1, 'b-o', 'LineWidth', 1)
legend('真实值','预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'训练集预测结果对比'; ['RMSE=' num2str(error1)]};
title(string)
xlim([1, M])
grid
figure
plot(1: N, t_test, 'r-*', 1: N, t_sim2, 'b-o', 'LineWidth', 1)
legend('真实值','预测值')
xlabel('预测样本')
ylabel('预测结果')
string = {'测试集预测结果对比';['RMSE=' num2str(error2)]};
title(string)
xlim([1, N])
grid
% 绘制误差曲线
figure
plot(1 : trees, oobError(net), 'b-', 'LineWidth', 1)
legend('误差曲线')
xlabel('决策树数目')
ylabel('误差')
xlim([1, trees])
grid
% 绘制特征重要性
figure
bar(importance)
legend('重要性')
xlabel('特征')
ylabel('重要性')
% 相关指标计算
R1 = 1 - norm(t_train - t_sim1')^2 / norm(T_train - mean(t_train))^2;
R2 = 1 - norm(t_test - t_sim2')^2 / norm(T_test - mean(t_test ))^2;
disp(['训练集数据的R2为:', num2str(R1)])
disp(['测试集数据的R2为:', num2str(R2)])
mae1 = sum(abs(t_sim1' - t_train)) ./ M;
mae2 = sum(abs(t_sim2' - t_test )) ./ N;
disp(['训练集数据的MAE为:', num2str(mae1)])
disp(['测试集数据的MAE为:', num2str(mae2)])
mbe1 = sum(t_sim1' - t_train) ./ M ;
mbe2 = sum(t_sim2' - t_test ) ./ N ;
disp(['训练集数据的MBE为:', num2str(mbe1)])
disp(['测试集数据的MBE为:', num2str(mbe2)])
FVC产品数据
2.1 GLASS FVC产品
- 时间分辨率:8天
- 时间范围:2000~2021
- 空间分辨率:500m
2.2 GEOV系列
- GEOV1、GEOV2(2000~2019)
- GEOV3(2014~至今)
- 合成周期:10天
- 时间范围:2000~至今
- 空间分辨率:300m
2.3 MuSyQ FVC产品
- 时间分辨率:4天
- 时间范围:2001~2021
- 空间分辨率:500m
- 数据格式:HDF5(可通过MATLAB、Python打开)
植被覆盖度动态变化分析
3.1 趋势分析
- 一元线性回归
- Sen+MK趋势分析
3.2 相关分析
- 探究植被覆盖度变化与温度、降水等因子的关系
3.3 地理探测器
- 创建渔网
- 提取栅格值至点
- 使用地理探测器软件进行分析
热门推荐
当青少年面临情绪问题时,家长要学会共情
减压病:高气压环境下的隐形杀手
虞仁荣的亮相,窥见中国经济更深处的变革
数智引领!探索创新工程造价改革“青岛经验”
必看!PPT制作技巧一网打尽,超全面总结!
左脑思维和右脑思维的区别
印度与越南:军事实力大比拼
章华妹家的三本证和温州的三次先行
湿气缠身易卡痰、脸油腻腻!湿气困滞部位有差别,6大症状详解
月子期间需要注意哪些身体保养?
连续竞价的规则是什么?这些规则对交易有哪些影响?
凤凰男,解读背后的含义与争议
教做人的书有哪些?教你做人的好书推荐:经典名著与当下的智慧!
连续9年年报存重大遗漏!ST华微因资金占用信披违法收千万罚单
如何使头发一整天都又顺又直
河流-地下水相互作用研究前沿
糙米泡了多久比较合适?两天还能吃吗?
如何降低冰箱耗电量(简单的措施让你省电又环保)
唐诗中的冬天:冰寒之景与炽热诗情
从“脏乱差”到“绿富美”:略阳县学习运用“千万工程”经验建设和美村庄
傲娇是什么意思?
【廉洁文化】廉洁故事
什么是个人资产
办理退出中国国籍证明的步骤和流程
视频剪辑新手入门教程
刑事案件延迟开庭怎么办?一文详解延期审理相关问题
宜都:党建引领,共同缔造和美家园
家庭唯一住房的认定标准及税收优惠政策解析
欧陆顶级新派前卫/Djent「Unprocessed」重新启程!
人体成分分析报告解读:从BMI到肌肉脂肪控制