GEE平台下Sentinel-2遥感指数计算与分析指南
1. 项目概述GEE平台下的Sentinel-2遥感指数分析在遥感生态监测和农业应用中Sentinel-2卫星数据因其10-60米的空间分辨率和5天的重访周期成为地表观测的重要数据源。Google Earth EngineGEE平台为处理海量遥感数据提供了云端计算能力本教程将演示如何利用GEE计算Sentinel-2地表反射率SR数据的五大关键指数NDVI归一化差值植被指数、NDSI归一化差值雪指数、NDWI归一化差值水指数、NDMI归一化差值水分指数和NDGI归一化差值绿度指数并实现统计分析和数据下载的一站式解决方案。2. 数据准备与预处理2.1 Sentinel-2 SR数据特性Sentinel-2 Level-2A地表反射率产品已经过大气校正包含13个光谱波段。在GEE中对应的数据集为COPERNICUS/S2_SR主要波段包括B2, B3, B4, B8可见光与近红外B11, B12短波红外QA60云掩膜波段注意使用前需检查数据集的更新状态GEE会定期同步Copernicus Open Access Hub的最新数据2.2 研究区与时间范围设置// 示例定义河南省研究区和2022年时间范围 var roi ee.Geometry.Rectangle([110.5, 31.5, 116.5, 36.5]); var startDate 2022-01-01; var endDate 2022-12-31;2.3 数据过滤与云掩膜处理var s2 ee.ImageCollection(COPERNICUS/S2_SR) .filterBounds(roi) .filterDate(startDate, endDate) .filter(ee.Filter.lt(CLOUDY_PIXEL_PERCENTAGE, 20)) .map(function(image) { // 应用云掩膜 var qa image.select(QA60); var cloudBitMask 1 10; var cirrusBitMask 1 11; var mask qa.bitwiseAnd(cloudBitMask).eq(0) .and(qa.bitwiseAnd(cirrusBitMask).eq(0)); return image.updateMask(mask); });3. 遥感指数计算原理与实现3.1 各指数计算公式NDVI (B8 - B4) / (B8 B4)植被绿度指标范围[-1,1]健康植被通常0.6NDSI (B3 - B11) / (B3 B11)雪盖检测指标雪地通常0.4NDWI (B3 - B8) / (B3 B8)水体检测指标开阔水面0.2NDMI (B8 - B11) / (B8 B11)植被水分含量指标NDGI (B3 - B4) / (B3 B4)绿度敏感指标3.2 GEE实现代码// 定义指数计算函数 var calculateIndices function(image) { var ndvi image.normalizedDifference([B8, B4]).rename(NDVI); var ndsi image.normalizedDifference([B3, B11]).rename(NDSI); var ndwi image.normalizedDifference([B3, B8]).rename(NDWI); var ndmi image.normalizedDifference([B8, B11]).rename(NDMI); var ndgi image.normalizedDifference([B3, B4]).rename(NDGI); return image.addBands([ndvi, ndsi, ndwi, ndmi, ndgi]); }; // 应用到整个影像集合 var s2WithIndices s2.map(calculateIndices);4. 统计分析实现4.1 时间序列合成// 创建月度合成影像 var monthlyComposites ee.ImageCollection.fromImages( ee.List.sequence(1, 12).map(function(month) { return s2WithIndices.filter(ee.Filter.calendarRange(month, month, month)) .median() .set(month, month); }) );4.2 直方图与统计量计算// 定义统计区域可替换为特定地块 var statsRegion roi; // 计算年度统计 var annualStats monthlyComposites.reduce(ee.Reducer.mean()) .select([NDVI_mean,NDSI_mean,NDWI_mean,NDMI_mean,NDGI_mean]); // 获取统计值 var stats annualStats.reduceRegion({ reducer: ee.Reducer.minMax().combine({ reducer2: ee.Reducer.histogram(), sharedInputs: true }), geometry: statsRegion, scale: 100, maxPixels: 1e9 }); // 打印结果 print(Annual Statistics, stats);4.3 结果可视化// 直方图绘制 var histChart ui.Chart.feature.histogram({ features: ee.FeatureCollection([ee.Feature(null, stats)]), property: [NDVI_mean_histogram,NDSI_mean_histogram], minBucketWidth: 0.05 }).setOptions({ title: NDVI/NDSI Distribution, hAxis: {title: Index Value}, vAxis: {title: Pixel Count}, series: { 0: {color: green}, 1: {color: blue} } }); print(histChart); // 空间分布可视化 var visParams { bands: [NDVI], min: -0.2, max: 0.8, palette: [red, yellow, green] }; Map.addLayer(annualStats, visParams, NDVI Annual Mean);5. 数据导出与下载5.1 导出统计结果// 导出CSV表格 Export.table.toDrive({ collection: ee.FeatureCollection([ee.Feature(null, stats)]), description: AnnualIndicesStatistics, fileFormat: CSV }); // 导出直方图数据 var histData ee.FeatureCollection([ ee.Feature(null, { NDVI_hist: stats.get(NDVI_mean_histogram), NDSI_hist: stats.get(NDSI_mean_histogram) }) ]); Export.table.toDrive({ collection: histData, description: HistogramData, fileFormat: CSV });5.2 导出栅格数据// 导出年度合成影像 Export.image.toDrive({ image: annualStats, description: AnnualIndicesComposite, scale: 100, region: roi, maxPixels: 1e9, fileFormat: GeoTIFF, formatOptions: { cloudOptimized: true } }); // 导出月度时间序列 Export.image.toDrive({ image: monthlyComposites.toBands(), description: MonthlyIndicesSeries, scale: 100, region: roi, maxPixels: 1e9, fileFormat: GeoTIFF });6. 常见问题与优化技巧6.1 计算性能优化采样策略对大区域分析时先使用reduceResolution()降低计算分辨率var sampled image.reduceResolution({ reducer: ee.Reducer.mean(), maxPixels: 1024 }).reproject({crs: EPSG:4326, scale: 1000});分批处理年度数据可分季度处理后再合并var q1 s2.filterDate(2022-01-01, 2022-03-31).median(); var q2 s2.filterDate(2022-04-01, 2022-06-30).median(); // ...合并季度结果6.2 数据质量控制云覆盖结合SCL场景分类图进行更精确的云过滤var s2 ee.ImageCollection(COPERNICUS/S2_SR_HARMONIZED) .map(function(image) { var scl image.select(SCL); var cloudMask scl.neq(8).and(scl.neq(9)); // 8云中阴影,9云 return image.updateMask(cloudMask); });异常值处理添加指数值域约束var ndvi image.normalizedDifference([B8, B4]) .clamp(-1, 1) .rename(NDVI);6.3 高级分析扩展变化检测比较不同年份的指数差异var change ndvi2022.subtract(ndvi2021).rename(NDVI_change);阈值分类基于指数值进行土地覆盖分类var water ndwi.gt(0.2).selfMask().rename(water); var vegetation ndvi.gt(0.6).selfMask().rename(vegetation);时间序列分析使用ee.List.map()实现逐像元分析var trend ee.ImageCollection.fromImages( monthlyComposites.toList(12).map(function(img) { return ee.Image(img).select(NDVI); }) ).reduce(ee.Reducer.linearFit());实操经验在处理大区域数据时建议先在1000米尺度进行快速测试确认脚本无误后再全分辨率运行。GEE的scale参数对计算时间影响显著农业应用通常100米分辨率足够而森林监测可能需要20-30米分辨率

相关新闻

3招搞定ripgrep配置:告别重复输入的终极方案

3招搞定ripgrep配置:告别重复输入的终极方案

3招搞定ripgrep配置:告别重复输入的终极方案 【免费下载链接】ripgrep ripgrep recursively searches directories for a regex pattern while respecting your gitignore 项目地址: https://gitcode.com/GitHub_Trending/ri/ripgrep ripgrep作为现代开发者必…

2026/8/9 21:58:12 阅读更多 →
SolidWorks破解版完整指南:如何免费获取专业CAD设计软件的终极教程

SolidWorks破解版完整指南:如何免费获取专业CAD设计软件的终极教程

SolidWorks破解版完整指南:如何免费获取专业CAD设计软件的终极教程 【免费下载链接】SolidWorks-crack solidworks-crack-download solidworks-free-download-full-version-with-crack solidworks-crack-2024 solidworks-keygen solidworks-serial-key solidworks-…

2026/8/9 21:58:12 阅读更多 →
【Bug已解决】A bug on the set_timesteps function of the FlowMatchEulerDiscreteScheduler 解决方案

【Bug已解决】A bug on the set_timesteps function of the FlowMatchEulerDiscreteScheduler 解决方案

【Bug已解决】A bug on the set_timesteps function of the FlowMatchEulerDiscreteScheduler 解决方案 一、现象长什么样 FlowMatchEulerDiscreteScheduler 是 FLUX 等流匹配模型用的调度器,它在 [0, 1000](或归一化 [0, 1])上定义连续的 si…

2026/8/9 21:58:12 阅读更多 →

最新新闻

为什么选择EFCore.Visualizer?对比其他EF Core调试工具的优势分析

为什么选择EFCore.Visualizer?对比其他EF Core调试工具的优势分析

为什么选择EFCore.Visualizer?对比其他EF Core调试工具的优势分析 【免费下载链接】EFCore.Visualizer Entity Framework Core queries debugger visualizer. 项目地址: https://gitcode.com/gh_mirrors/ef/EFCore.Visualizer EFCore.Visualizer是一款专为En…

2026/8/9 22:57:36 阅读更多 →
3步掌握TMagic Editor可视化编辑器核心机制

3步掌握TMagic Editor可视化编辑器核心机制

3步掌握TMagic Editor可视化编辑器核心机制 【免费下载链接】tmagic-editor 项目地址: https://gitcode.com/GitHub_Trending/tm/tmagic-editor 当我们面对快速迭代的业务需求,如何平衡开发效率与代码质量?传统前端开发模式下,每个营…

2026/8/9 22:57:36 阅读更多 →
基于Unity游戏引擎构建数字孪生可视化应用实战指南

基于Unity游戏引擎构建数字孪生可视化应用实战指南

最近在整理数字孪生相关的学习资料时,发现了一场非常值得开发者深入研究的线上分享——“像素沙盒数字孪生交流会 2026”。虽然活动已经结束,但其直播回放中蕴含了大量关于如何将游戏引擎(如Unity、Unreal Engine)与工业级数字孪生…

2026/8/9 22:57:36 阅读更多 →
从源码到应用:scBasset在MultiMolecule库中的实现细节与调用方法

从源码到应用:scBasset在MultiMolecule库中的实现细节与调用方法

从源码到应用:scBasset在MultiMolecule库中的实现细节与调用方法 【免费下载链接】scbasset 项目地址: https://ai.gitcode.com/hf_mirrors/multimolecule/scbasset scBasset是MultiMolecule库中一款基于序列的卷积神经网络工具,专为单细胞ATAC-…

2026/8/9 22:57:36 阅读更多 →
浏览器中的ADB调试神器:5分钟快速掌握ya-webadb

浏览器中的ADB调试神器:5分钟快速掌握ya-webadb

浏览器中的ADB调试神器:5分钟快速掌握ya-webadb 【免费下载链接】ya-webadb ADB in your browser 项目地址: https://gitcode.com/gh_mirrors/ya/ya-webadb 还在为繁琐的Android设备调试配置而烦恼吗?想要随时随地管理你的Android设备而无需安装复…

2026/8/9 22:57:36 阅读更多 →
JSLT核心功能详解:让JSON转换效率提升10倍的秘诀

JSLT核心功能详解:让JSON转换效率提升10倍的秘诀

JSLT核心功能详解:让JSON转换效率提升10倍的秘诀 【免费下载链接】jslt JSON query and transformation language 项目地址: https://gitcode.com/gh_mirrors/js/jslt JSLT是一款强大的JSON查询和转换语言,能够帮助开发者轻松处理复杂的JSON数据转…

2026/8/9 22:56:35 阅读更多 →

日新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

周新闻

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁

5分钟告别提取码焦虑:baidupankey如何智能破解百度网盘资源锁 【免费下载链接】baidupankey 在线查询网盘提取码(维护中 rm repo) 项目地址: https://gitcode.com/gh_mirrors/ba/baidupankey 你是否曾经在深夜寻找一份重要资料&#x…

2026/8/9 0:01:47 阅读更多 →
如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南

如何快速生成中国车牌图片:Python开源工具完整指南 【免费下载链接】chinese_license_plate_generator 中国车牌生成器 项目地址: https://gitcode.com/gh_mirrors/ch/chinese_license_plate_generator 中国车牌生成器是一个基于Python的开源项目&#xff0c…

2026/8/9 0:01:47 阅读更多 →
收藏!小白程序员轻松入门大模型,从Harness工程开始实践

收藏!小白程序员轻松入门大模型,从Harness工程开始实践

文章强调学习大模型不应只关注模型本身,而应重视模型外的系统搭建,即Harness。提出AgentModelHarness的实用公式,详细介绍Harness的四个层次:持久化层、执行层、控制层和观察与验证层。文章还探讨了上下文工程、工具设计、AGENTS.…

2026/8/9 0:03:48 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/9 17:05:02 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/9 0:45:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/9 17:05:02 阅读更多 →