GEE计算 RSEI(遥感生态指数)

🛰️ 什么是 RSEI?为什么要用它评估生态环境?

RSEI(遥感生态指数,Remote Sensing Ecological Index) 是一种通过遥感数据计算得到的、综合反映区域生态环境质量的指标体系。

它的设计初衷是用最少的变量,概括最多的生态信息,便于大尺度、自动化地评估城市或自然区域的生态健康状态。

🔍 RSEI 的四大核心因子:

因子代表意义常用遥感指数/数据源
NDVI植被覆盖度,代表“绿意”NIR与红光构建
Wet土壤/植被含水量,代表“湿润”Tasseled Cap 湿度因子
NDBSI裸土+建成区比例,代表“干扰”反映裸地和城市建设强度
LST地表温度,代表“热压力”Landsat 热红外波段反演地表温度

这些因子经过标准化处理后,通过**主成分分析(PCA)**提取出主成分,再归一化成 0–1 范围的指数值,就是最终的 RSEI。

值越大,代表生态质量越好;越接近 0,说明该区域可能存在生态退化、城市扩张、土地干扰等问题。


🛠️ 如何用 GEE 实现 RSEI 计算?(完整流程)

我们以 Landsat 5 2000 年夏季影像为例,结合四川西部地区,进行了如下步骤:

1️⃣ 数据准备

  • 使用 GEE 调用 Landsat 5 L2 SR 产品(含大气校正)

  • 设置研究时间为 6~9月(植被生长旺季),增强 NDVI 信噪比

  • 设置研究区域(AOI)为上传的 chuanxi 区域文件

2️⃣ 遥感因子计算

  • NDVI:NIR 与 RED 构建标准植被指数

  • Wet:用蓝、绿、红、NIR、SWIR 构建湿度因子(Tasseled Cap 线性组合)

  • NDBSI:结合 SI、IBI 等多个裸地指数构建综合干扰指标

  • LST:基于热红外波段,计算辐射亮温并反演地表温度,考虑地表发射率影响

所有因子都经过 标准差标准化(非简单归一化),以增强 PCA 分析的鲁棒性

3️⃣ 主成分分析(PCA)

  • 将 4 个标准化指标合并为一个影像堆栈

  • 使用 GEE 的 centeredCovariance 计算协方差矩阵

  • 求解特征值与特征向量,获取 PC1(第一主成分)作为生态质量主因子

  • 反转 PC1,生成原始的生态指数影像(RSEI0)

4️⃣ 归一化处理

  • 提取 PC1 的 1%-99% 分位值范围

  • 将 RSEI0 线性归一化到 0~1 区间,生成最终 RSEI

5️⃣ 可视化与导出

  • 使用配色方案(绿好、红差)展示生态分布差异

  • 导出 GeoTIFF 文件,支持 ArcGIS/QGIS 进一步分析

部分代码,需完整版代码关注全域智图后台私信

仅部分代码,需完整版代码关注全域智图工作室后台私信
var year = '2000';
var startDate = ee.Date(year + '-06-01');
var endDate = ee.Date(year + '-09-30');
var aoi = ee.FeatureCollection("projects/ee-xu135150/assets/chuanxi");
Map.centerObject(aoi, 6);// 1. Landsat5 预处理 
function maskL5sr(image) {var qa = image.select('QA_PIXEL');var mask = qa.bitwiseAnd(1 << 4).eq(0).and(qa.bitwiseAnd(1 << 3).eq(0));return image.updateMask(mask).select(['SR_B1','SR_B2','SR_B3','SR_B4','SR_B5','SR_B7','ST_B6']).copyProperties(image, ['system:time_start']);
}var l5 = ee.ImageCollection("LANDSAT/LT05/C02/T1_L2").filterDate(startDate, endDate).filterBounds(aoi).map(maskL5sr).median().clip(aoi);// 检查影像像素覆盖
print("Landsat 5 影像像素计数", l5.reduceRegion({reducer: ee.Reducer.count(),geometry: aoi,scale: 200,maxPixels: 1e13
}));// 波段转换
var B = l5.select('SR_B1').multiply(0.0000275).add(-0.2);
var G = l5.select('SR_B2').multiply(0.0000275).add(-0.2);
var R = l5.select('SR_B3').multiply(0.0000275).add(-0.2);
var NIR = l5.select('SR_B4').multiply(0.0000275).add(-0.2);
var SWIR1 = l5.select('SR_B5').multiply(0.0000275).add(-0.2);-----------------------------------部分代码----------------------------------------// 打印 RSEI 统计
print('RSEI 值域:', RSEI.reduceRegion({reducer: ee.Reducer.minMax(), geometry: aoi, scale: 200, maxPixels: 1e13}));
print('RSEI 均值:', RSEI.reduceRegion({reducer: ee.Reducer.mean(), geometry: aoi, scale: 200, maxPixels: 1e13}));// 5. 可视化 
Map.addLayer(NDVI, {min: -2, max: 2, // 标准化后的值域palette: ['#d9f0d3', '#addd8e', '#31a354']
}, 'NDVI (植被指数)');Map.addLayer(Wet, {min: -2, max: 2,palette: ['#f7fbff', '#6baed6', '#08306b']
}, 'Wet (湿度指数)');Map.addLayer(NDBSI, {min: -2, max: 2,palette: ['#ffffcc', '#fd8d3c', '#bd0026']
}, 'NDBSI (裸土指数)');Map.addLayer(LST, {min: -2, max: 2,palette: ['#ffffcc', '#fc8d59', '#d73027']
}, 'LST (温度)');Map.addLayer(RSEI.updateMask(RSEI), {min: 0, max: 1,palette: ['d7191c', 'fdae61', 'ffffbf', 'a6d96a', '1a9641']
}, 'RSEI (生态质量指数)');// 6. 导出 RSEI 
Export.image.toDrive({image: RSEI,description: 'RSEI_' + year,folder: 'RSEI_Export',scale: 200,region: aoi,maxPixels: 1e13,fileFormat: 'GeoTIFF'
});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/pingmian/81077.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图像处理:预览并绘制图像细节

前言 因为最近在搞毕业论文的事情&#xff0c;要做出一下图像细节对比图&#xff0c;所以我这里写了两个脚本&#xff0c;一个用于框选并同时预览图像放大细节&#xff0c;可显示并返回框选图像的坐标&#xff0c;另外一个是输入框选图像的坐标并将放大的细节放置在图像中&…

基于javaweb的SSM驾校管理系统设计与实现(源码+文档+部署讲解)

技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文…

限制 MySQL 服务只能被内网 `192.168.1.*` 网段的设备访问

1. 修改 MySQL 配置文件 MySQL 默认监听所有网络接口(0.0.0.0),需要将其绑定到内网 IP 地址或限制访问范围。 (1)编辑 MySQL 配置文件 找到 MySQL 的主配置文件,通常是 /etc/my.cnf 或 /etc/mysql/my.cnf。使用文本编辑器打开: sudo vi /etc/my.cnf(2)设置 bind-a…

uniapp-商城-55-后台 新增商品(分类、验证和弹窗属性)

1、概述 在前面 &#xff0c;我们将商品页面的布局给完成了&#xff0c;这里来对表单的标签输入进行校验&#xff0c;看看这里的校验还是不是也需要兼容微信小程序&#xff0c;还有没有前面遇到的自定义正则进行校验的情况。 另外这里还需要完成商品属性的添加&#xff0c;就是…

PyInstaller 打包后 Excel 转 CSV 报错解决方案:“excel file format cannot be determined“

一、问题背景 在使用 Python 开发 Excel 转 CSV 工具时,直接运行脚本(python script.py)可以正常工作,但通过 PyInstaller 打包成可执行文件后,出现以下报错: excel file format cannot be determined, you must specify an engine manually 该问题通常发生在使用pandas…

【HTML 全栈进阶】从语义化到现代 Web 开发实战

目录 &#x1f31f; 前言&#x1f3d7;️ 技术背景与价值&#x1fa79; 当前技术痛点&#x1f6e0;️ 解决方案概述&#x1f465; 目标读者说明 &#x1f9e0; 一、技术原理剖析&#x1f4ca; 核心概念图解&#x1f4a1; 核心作用讲解&#x1f527; 关键技术模块说明⚖️ 技术选…

小结:网页性能优化

网页性能优化是提升用户体验、减少加载时间和提高资源利用率的关键。以下是针对网页生命周期和事件处理的性能优化技巧&#xff0c;结合代码示例&#xff0c;重点覆盖加载、渲染、事件处理和资源管理等方面。 1. 优化加载阶段 减少关键资源请求&#xff1a; 合并CSS/JS文件&a…

【AI学习】AI大模型技术发展研究月报的生成提示词

AI大模型技术发展研究月报生成提示词 请输出AI大模型技术发展研究月报&#xff0c;要求如下&#xff1a; —————————— 任务目标 在今天&#xff08;{{today}}&#xff09;往前连续 30 天内&#xff0c;检索已正式公开发表的、与AI大模型&#xff08;参数量 ≥10B&am…

AI 实践探索:辅助生成测试用例

背景 目前我们的测试用例主要依赖人工生成和维护&#xff0c;AI时代的来临&#xff0c;我们也在思考“AI如何赋能业务”&#xff0c;提出了如下命题&#xff1a; “探索通过AI辅助生成测试用例&#xff0c;完成从需求到测试用例生成的穿刺”。 目标 找全测试路径辅助生成测…

C#实现访问远程硬盘(附源码)

在现实场景中&#xff0c;我们经常用到远程桌面功能&#xff0c;而在某些场景下&#xff0c;我们需要使用类似的远程硬盘功能&#xff0c;这样能非常方便地操作对方电脑磁盘的目录、以及传送文件。那么&#xff0c;这样的远程硬盘功能要怎么实现了&#xff1f; 这次我们将给出…

02.Golang 切片(slice)源码分析(一、定义与基础操作实现)

Golang 切片&#xff08;slice&#xff09;源码分析&#xff08;一、定义与基础操作实现&#xff09; 注意当前go版本代码为1.23 一、定义 slice 的底层数据是数组&#xff0c;slice 是对数组的封装&#xff0c;它描述一个数组的片段。两者都可以通过下标来访问单个元素。 数…

记参加一次数学建模

题目请到全国大学生数学建模竞赛下载查看。 注&#xff1a;过程更新了很多文件&#xff0c;所有这里贴上的有些内容不是最新的&#xff08;而是草稿&#xff09;。 注&#xff1a;我们队伍并没有获奖&#xff0c;文章内容仅供一乐。 从这次比赛&#xff0c;给出以下赛前建议 …

virtualbox虚拟机中的ubuntu 20.04.6安装新的linux内核5.4.293 | 并增加一个系统调用 | 证书问题如何解决

参考文章&#xff1a;linux添加系统调用【简单易懂】【含32位系统】【含64位系统】_64位 32位 系统调用-CSDN博客 安装新内核 1. 在火狐下载你需要的版本的linux内核压缩包 这里我因为在windows上面下载过&#xff0c;配置过共享文件夹&#xff0c;所以直接复制粘贴通过共享文…

[Java实战]Spring Boot 3 整合 Ehcache 3(十九)

[Java实战]Spring Boot 3 整合 Ehcache 3&#xff08;十九&#xff09; 引言 在微服务和高并发场景下&#xff0c;缓存是提升系统性能的关键技术之一。Ehcache 作为 Java 生态中成熟的内存缓存框架&#xff0c;其 3.x 版本在性能、功能和易用性上均有显著提升。本文将详细介绍…

LlamaIndex 第九篇 Indexing索引

索引概述 数据加载完成后&#xff0c;您将获得一个文档对象(Document)列表&#xff08;或节点(Node)列表&#xff09;。接下来需要为这些对象构建索引(Index)&#xff0c;以便开始执行查询。 索引&#xff08;Index&#xff09; 是一种数据结构&#xff0c;能够让我们快速检索…

【问题排查】easyexcel日志打印Empty row!

问题原因 日志打印​​I/O 操作开销​&#xff08;如 Log4j 的 FileAppender&#xff09;会阻塞业务线程&#xff0c;直到日志写入完成&#xff0c;导致接口响应变慢 问题描述 在线上环境&#xff0c;客户反馈导入一个不到1MB的excel文件&#xff0c;耗时将近5分钟。 问题排…

代码随想录第51天|岛屿数量(深搜)、岛屿数量(广搜)、岛屿的最大面积

1.岛屿数量&#xff08;深搜&#xff09; ---》模板题 版本一写法&#xff1a;下一个节点是否能合法已经判断完了&#xff0c;传进dfs函数的就是合法节点。 #include <iostream> #include <vector> using namespace std;int dir[4][2] {0, 1, 1, 0, -1, 0, 0, -…

Made with Unity | 从影视到游戏:《鱿鱼游戏》IP 的边界拓展

优质IP的跨媒体开发潜力不可限量。以现象级剧集《鱿鱼游戏》为例&#xff0c;Netflix旗下游戏工作室Boss Fight在第二季开播前夕推出的手游《Squid Game: Unleashed》&#xff0c;一经发布便横扫全球107个国家和地区的App Store免费游戏榜首。 这款多人派对大逃杀游戏完美还原…

allure 报告更改标题和语言为中文

在网上看到好多谈到更改allure 的标题设置都很麻烦&#xff0c;去更改JSON文件 其实可以有更简单的办法&#xff0c;就是在生成报表时增加参数 使用allure --help 查看&#xff1a; --lang, --report-language 设置报告的语言&#xff0c;默认是应用 The report language. …

HGDB索引膨胀的检查与处理思路

文章目录 环境文档用途详细信息 环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7 版本&#xff1a;4.5.8 文档用途 本文档主要介绍HGDB索引膨胀的定义、产生的原因、如何检查以及遇到索引膨胀如何处理&#xff08;包括预防和解决&#xff09; 详细信息 …