问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

植被覆盖度遥感反演方法及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值

操作步骤:

  1. 影像选点法
  • 在沙漠地区选取裸土端元VI值(例如NDVI值为0.059)
  • 在植被茂盛地区选取植被端元VI值(例如NDVI值为0.911)
  • 使用ENVI或ArcGIS软件进行像元二分法操作
  1. 置信区间法
  • 通过ENVI软件的“快速统计”功能了解影像像元值分布
  • 选择5%或2%的置信区间作为纯裸土和纯植被端元值
  • 使用Band math计算FVC

小结:

  • 基于遥感影像选取端元值需要目视解译高空间分辨率影像,操作较为繁琐
  • 基于置信区间法选取端元值简单易操作,但需要根据研究区特点慎重选择

1.2 回归模型法

回归模型法是通过建立植被指数与植被覆盖度之间的经验回归模型来进行反演。最简单的形式为:

FVC = a × NDVI + b

操作步骤:

  1. 收集实测FVC数据
  2. 使用最小二乘法拟合回归模型
  3. 使用Band Math计算区域尺度的FVC

1.3 机器学习方法

机器学习方法包括随机森林、支持向量机、神经网络等算法。需要实测FVC数据和辅助数据(如光谱波段)。

操作步骤:

  1. 构建数据集(包括测试集和训练集)
  2. 训练模型(以随机森林回归模型为例)
  3. 制作空间分布图

以下是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 地理探测器

  • 创建渔网
  • 提取栅格值至点
  • 使用地理探测器软件进行分析

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号