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'
});
相关文章:

GEE计算 RSEI(遥感生态指数)
🛰️ 什么是 RSEI?为什么要用它评估生态环境? RSEI(遥感生态指数,Remote Sensing Ecological Index) 是一种通过遥感数据计算得到的、综合反映区域生态环境质量的指标体系。 它的设计初衷是用最少的变量&…...
Java 泛型与类型擦除:为什么解析对象时能保留泛型信息?
引言:泛型的“魔术”与类型擦除的困境 在 Java 中,泛型为开发者提供了类型安全的集合操作,但其背后的**类型擦除(Type Erasure)**机制却常常让人困惑。你是否遇到过这样的场景? List<String> list …...
达梦数据库多版本并发控制(MVCC)_yxy
达梦数据库多版本并发控制 1 多版本并发控制解决了什么问题?2 达梦MVCC实现方式2.1 版本链结构2.1.1 物理记录2.1.2 回滚记录2.1.3 版本链实现方式 2.2 可见性原则2.3 历史数据获取 1 多版本并发控制解决了什么问题? MVCC(Multi-Version Con…...
math.js 加/减/乘/除 使用
math.js 加/减/乘/除 使用 安装 npm install mathjs引入 import * as math from "mathjs";使用 // 加法 let addNumber math.add( math.bignumber(0.1), math.bignumber(0.3)) // 加法 保留两位小数 let addNumber1 math.format(math.add( math.bignumber(0.1…...

python的家教课程管理系统
目录 技术栈介绍具体实现截图系统设计研究方法:设计步骤设计流程核心代码部分展示研究方法详细视频演示试验方案论文大纲源码获取/详细视频演示 技术栈介绍 Django-SpringBoot-php-Node.js-flask 本课题的研究方法和研究步骤基本合理,难度适中…...
计算机组成原理——数据的表示
2.1数据的表示 整理自Beokayy_ 1.进制转换 十六进制与二进制的转换 一位十六进制等于四位二进制 四位二进制等于一位十六进制 0x173A4C0001 0111 0011 1010 0100 1100 十六进制与十进制的转换 十六转十:每一位数字乘以相应的16的幂再相加 十转十六:…...

实现书签-第一部分
实现书签-第一部分 本节我们将实现书签功能,为菜谱点击类似于收藏的功能,然后可以在上方的书签找到我们所有收藏的书签; 在此之前,让我们修复一下之前的功能BUG,当我们搜索的时候,下面分页始终保持在上一…...

解决将其他盘可用空间,移植到C盘
第一步首先下载安装 用来扩内存盘的实用工具资源-CSDN文库 第二步打开diskgenius.exe 第三步选中想扩容的盘 右击-》选择扩容分区-》选择要缩小的分区-》然后确定 第四步拖拽对勾的地方 或者在箭头地方输入想阔的大小,然后开始,一直确定,就…...

第二天的尝试
目录 一、每日一言 二、练习题 三、效果展示 四、下次题目 五、总结 一、每日一言 清晰的明白自己想要的是什么,培养兴趣也好,一定要有自己的一技之长。我们不说多优秀,但是如果父母需要我们出力,不要只有眼泪。 二、练习题 对…...

k8s灰度发布
基于 Traefik 的加权灰度发布-腾讯云开发者社区-腾讯云 Traefik | Traefik | v1.7 Releases traefik/traefik GitHub 从上面连接下载后上传到harbor虚拟机 vagrant upload /C/Users/HP280/Downloads/traefik 下载配置文件 wget -c http://raw.githubusercontent.com/conta…...

前端面经 9 JS中的继承
借用Class实现继承 实现继承 extends super extends 继承父类 super调用父类的构造函数 子类中存在方法采取就近原则 ,子类构造函数需要使用super()调用父类的构造函数 JS 静态属性和私有属性 寄生组合式继承...

memcached主主复制+keepalive
一、Memcached主主复制技术原理 Memcached原生不支持复制,需通过repcached分支实现双向同步。其关键机制包括: 双向同步架构 两节点互为主备(Master-Master),任意节点写入的数据会同步至对端。同步基于TCP协议&#x…...
光学设计核心
光学设计核心技术全流程教学:从理论建模到工程实践 一、光学设计基础理论体系构建 1.1 光线传播核心定律 • 斯涅尔定律:n_1\sin\theta_1 n_2\sin\theta_2,通过编程实现折射角动态计算(Python示例): im…...
使用 `aiohttp` 构建高效的异步网络爬虫系统
使用 aiohttp 构建高效的异步网络爬虫系统 引言 在爬取大量网页时,传统同步方法(如 requests)可能面临网络 I/O 阻塞问题,导致性能低下。而 Python 的 aiohttp 结合 asyncio 提供了一种高效的解决方案,使得爬虫可以同时处理多个请求,大幅提升数据抓取速度。 本文将详细…...
Microsoft Azure 服务4月更新告示
由世纪互联运营的 Microsoft Azure 重要更新 名称变更 Azure Stack HCI现已正式更名为Azure Local,并成为其重要组成部分。Azure Local是一种超融合基础设施(HCI)解决方案,专为托管Windows和Linux虚拟机(VMÿ…...

idea运行
各种小kips Linuxidea上传 Linux 部署流程 1、先在idea打好jar包,clean之后install 2、在Linux目录下,找到对应项目目录,把原来的jar包放在bak文件夹里面 3、杀死上一次jar包的pid ps -ef|grep cliaidata.jar kill pid 4、再进行上传新的jar…...
第八天——贪心算法——队列重构问题
1. 题目 给定一个由人群组成的数组 people,其中每个人以 [hi, ki] 的形式表示,people[i] [hi, ki] 表示第 i 个人的身高为 hi,并且前面恰好有 ki 个身高大于或等于 hi 的人。 你需要重新构造并返回一个表示队列的数组 queue,其中…...

CVPR2025 | 首个多光谱无人机单目标跟踪大规模数据集与统一框架, 数据可直接下载
论文介绍 题目:MUST: The First Dataset and Unified Framework for Multispectral UAV Single Object Tracking 期刊:IEEE/CVF Computer Vision and Pattern Recognition Conference 论文:https://arxiv.org/abs/2503.17699 数据&#x…...

Docker实现MySQL数据库主从复制
一、拉取数据库镜像 docker pull mysql:5.7二、创建两个数据库(一主一从模式) mysql01(主) 1.docker run -d -p 3310:3306 -v /root/mysql/node-1/init:/docker-entrypoinit-initdb.d -v /root/mysql/node-1/config:/etc/mysql/conf.d -v /root/mysq…...
PTN中的L2VPN与L3VPN技术详解
文章目录 一、PTN网络中的VPN技术概述二、L2VPN(二层虚拟专用网络)技术解析1. 核心技术原理2. 主要类型3. 应用场景4. 技术优缺点 三、L3VPN(三层虚拟专用网络)技术解析1. 核心技术原理2. 主要类型3. 应用场景4. 技术优缺点 四、L…...

2025长三角杯数学建模B题教学思路分析:空气源热泵供暖的温度预测
2025长三角杯数学建模B题教学思路模型代码,详细内容见文末名片 一、问题背景 在当今“电供暖”日益普及的大背景下,空气源热泵凭借其独特优势,在楼宇供暖领域崭露头角,成为缓解电网调峰压力的得力助手。然而,供暖过程…...
告别传统的防抖机制,提交按钮的新时代来临
目录 背景 目标 核心代码 样式定义:让图标居中、响应父级颜色 SVG 图标:轻量、无依赖的 loading 图标 指令注册:全局注册 v-bLoading DOM 操作:添加与清除 loading 图标 1. 添加 loading 图标 2. 清除 loading 图标 动画…...

InternVL3: 利用AI处理文本、图像、视频、OCR和数据分析
InternVL3推动了视觉-语言理解、推理和感知的边界。 在其前身InternVL 2.5的基础上,这个新版本引入了工具使用、GUI代理操作、3D视觉和工业图像分析方面的突破性能力。 让我们来分析一下是什么让InternVL3成为游戏规则的改变者 — 以及今天你如何开始尝试使用它。 InternVL…...
关于 Web安全:1. Web 安全基础知识
一、HTTP/HTTPS 协议详解 1. HTTP协议基础 什么是 HTTP? HTTP(HyperText Transfer Protocol)是互联网中浏览器和服务器之间传输数据的协议,基于请求-响应模式。它是一个无状态协议,意思是每次请求都是独立的&#x…...
西门子 S1500 PLC 通过 Profinet 对 6 台施耐德 ATV304 变频器的控制,用于 6 台升降台的位置控制。
西门子 S1500 PLC 通过 Profinet 对 6 台施耐德 ATV304 变频器的控制,用于 6 台升降台的位置控制。程序主要特点: 模块化设计:采用功能块数组结构,实现对多台设备的统一控制循环控制:使用 FOR 循环遍历每台升降台&…...

重构金融数智化产业版图:中电金信“链主”之道
近日,《商学院》杂志独家专访了中电金信常务副总经理(主持经营工作)冯明刚,围绕“金融科技”“数字底座”“架构转型”“AI驱动”等议题,展开了一场关于未来架构、技术变革与系统创新的深入对话。 当下,数字…...
高光谱遥感图像处理之数据分类的fcm算法
基于模糊C均值聚类(FCM)的高光谱遥感图像分类MATLAB实现示例 %% FCM高光谱图像分类示例 clc; clear; close all;%% 数据加载与预处理 % 加载示例数据(此处使用公开数据集Indian Pines的简化版) load(indian_pines.mat); % 包含变…...

2025年PMP 学习十六 第11章 项目风险管理 (总章)
2025年PMP 学习十六 第11章 项目风险管理 (总章) 第11章 项目风险管理 序号过程过程组1规划风险管理规划2识别风险规划3实施定性风险分析规划4实施定量风险分析规划5规划风险应对执行6实施风险应对执行7监控风险监控 目标: 提高项目中积极事件的概率和…...
IEEE 列表会议第五届机器人、自动化与智能控制国际会议
会议地点:中国 成都 会议官网:ICRAIC 主办单位:成都理工大学 协办单位:成都大学 早鸟截稿:2025年7月15日 截稿时间:2025年8月20日 出版信息:IEEE出版&EI数据库 会议时间:…...
基于 React Hook 封装 Store 的三种方案
基于 React Hook 封装 Store 的三种方案 方案一:基于 useSyncExternalStore 的轻量级 Store(推荐) import { useSyncExternalStore } from react;type Store<T> {state: T;listeners: Set<() > void>; };function createSt…...