GEE训练教程——ECMWF/ERA5_LAND/DAILY_AGGR数据的地表温度的时序分析

目录

简介

数据

代码解释

代码

结果


简介

GEE训练教程------ECMWF/ERA5_LAND/DAILY_AGGR数据的地表温度的时序分析

数据

ECMWF/ERA5_LAND/DAILY_AGGR数据集是由欧洲中期天气预报中心(ECMWF)提供的地表分辨率为9 km的ERA5_LAND数据集的一部分。

该数据集包含了多个地球观测变量,包括但不限于温度、降水、风速、相对湿度、植被指数等。这些变量在每天的分辨率下提供了全球范围的数据。

数据集中的每个像元代表了特定时间段(通常是一天)内该地区的平均观测值。它们是基于多个数据源的模型分析和观测数据进行插值计算得出的。

对于每个地球观测变量,数据集提供了相应的时间序列,允许用户进行时间序列分析和研究。

ECMWF/ERA5_LAND/DAILY_AGGR数据集是公开可用的,并在Google Earth Engine平台上提供了方便的访问和使用。可以通过使用EE的API来访问和处理这些数据,并进行各种地理分析和可视化。

代码解释

这段代码使用Google Earth Engine平台进行地理数据处理和可视化。下面是代码的解释:

  1. 创建了一个几何点对象geometry,该点的经纬度为-3.5742187499999867, 39.90973623453719。

  2. 使用FAO/GAUL_SIMPLIFIED_500m/2015/level0数据集,过滤出包含上述几何点的区域roi,并将该区域添加到地图中。

  3. 使用ECMWF/ERA5_LAND/DAILY_AGGR数据集,选择了温度变量temperature_2m,并进行了一系列筛选条件:选择2015年到2018年的数据,以及3月到6月的数据。然后对每个图像进行了处理,将温度转换为摄氏度,并添加了一些属性。最后打印出符合特定条件的图像。

  4. 使用ui.Chart.image.doySeriesByYear函数,根据每年的天数(doy)对温度数据进行了时间序列可视化,并计算了每天的平均温度和每年的平均温度,并在指定的区域roi上绘制了图表。

  5. 类似地,对降雪融化数据进行了类似的处理和可视化,使用的变量是snowmelt_sum。

  6. 最后打印出了降雪融化数据集的信息。

这段代码的目的是分析特定区域的温度和降雪融化情况,并在地图上进行可视化。

代码

javascript 复制代码
var geometry = /* color: #d63000 */ee.Geometry.Point([-3.5742187499999867, 39.90973623453719]);

var roi = ee.FeatureCollection("FAO/GAUL_SIMPLIFIED_500m/2015/level0")
.filterBounds(geometry)

Map.centerObject(roi)
Map.addLayer(roi)

var temp = ee.ImageCollection("ECMWF/ERA5_LAND/DAILY_AGGR")
.select('temperature_2m')
.filterDate('2015', '2018')
.filter(ee.Filter.calendarRange(3,6,'month'))
.map(function(img){
  var date = img.date()
  var acqu = date.format('YYYY-MM-dd')
  var doy = date.getRelative('day', 'year').add(1)
  return img.subtract(273.15)
  .copyProperties(img, img.propertyNames())
  .set('date', acqu)
  .set('doy', doy)
  })
  
print(temp.filter(ee.Filter.calendarRange(2016, 2016, 'year'))
.filter(ee.Filter.eq('doy',118)))  

print(
  ui.Chart.image.doySeriesByYear(temp, 'temperature_2m', roi,
  ee.Reducer.mean(), 10000, ee.Reducer.mean(), 1, 365)
  )


var snowmelt = ee.ImageCollection("ECMWF/ERA5_LAND/DAILY_AGGR")
.select('snowmelt_sum')
.filterDate('2015','2018')
.filter(ee.Filter.calendarRange(3, 6, 'month'))
.map(function(img){
  var date = img.date()
  var acqu = date.format('YYYY-MM-dd')
  var doy = date.getRelative('day', 'year').add(1)
  return img
  .copyProperties(img, img.propertyNames())
  .set('date', acqu)
  .set('doy', doy)
  })


print(
  ui.Chart.image.doySeriesByYear(snowmelt, 'snowmelt_sum', roi, ee.Reducer.mean(),
  10000, ee.Reducer.mean(), 1, 365)
  )


print(snowmelt)

结果

相关推荐
2603_965896625 小时前
JavaScript 原型与原型链
开发语言·前端·javascript
晓得迷路了5 小时前
栗子前端技术周刊第 152 期 - Rspack 2.3、TypeScript 7.1 Beta、Bun 1.4.4...
前端·javascript·css
jktantan15 小时前
Vue keep-alive 切标签后滚动位置回顶?因为 onDeactivated 里读到的 scrollTop 是 0
前端·javascript·vue.js
总要学点什么15 小时前
第89篇:三维特效-螺旋圆效果——让螺旋臂卷起一圈圈外扩的涟漪
开发语言·javascript·ecmascript·webgl·cesium·空间分析·1024程序员节
前端精髓16 小时前
调用openrouter的免费API模型
java·前端·javascript
螺丝钉tina1 天前
[Playwright] [02]常用命令与调试:Debug UI、Mode和 Trace Viewer
开发语言·javascript·测试工具·ui·自动化
开开心心就好1 天前
竖式除法出题工具,整除余数混合模式
运维·服务器·前端·javascript·ocr·perl·1024程序员节
এ慕ོ冬℘゜1 天前
JS 事件循环、宏任务微任务:单线程底层原理 + 执行顺序
开发语言·javascript·ecmascript
web打印社区1 天前
Lodop排障总纲-常见报错一张表
开发语言·前端·javascript·chrome·websocket
程序员大阳1 天前
副队长JavaScript教程(56)-DOM之表单操作
javascript·dom·表单操作