GEE代码实例教程详解:长时间序列风速分析

简介

在本篇博客中,我们将使用Google Earth Engine (GEE) 对长时间序列的风速数据进行分析。通过ERA5再分析数据集,我们可以计算2010年至2024年间的平均风速,并与1980年至2020年的风速数据进行比较。

背景知识

ERA5数据集

ERA5是ECMWF(European Centre for Medium-Range Weather Forecasts,欧洲中期天气预报中心)提供的全球气候再分析数据集,具有高空间和时间分辨率。

风速计算

风速是风向的两个分量(u和v分量)的矢量合成,通常使用平方和的平方根来计算。

完整代码

// 定义研究区域的坐标点
var cor = [[52.24091120672926, 28.94538993989301],[59.00848933172926, 28.94538993989301],[59.00848933172926, 33.89295282767506],[52.24091120672926, 33.89295282767506],[52.24091120672926, 28.94538993989301]
];// 创建多边形区域
var roi = ee.Geometry.Polygon(cor);// 加载ERA5数据集并选择风速分量
var era5 = ee.ImageCollection("ECMWF/ERA5/DAILY").select('u_10m', 'v_10m').filterDate('2010', '2024');// 计算风速
var windspeed = era5.map(function (img) {var u = img.select('u_10m');var v = img.select('v_10m');var wind_speed = u.pow(2).add(v.pow(2)).sqrt().rename('wind_speed');return wind_speed.copyProperties(img, img.propertyNames());
});// 绘制风速时间序列图表
print(ui.Chart.image.series(windspeed, roi, ee.Reducer.mean(),27000, 'system:time_start')
);// 加载1980年至2020年的ERA5数据集
var wind40 = ee.ImageCollection("ECMWF/ERA5/DAILY").select('u_10m', 'v_10m').filterDate('1980', '2020');// 计算风速
var windspeed40 = wind40.map(function (img) {var u = img.select('u_10m');var v = img.select('v_10m');var wind_speed = u.pow(2).add(v.pow(2)).sqrt().rename('wind_speed');return wind_speed.copyProperties(img, img.propertyNames());
});// 定义函数提取风速平均值和日期
function get_value(img) {var date = ee.Date(img.get('system:time_start')).format().slice(0, 10);var value = img.reduceRegion({reducer: ee.Reducer.mean(),geometry: roi,scale: 27000}).get('wind_speed');return [date, value];
}// 提取风速数据列表
var size = windspeed40.size();
var windlist = windspeed40.toList(size).map(get_value);// 将风速数据转换为特征集合
var wind_feature = ee.FeatureCollection(windlist.map(function (el) {el = ee.List(el);return ee.Feature(null, {'date': el.get(0),'windspeed': el.get(1).getInfo()});
}));// 导出风速数据表至Google Drive
Export.table.toDrive({collection: wind_feature,description: 'windspeed40',fileFormat: 'CSV'
});

代码详解

1. 定义研究区域

创建一个多边形区域roi,用于限定分析的地理范围。

2. 加载ERA5数据集

加载ERA5数据集,并选择风速的u和v分量。

3. 计算风速

使用平方和的平方根公式计算风速,并为结果重命名。

4. 绘制风速时间序列图表

使用ui.Chart.image.series绘制风速的时间序列。

5. 加载更长时间序列的ERA5数据集

加载1980年至2020年的ERA5数据集,用于更长时间尺度的风速分析。

6. 提取风速平均值和日期

定义函数get_value提取每张图像的日期和平均风速。

7. 导出风速数据表

将风速数据转换为特征集合,并导出为CSV格式的表格。

结论

本教程展示了如何使用GEE对ERA5数据集进行风速分析。通过计算风速分量的矢量合成,我们可以了解特定区域内风速的时空变化。

进一步探索

GEE提供了多种工具和方法来进行气象数据分析。在后续的教程中,我们将继续探索GEE在不同领域的应用。

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

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

相关文章

代码随想录-Day53

739. 每日温度 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用 0 来代替。 示例 1: …

【Linux】目录的相关命令——cd,pwd,mkdir,rmdir

1.相对路径与绝对路径 在开始目录的切换之前,你必须要先了解一下所谓的路径(PATH),有趣的是:什么是相对路 与绝对路径? 绝对路径:路径的写法“一定由根目录/写起”,例如:/usr/shar…

Java版Flink使用指南——定制RabbitMQ数据源的序列化器

大纲 新建工程新增依赖数据对象序列化器接入数据源 测试修改Slot个数打包、提交、运行 工程代码 在《Java版Flink使用指南——从RabbitMQ中队列中接入消息流》一文中,我们从RabbitMQ队列中读取了字符串型数据。如果我们希望读取的数据被自动化转换为一个对象&#x…

Linux C++ 043-机房预约系统

Linux C 043-机房预约系统 本节关键字:Linux、C、机房预约系统 相关库函数:for_each、open、close、write 系统简介 学校现在有几个规格不同的机房,由于使用经常出现撞车现象,现开发一套机房预约系统,解决这一问题。…

Java进阶---抽象方法abstract

抽象方法 案例引入: 在某个宠物店的宠物资源管理系统中有: 狗类:属性(姓名),行为(吃饭) 猫类:属性(姓名),行为(吃饭)利用…

智慧科技照亮水利未来:深入剖析智慧水利解决方案如何助力水利行业实现高效、精准、可持续的管理

目录 一、智慧水利的概念与内涵 二、智慧水利解决方案的核心要素 1. 物联网技术:构建全面感知网络 2. 大数据与云计算:实现数据高效处理与存储 3. GIS与三维可视化:提升决策支持能力 4. 人工智能与机器学习:驱动决策智能化 …

LibreOffice的国内镜像安装地址和node.js国内快速下载网站

文章目录 1、LibreOffice1.1、LibreOffice在application-conf.yml中的配置2、node.js 1、LibreOffice 国内镜像包网址:https://mirrors.cloud.tencent.com/libreoffice/libreoffice/ 1.1、LibreOffice在application-conf.yml中的配置 jodconverter:local:enable…

Java面试八股之MySQL中int(10)和bigint(10)能存储读的数据大小一样吗

MySQL中int(10)和bigint(10)能存储读的数据大小一样吗 在MySQL中,int(10)和bigint(10)的数据存储能力并不相同,尽管括号内的数字(如10)看起来似乎暗示着某种关联,但实际上这个数字代表的是显示宽度,而不是…

vue学习day03-指令修饰符、v-bind对于样式控制的增强、v-model应用于其他表单元素

7、指令修饰符 (1)概念: 通过“.”指明一些指令后缀,不同后缀封装了不同的处理操作->简化代码 (2)按键修饰符 keyup.enter->键盘回车监听 (3)v-model修饰符 v-model.tri…

vue + element ui 实现侧边栏导航栏折叠收起

首页布局如下 要求点击按钮,将侧边栏收缩, 通过 row 和 col 组件&#xff0c;并通过 col 组件的 span 属性我们就可以自由地组合布局。 折叠前 折叠后 <template><div class"app-layout" :class"{ collapse: app.isFold }"><div class&…

Onekey正版steam分流下载工具

今天给大家介绍的是一款下载steam游戏的工具。Onekey工具&#xff0c;是一款游戏下载器&#xff0c;可以下载steam正版分流游戏。下载正版分流的网站很多&#xff0c;但是都是网盘或者迅雷下载&#xff0c;或者游戏盒子下载&#xff0c;速度都很慢。这款软件是用steam下载的&am…

Flask项目搭建及部署 —— Python

flask搭建及部署 pip 19.2.3 python 3.7.5 Flask 1.1.1 Flask-SQLAlchemy 2.4.1 Pika 1.1.0 Redis 3.3.11 flask-wtf 0.14.2 1、创建flask项目&#xff1a; 创建完成后整个项目结构树&#xff1a; app.py: 项⽬管理⽂件&#xff0c;通过它管理项⽬。 static: 存放静态…

自定义控件视图篇(一)测量与布局

在自定义控件的开发过程中&#xff0c;"视图篇"的测量与布局是非常关键的步骤&#xff0c;这直接决定了控件的尺寸、位置以及子视图的排列方式。下面我将详细介绍测量和布局的过程&#xff0c;以及如何在自定义控件中正确实现这些步骤。 视图的测量 (onMeasure) 在…

2021版本的idea热部署的详细步骤

背景&#xff1a;我是自己用的是2021版本的idea,然后发现跟2023版本的热部署不太一样&#xff0c;所以&#xff0c;今天自己出一期这样的文章吧&#xff01;&#xff01;&#xff01;其他人配置的时候根据自己的情况&#xff0c;来阅读吧&#xff01; 第一步&#xff1a;方式一…

MyBatis是如何分页的及原理

MyBatis 是一种持久层框架&#xff0c;支持通过配置文件和注解将 SQL 映射为 Java 对象。在实际开发中&#xff0c;查询数据时经常需要进行分页处理。 MyBatis 也提供了支持分页的方案&#xff0c;其主要思路是使用 Limit 偏移量和限制个数&#xff0c;来获取指定数量的数据。下…

音视频入门基础:H.264专题(10)——FFmpeg源码中,存放SPS属性的结构体和解码SPS的函数分析

一、引言 FFmpeg源码对AnnexB包装的H.264码流解码过程中&#xff0c;通过ff_h2645_extract_rbsp函数拿到该H.264码流中的某个NALU的NALU Header RBSP后&#xff08;具体可以参考&#xff1a;《FFmpeg源码&#xff1a;ff_h2645_extract_rbsp函数分析》&#xff09;&#xff0c…

【沐风老师】3DMAX建筑体块生成插件BuildingBlocks使用方法详解

BuildingBlocks建筑体块生成插件使用方法详解 听说你还在手动建配景楼&#xff1f;有了BuildingBlocks这个插件&#xff0c;一分钟搞定喔&#xff01; 3DMAX建筑体块生成插件BuildingBlocks&#xff0c;用于快速自定义街道及生成配景楼区块。 【适用版本】 3dMax2019及更高版…

空间分析在3D应用中的革命:提升投资回报与业务价值

在3D应用的浪潮中&#xff0c;空间分析技术正成为提升用户体验、优化业务决策和解决复杂问题的关键工具。本文将深入探讨空间分析如何通过提供深度用户行为洞察和数据可视化&#xff0c;增强3D应用的实际效益和市场竞争力。 一、空间分析的概念与背景 Tony Bevilacqua&#x…

分布式I/O从站的认知

为什么需要分布式I/O从站&#xff1f; 当PLC与控制机构距离过远时&#xff0c;远距离会带来信号干扰&#xff0c;分布式I/O从站只需要一个网络线缆连接。 ET200分布式I/O从站家族 体积紧凑、功能强大。 ET200SP ET200M ET200S ET200iSP ET200 AL ET200pro ET200 eco PN 通讯协议…

DSSM双塔特征交互

传统的DSSM双塔无法在早期进行user和item侧的特征交互&#xff0c;这在一定程度上降低了模型性能。我们想要对双塔模型进行细粒度的特征交互&#xff0c;同时又不失双塔模型离线建向量索引的解耦性。下面介绍两篇这方面的工作。 美团-Dual Augmented Two-tower 在user和item的特…