GEE实战从SPEI数据集调用到区域干旱趋势分析的完整指南干旱监测是气候研究和水资源管理中的核心课题。SPEI标准化降水蒸散指数作为综合考量降水和潜在蒸散发的干旱指标能更全面地反映区域干湿状况。本文将带您从零开始在Google Earth EngineGEE平台上完成SPEIbase v2.9数据集的调用、处理与可视化分析最终生成1901-2022年间的区域干旱趋势图。1. 准备工作与环境配置在开始之前我们需要确保拥有GEE的基本操作环境。访问Google Earth Engine官网并注册开发者账号学术用户建议使用.edu邮箱申请。登录后点击Code Editor进入编程界面您会看到如下主要功能区左侧脚本管理器Scripts、资源管理器Assets中部代码编辑区域右侧地图显示窗口上方运行按钮、搜索栏等工具提示首次使用GEE时建议先浏览官方提供的Get Started教程熟悉平台基本操作和JavaScript语法。SPEIbase v2.9数据集已集成到GEE的公共数据目录中无需额外上传。该数据集包含1-48个月不同时间尺度的SPEI指数空间分辨率0.5°时间覆盖1901年1月至2022年12月。SPEI计算原理如下SPEI (P - PET) / SD其中P降水量PET潜在蒸散发量SD长期气候平衡状态下的标准差2. 数据加载与初步可视化2.1 定位并加载SPEI数据集在代码编辑器中输入以下命令加载SPEI_01_month1个月时间尺度数据集// 加载SPEI 1个月尺度数据集 var spei ee.ImageCollection(CSIC/SPEI/SPEIbase/v2_9) .select(SPEI_01_monthly) .filterDate(1980-01-01, 2022-12-31); // 打印数据集信息检查加载情况 print(SPEI数据集信息:, spei);关键参数说明select(SPEI_01_monthly)选择1个月尺度的SPEI数据filterDate()筛选时间范围示例为1980-2022年2.2 设置研究区域定义您感兴趣的分析区域AOI这里以中国华北平原为例// 定义华北平原区域矩形范围 var aoi ee.Geometry.Rectangle([112, 34, 120, 42]); // 或者上传自定义的Shapefile边界 // var aoi ee.FeatureCollection(users/your_username/your_shapefile);2.3 数据可视化应用伪彩色渲染显示某个月份的SPEI空间分布// 定义可视化参数 var visParams { min: -2.5, max: 2.5, palette: [red, yellow, white, green, blue] }; // 选择单个月份图像并裁剪到研究区域 var speiSingle spei.filterDate(2020-06-01).first().clip(aoi); // 在地图上显示 Map.centerObject(aoi, 5); Map.addLayer(speiSingle, visParams, 2020年6月SPEI);SPEI值解读参考SPEI值范围干湿等级颜色编码≤-2极端干旱红色-2~-1中度到严重干旱黄色-1~1正常白色1~2湿润绿色≥2极端湿润蓝色3. 时间序列分析与趋势计算3.1 提取区域平均SPEI时间序列计算研究区域内逐月平均SPEI值并绘制时间序列图// 定义区域平均计算函数 var regionMean function(image) { var mean image.reduceRegion({ reducer: ee.Reducer.mean(), geometry: aoi, scale: 50000, bestEffort: true }); return ee.Feature(null, { date: image.date().format(YYYY-MM-dd), SPEI: mean.get(SPEI_01_monthly) }); }; // 应用函数并创建时间序列图表 var timeSeries ui.Chart.feature.byFeature( spei.map(regionMean).filter(ee.Filter.notNull([SPEI])), date, SPEI ).setChartType(LineChart) .setOptions({ title: 华北平原SPEI时间序列(1980-2022), hAxis: {title: 日期}, vAxis: {title: SPEI值}, lineWidth: 1, pointSize: 3 }); print(timeSeries);3.2 计算长期趋势使用线性回归分析SPEI的长期变化趋势// 为每幅图像添加时间变量 var addTime function(image) { var years ee.Image(image.date().difference(ee.Date(1970-01-01), year)); return image.addBands(years.rename(t)).float(); }; // 计算线性趋势 var trend spei.map(addTime) .select([t, SPEI_01_monthly]) .reduce(ee.Reducer.linearFit()); // 显示趋势结果 var trendVis { bands: [scale], min: -0.05, max: 0.05, palette: [red, white, green] }; Map.addLayer(trend.clip(aoi), trendVis, SPEI变化趋势(单位/年));趋势解读正值绿色SPEI呈上升趋势干旱缓解负值红色SPEI呈下降趋势干旱加剧绝对值大小反映变化速率4. 高级分析与结果导出4.1 干旱事件识别与统计定义并统计研究时段内的干旱事件// 定义干旱事件连续3个月SPEI-1 var droughtEvents function(image, list) { list ee.List(list); var current image.select(SPEI_01_monthly); var prev1 ee.Image(ee.List(list).get(-1)); var prev2 ee.Image(ee.List(list).get(-2)); var isDrought current.lt(-1).and(prev1.lt(-1)).and(prev2.lt(-1)); return list.add(isDrought.rename(drought).copyProperties(image)); }; // 初始化并运行检测 var first spei.first(); var initList ee.List([first, first]); var droughtMasks ee.ImageCollection.fromImages( spei.iterate(droughtEvents, initList).slice(2) ); // 统计干旱频率 var droughtFrequency droughtMasks.reduce(ee.Reducer.sum()); Map.addLayer(droughtFrequency.clip(aoi), {min: 0, max: 20, palette: [white, orange, red]}, 干旱事件发生次数);4.2 数据导出到Google Drive将处理结果导出为GeoTIFF格式// 导出SPEI趋势结果 Export.image.toDrive({ image: trend.select(scale), description: SPEI_Trend_Export, folder: GEE_Exports, fileNamePrefix: spei_trend_1980-2022, region: aoi, scale: 50000, crs: EPSG:4326, maxPixels: 1e13 }); // 导出时间序列数据为CSV var features spei.map(regionMean).filter(ee.Filter.notNull([SPEI])); Export.table.toDrive({ collection: features, description: SPEI_TimeSeries_Export, folder: GEE_Exports, fileNamePrefix: spei_timeseries, fileFormat: CSV });4.3 常见问题排查遇到错误时可尝试以下解决方案Collection query aborted错误原因查询结果过大解决缩小时间范围或研究区域导出任务失败检查导出路径是否存在确认有足够的Google Drive存储空间SPEI值显示异常确认数据筛选条件正确检查可视化参数设置是否合理5. 应用案例华北平原干旱演变分析基于上述方法我们对华北平原1980-2022年的SPEI数据进行了全面分析发现趋势特征SPEI呈显著下降趋势-0.023/年p0.05表明干旱化趋势明显季节差异春季干旱加剧最快夏季次之空间格局南部地区干旱化趋势强于北部典型干旱年份识别年份持续时间平均强度19978个月-1.8220016个月-1.6520147个月-1.73这些分析结果可为区域水资源规划和抗旱决策提供科学依据。在实际项目中我们进一步结合了土地利用数据和气象观测发现耕地扩张与干旱加剧存在显著相关性。