GEE图表——利用NOAA气象数据绘制气温预测图

news2024/11/16 21:24:17

简介

气象预测是通过气象数据和模型对未来某一时间和地点的天气情况进行预测。

具体步骤如下:

1. 数据采集:从气象观测站、卫星等获取气象数据,包括气压、水汽、风速、温度、降雨、云量等。

2. 数据清洗:对采集到的数据进行质量检查、处理和筛选,去除异常数据和不合理数据。

3. 数据处理:将清洗后的数据通过插值、平滑等方法处理成空间和时间上连续的气象场。

4. 模型选择:根据预测的时间范围、区域和目的,选择合适的气象模型,如数值天气预报模型、统计预报模型等。

5. 模型运行:将处理好的气象场输入到模型中,进行数值计算,得出预测结果。

6. 预测结果评估:根据历史数据和实测数据,对预测结果进行评估和校正,提高预测精度。

7. 结果输出:将预测结果以图表或文字形式输出,进行分析和应用。

注:以上步骤是一个完整过程,具体实施时可能会因不同的预测目的、数据获取渠道和应用场景等因素有所改变。

数据:

全球预报系统(GFS)是由美国国家环境预报中心(NCEP)制作的天气预报模式。GFS 数据集由选定的模式输出(如下所述)组成,作为网格预报变量。384 小时的预报间隔为 1 小时(120 小时以内)和 3 小时(120 小时以后),时间分辨率为 6 小时(即每天更新四次)。使用 "创建时间 "和 "预报时间 "属性选择感兴趣的数据。

函数

ui.Chart.image.seriesByRegion(imageCollection, regions, reducer, bandscalexPropertyseriesProperty)

Generates a Chart from an image collection. Extracts and plots the value of the specified band in each region for each image in the collection. Usually a time series.

  • X-axis = Image labeled by xProperty (default: 'system:time_start').

  • Y-axis = Reducer output.

  • Series = Region labeled by seriesProperty (default: 'system:index').

Returns a chart.

Arguments:

imageCollection (ImageCollection):

An ImageCollection with data to be included in the chart.

regions (Feature|FeatureCollection|Geometry|List<Feature>|List<Geometry>):

The regions to reduce.

reducer (Reducer):

Reducer that generates the value for the y-axis. Must return a single value.

band (Number|String, optional):

The band name to reduce using the reducer. Defaults to the first band.

scale (Number, optional):

Scale to use with the reducer in meters.

xProperty (String, optional):

Property to be used as the label for each image on the x-axis. Defaults to 'system:time_start'.

seriesProperty (String, optional):

Property of features in opt_regions to be used for series labels. Defaults to 'system:index'.

Returns: ui.Chart

代码:


// Select the locations
var geometry1 = ee.Geometry.Point([-4.232, 53.263]);
var geometry2 = ee.Geometry.Point([-2.936, 53.394]);

// NOAA GFS dataset
var gfs = ee.ImageCollection("NOAA/GFS0P25");

// 选择气温数据
var forecast = gfs.select('precipitable_water_entire_atmosphere');

// 获取今天的天气预报
// 预测每 6 小时生成一次
// 为考虑摄取延迟,我们获取过去 10 小时内生成的预报
var now = ee.Date(Date.now());
var before = now.advance(-24, 'hour');

var filtered = forecast
  .filter(ee.Filter.date(before, now));

// 所有预报图像都有当天的时间戳
// 由于我们需要的是时间序列的预报,因此我们要将
// 时间戳更新为图像的预报日期。
var filtered = filtered.select('precipitable_water_entire_atmosphere')
  .map(function(image) {
    var forecastTime = image.get('forecast_time');
    return image.set('system:time_start', forecastTime);
  });

// 创建单一地点的预测图表
var chart = ui.Chart.image.series({
  imageCollection: filtered,
  region: geometry1,
  reducer: ee.Reducer.first(),
  scale: 27830}).setOptions({
    lineWidth: 2,
    pointSize: 2,
    title: 'Precipitation Forecast ',
    vAxis: {title: 'Precipitation (mm)'},
    hAxis: {title: '', format: 'YYYY-MM-dd'},
    series: {
      0: {color: 'blue'},
    },
    legend: {
      position: 'none'
    }
  });
print(chart);


// 为了绘制多个位置,我们需要一个特征集合
var locations = ee.FeatureCollection([
  ee.Feature(geometry1, {'name': 'bangor'}),
  ee.Feature(geometry2, {'name': 'livepool'})
  ]);
  
// 绘制气温预测图

var chart = ui.Chart.image.seriesByRegion({
  imageCollection: filtered,
  regions: locations,
  reducer: ee.Reducer.first(),
  scale: 27830,
  seriesProperty: 'name'
}).setOptions({
      lineWidth: 1,
      pointSize: 2,
      title: 'Precipitation Forecast ',
      vAxis: {title: 'Precipitation (mm)'},
      hAxis: {title: '', format: 'YYYY-MM-dd'},
      series: {
      0: {color: '#1b9e77'},
      1: {color: '#d95f02'}
      },
      legend: {
        position: 'top'
      }
    });
print(chart);

结果: 

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

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

相关文章

模拟计算器编程教程,中文编程开发语言工具编程实例

模拟计算器编程教程&#xff0c;中文编程开发语言工具编程实例 中文编程系统化教程&#xff0c;不需英语基础。学习链接 ​​​​​​https://edu.csdn.net/course/detail/39036 课程安排&#xff1a;初级1 1 初级概述 2 熟悉构件取值赋值 3 折叠式菜单滑动面板编程 4 自定…

前端(二十三)——轮询和长轮询

&#x1f62b;博主&#xff1a;小猫娃来啦 &#x1f62b;文章核心&#xff1a;实现客户端与服务器实时通信的技术手段 文章目录 前言轮询技术轮询的概念轮询的实现原理轮询的优缺点轮询的使用场景 长轮询技术长轮询的概念长轮询的实现原理长轮询的优缺点长轮询的使用场景 轮询与…

2 第一个Go程序

概述 在上一节的内容中&#xff0c;我们介绍了Go的前世今生&#xff0c;包括&#xff1a;Go的诞生、发展历程、特性和应用领域。从本节开始&#xff0c;我们将正式学习Go语言。Go语言是一种编译型语言&#xff0c;也就是说&#xff0c;Go语言在运行之前需要先进行编译&#xff…

JVM | 命令行诊断与调优 jhsdb jmap jstat jps

目录 jmap 查看堆使用情况 查看类列表&#xff0c;包含实例数、占用内存大小 生成jvm的堆转储快照dump文件 jstat 查看gc的信息&#xff0c;查看gc的次数&#xff0c;及时间 查看VM内存中三代&#xff08;young/old/perm&#xff09;对象的使用和占用大小 查看元数据空…

Qt生成PDF报告

文章目录 一、示意图二、实现部分代码总结 一、示意图 二、实现部分代码 //! 生成测试报告 void MainWindow::createPdf(QString filename, _pdf_msg_& msg, const QMap<QString, int>& ok, const QMap<QString, int>& err) {//QDir dir;if(!dir.exis…

mac安装jdk

1、下载jdk&#xff08;我的电脑要下载arm版&#xff0c;截图不对&#xff09; Java Downloads | Oraclehttps://www.oracle.com/java/technologies/downloads/#jdk17-mac 2、双击安装

【微信小程序】实现投票功能

一、后端 1、xmlsql <select id"voteList" resultMap"BaseResultMap" >select<include refid"Base_Column_List" />from t_oa_meeting_infowhere 11<if test"state!null">and state#{state}</if><if test&…

互联网Java工程师面试题·Spring篇·第四弹

目录 6、AOP 6.1、什么是 AOP&#xff1f; 6.2、什么是 Aspect&#xff1f; 6.3、什么是切点&#xff08;JoinPoint&#xff09; 6.4、什么是通知&#xff08;Advice&#xff09;&#xff1f; 6.5、有哪些类型的通知&#xff08;Advice&#xff09;&#xff1f; 6.6、指出…

06 MIT线性代数-列空间和零空间 Column space Nullspace

1. Vector space Vector space requirements vw and c v are in the space, all combs c v d w are in the space 但是“子空间”和“子集”的概念有区别&#xff0c;所有元素都在原空间之内就可称之为子集&#xff0c;但是要满足对线性运算封闭的子集才能成为子空间 中 2 …

嵌入式实时操作系统的设计与开发(消息)

消息 从概念上讲&#xff0c;消息机制和邮箱机制很类似&#xff0c;区别在于邮箱一般只能容纳一条消息&#xff0c;而消息则会包含一系列的消息。 系统定义了一个全局变量g_msgctr_header&#xff0c;通过它可以查找到任一已创建的消息容器。 每一个消息容器都可以根据其参数…

CentOS 7 安装Java环境

本文采用源码安装 1. 下载安装包 下载地址&#xff1a;jdk官网下载地址 下载linux64位tgz压缩包、官网下载需要登录oracle账号、可临时注册一个、几分钟搞定、或者查下其他方式获取安装包皆可。 2. 上传至centos7服务器 3. 安装 # tar zxvf jdk-8u381-linux-x64.tar.gz4.…

UE5 Blueprint发送http请求

一、下载插件HttpBlueprint、Json Blueprint Utilities两个插件是互相依赖的&#xff0c;启用&#xff0c;重启项目 目前两个是Beta的状态&#xff0c;如果你使用的平台支持就可以使用&#xff0c;我们的项目因为需要取Header的值&#xff0c;所有没法使用这两个插件&#xff0…

【AI视野·今日Robot 机器人论文速览 第五十九期】Fri, 20 Oct 2023

AI视野今日CS.Robotics 机器人学论文速览 Fri, 20 Oct 2023 Totally 29 papers &#x1f449;上期速览✈更多精彩请移步主页 Daily Robotics Papers CCIL: Continuity-based Data Augmentation for Corrective Imitation Learning Authors Liyiming Ke, Yunchu Zhang, Abhay D…

vue3检测是手机还是pc端,监测视图窗口变化

1.超小屏幕&#xff08;手机&#xff09; 768px以下 2.小屏设备&#xff08;平板&#xff09; 768px-992px 3.中等屏幕&#xff08;旧式电脑&#xff09; 992px-1200px 4.大屏设备&#xff08;现代电脑&#xff09; 1200px以上 <script setup name"welcome"> i…

BurpSuite安装

下载 BurpSuite 下载 Java17 下载后确定版本 java -version获取启动器 密钥生成器 破解 将下载的 BurpSuite、启动器、密钥生成器&#xff0c;放入同一个目录 打开 CMD 进入该目录 启动密钥生成器 java -jar burp-keygen-scz.jar开启新的CMD&#xff0c;进入该目录 启动…

Spark_SQL-DataFrame数据写出以及读写数据库(以MySQl为例)

一、数据写出 &#xff08;1&#xff09;SparkSQL统一API写出DataFrame数据 统一API写法&#xff1a; 常见源写出&#xff1a; # cording:utf8from pyspark.sql import SparkSession from pyspark.sql.types import StructType, IntegerType, StringType import pyspark.sql.fu…

Android 下载文件后,调用系统文件管理器打开方式

如果是定制的系统&#xff0c;可能需要注意下有没有内置播放器或者浏览软件&#xff01;&#xff01;&#xff01; 看效果&#xff1a; 第一先上个文件类型判断的方法&#xff1a; //建立一个文件类型与文件后缀名的匹配表public static final String[][] MATCH_ARRAY{//{后缀…

CICD 流程学习(五)Jenkins后端工程构建

案例1&#xff1a;数据库服务部署 MySQL部署 #安装MySQL服务 [rootServices ~]# yum clean all; yum repolist -v ... Total packages: 8,265 [rootServices ~]# yum -y install mysql.x86_64 mysql-server.x86_64 mysql-devel.x86_64 ... Complete! [rootServices ~]# #启动…

【MySQL架构篇】SQL执行流程与缓冲池

文章目录 1. SQL执行流程2. 数据库缓冲池(Buffer Pool)2.1 缓冲池概述2.2 缓冲池如何读取数据2.3 查看和设置缓冲池的大小2.4 多个Buffer Pool实例2.5 引申问题 1. SQL执行流程 查询缓存&#xff1a;因为查询效率往往不高&#xff0c;所以在MySQL8.0之后就抛弃了这个功能解析器…

永中office电子表格使用函数求和

下载安装一个永中office个人版&#xff1b; 基本没用过这软件&#xff1b;看一下有没有电子表格&#xff1b; 有的&#xff1b; 再看一下电子表格有没有类似excel的函数功能&#xff1b; 看一下能不能sum()求和&#xff1b; 可以的&#xff1b;