GEE开发之降雨(CHIRPS)数据获取和分析
GEE开发之降雨CHIRPS数据获取和分析
- 1.数据介绍
- 2.初识CHIRPS
- 2.1 代码一
- 2.2 代码二
- 3.逐日数据分析和获取
- 4.逐月数据分析和获取
- 4.1 代码一
- 4.2 代码二(简洁)
- 5.逐年数据分析和获取
- 5.1 代码一
- 5.2 代码二(简洁)
前言:主要获取和分析UCSB-CHG/CHIRPS/DAILY的日数据、月数据和年数据。
1.数据介绍
- 数据集: CHIRPS Daily: Climate Hazards Group InfraRed Precipitation With Station Data (Version 2.0 Final)
- 数据说明: Climate Hazards Group InfraRed Precipitation with Station data (CHIRPS) 是一个记录了1981年到当前全球降雨量的数据集。CHIRPS将0.05°分辨率的卫星图像与in-situ站点数据结合,创建网格化的降雨时间序列,用于趋势分析和季节性干旱监测。
2.初识CHIRPS
2.1 代码一
var geometry = ee.FeatureCollection('users/www1573979951/luyixian');
var dataset = ee.ImageCollection('UCSB-CHG/CHIRPS/DAILY')
.filterDate('2020-01-01', '2020-12-31')
.filterBounds(geometry)
.select('precipitation');
print(dataset)

2.2 代码二
var geometry = ee.FeatureCollection('users/www1573979951/luyixian');
Map.centerObject(geometry,7);
var dataset = ee.ImageCollection('UCSB-CHG/CHIRPS/DAILY')
.filterDate('2020-01-01', '2020-12-31')
.filterBounds(geometry)
.select('precipitation');
var precipitationVis = {min: 1.0,max: 17.0,palette: ['001137', '0aab1e', 'e7eb05', 'ff4a2d', 'e90000'],
};
Map.addLayer(dataset.mean().clip(geometry), precipitationVis, 'pre');

3.逐日数据分析和获取
var geometry = ee.FeatureCollection('users/www1573979951/luyixian');
Map.centerObject(geometry,7);
var dataset = ee.ImageCollection('UCSB-CHG/CHIRPS/DAILY')
.filterDate('2020-05-01', '2020-05-31')
.filterBounds(geometry)
.select('precipitation');
print(ui.Chart.image.series(dataset, geometry, ee.Reducer.mean(), 1000));
function exportImageCollection(imgCol) {var indexList = imgCol.reduceColumns(ee.Reducer.toList(), ["system:index"]).get("list");indexList.evaluate(function(indexs) {for (var i=0; i<indexs.length; i++) {var image = imgCol.filter(ee.Filter.eq("system:index", indexs[i])).first();image = image.clip(geometry);//tif数据下载Export.image.toDrive({image: image,description: 'pre_'+indexs[i],fileNamePrefix: 'pre_'+indexs[i],folder: 'pre',region: geometry,scale: 1000,crs: "EPSG:4326",maxPixels: 1e13});}});
}
exportImageCollection(dataset);


4.逐月数据分析和获取
4.1 代码一
var geometry = ee.FeatureCollection('users/www1573979951/luyixian');
var dataset = ee.ImageCollection('UCSB-CHG/CHIRPS/DAILY').filterBounds(geometry).select('precipitation');
//时间范围
var years = ee.List.sequence(2020, 2020);
var months = ee.List.sequence(1, 12);//将逐日数据生成月平均数据
var monthlysum = ee.ImageCollection.fromImages(years.map(function (y) {return months.map(function(m) {return dataset.filter(ee.Filter.calendarRange(y,y, 'year')).filter(ee.Filter.calendarRange(m, m, 'month')).sum().set('year', y).set('month', m).set('system:time_start', ee.Date.fromYMD(y, m, 1));});}).flatten());print(monthlysum);
print(ui.Chart.image.series(monthlysum, geometry, ee.Reducer.mean(), 1000));function exportImageCollection(imgCol) {var indexList = imgCol.reduceColumns(ee.Reducer.toList(), ["system:index"]).get("list");indexList.evaluate(function(indexs) {for (var i=0; i<indexs.length; i++) {var image = imgCol.filter(ee.Filter.eq("system:index", indexs[i])).first();image = image.clip(geometry);//tif数据下载Export.image.toDrive({image: image,description: 'pre_2020_'+indexs[i],fileNamePrefix: 'pre_2020_'+indexs[i],folder: 'pre',region: geometry,scale: 1000,crs: "EPSG:4326",maxPixels: 1e13});}});
}
exportImageCollection(monthlysum);


4.2 代码二(简洁)
var geometry = ee.FeatureCollection('users/www1573979951/luyixian');
Map.centerObject(geometry,6);
var dataset =ee.ImageCollection("UCSB-CHG/CHIRPS/DAILY");
for(var i=2018;i<=2020;i++){for(var j=1;j<=12;j++){var data_collection = null;switch(j){case 1:case 3:case 5:case 7:case 8:case 10:case 12:data_collection = dataset.filterDate(i+'-'+j+'-01',i+'-'+j+'-31').select('precipitation');break;case 4:case 6:case 9:case 11:data_collection = dataset.filterDate(i+'-'+j+'-01',i+'-'+j+'-30').select('precipitation');break;case 2:data_collection = dataset.filterDate(i+'-'+j+'-01',i+'-'+j+'-28').select('precipitation');break;}var YR_collection = data_collection.sum().clip(geometry);Export.image.toDrive({image: YR_collection,description: i+'-'+j,fileNamePrefix: i+'-'+j,scale: 1000,region: geometry,maxPixels: 1e13,folder: 'pre'})}
}

5.逐年数据分析和获取
5.1 代码一
var geometry = ee.FeatureCollection('users/www1573979951/luyixian');
// 选择数据集并进行波段比例换算
var collection = ee.ImageCollection("UCSB-CHG/CHIRPS/DAILY").filterDate('2000-01-01', '2020-12-31').select("precipitation");//进行年平均值的计算
var years = ee.List.sequence(2000, 2020);
var collectYear = ee.ImageCollection(years.map(function(y) {var start = ee.Date.fromYMD(y, 1, 1);var end = start.advance(12, 'month');return collection.filterDate(start, end).reduce(ee.Reducer.sum()).float().set('system:time_start',y).set('year',y);
}));
print(collectYear);
//年均值的时间序列展示
var Yearly_chart = ui.Chart.image.series({imageCollection: collectYear.select('precipitation_sum'),region: geometry,reducer: ee.Reducer.mean(),scale: 500,xProperty: 'year',}).setOptions({interpolateNulls: true,lineWidth: 2,title: 'pre Yearly Seires',vAxis: {title: 'pre'},hAxis: {title: 'Date'},});
print(Yearly_chart);function exportImageCollection(imgCol) {var indexList = imgCol.reduceColumns(ee.Reducer.toList(), ["system:index"]).get("list");indexList.evaluate(function(indexs) {for (var i=0; i<indexs.length; i++) {var image = imgCol.filter(ee.Filter.eq("system:index", indexs[i])).first();image = image.clip(geometry);//tif数据下载Export.image.toDrive({image: image,description: 'pre_'+indexs[i],fileNamePrefix: 'pre_'+indexs[i],folder: 'pre',region: geometry,scale: 1000,crs: "EPSG:4326",maxPixels: 1e13});}});
}
exportImageCollection(collectYear);


5.2 代码二(简洁)
var geometry = ee.FeatureCollection('users/www1573979951/luyixian');
Map.centerObject(geometry,6);
var dataset =ee.ImageCollection("UCSB-CHG/CHIRPS/DAILY");for(var i=2018;i<=2020;i++){var data_collection = dataset.filterDate(i+'-01-01',i+'-12-31').select('precipitation');print(data_collection)var YR_collection = data_collection.sum().clip(geometry);Export.image.toDrive({image: YR_collection,description: i,fileNamePrefix: i,scale: 1000,region: geometry,maxPixels: 1e13,folder: 'pre'});
}

相关文章:
GEE开发之降雨(CHIRPS)数据获取和分析
GEE开发之降雨CHIRPS数据获取和分析1.数据介绍2.初识CHIRPS2.1 代码一2.2 代码二3.逐日数据分析和获取4.逐月数据分析和获取4.1 代码一4.2 代码二(简洁)5.逐年数据分析和获取5.1 代码一5.2 代码二(简洁)前言:主要获取和分析UCSB-CHG/CHIRPS/DAILY的日数据、月数据和…...
TypeScript中面向对象
面向对象 要想面向对象,操作对象,首先便要拥有对象; 要创建对象,必须要先定义类,所谓的类可以理解为对象的模型; 程序中可以根据类创建指定类型的对象; 举例来说: 可以通过Perso…...
Transformer 模型:入门详解(1)
动动发财的小手,点个赞吧! 简介 众所周知,transformer 架构是自然语言处理 (NLP) 领域的一项突破。它克服了 seq-to-seq 模型(如 RNN 等)无法捕获文本中的长期依赖性的局限性。事实证明,transformer 架构是…...
深入理解js中的new关键字
在js中我们经常会使用到new关键字,那我们在使用new关键字的时候,new到底做了什么呢?今天我们就来深入探究一下 1.初步使用 我们先来使用一下,这是一个正常操作 function Person() {this.name "John";}let person new…...
RT-Thread Nano(2) - 线程
参考:RT-Thread API参考手册: 线程管理 线程的分类:动态线程,静态线程 动态线程是系统自动从动态内存堆上分配栈空间的线程句柄(程序运行时再分配空间),静态线程是由用户分配栈空间与线程句柄(可以说是程序编译时已经分配好空间) 1.创建线程 创建一个动态线程 rt_thread_t …...
真香,Grafana开源Loki日志系统取代ELK?
一、Loki是什么? Loki是由Grafana Labs开源的一个水平可扩展、高可用性,多租户的日志聚合系统的日志聚合系统。它的设计初衷是为了解决在大规模分布式系统中,处理海量日志的问题。Loki采用了分布式的架构,并且与Prometheus、Graf…...
机器学习|多变量线性回归 | 吴恩达学习笔记
前文回顾:机器学习 | 线性回归(单变量) 目录 📚多维特征 📚多变量梯度下降 📚梯度下降法实践 🐇特征缩放 🐇学习率 📚特征和多项式回归 📚正规方程 &…...
高并发内存池
按照threadcache,centralcache,pagecache顺序所列 这里还需要一定的前期准备工作 首先是可以设计一个定长内存池 ObjectPool.h #pragma once #include<iostream> #include"Common.h" using std::cout; using std::endl; using std::…...
springboot mybatis-plus 对接 sqlserver 数据库 批处理的问题
问题: 在对接 sqlserver数据库的时候 主子表 保存的时候 子表批量保存 使用的 mybatis-plus提供的saveOrUpdateBatch 这个方法 但是 报错 报错内容为 : com.microsoft.sqlserver.jdbc.SQLServerException: 必须执行该语句才能获得结果。 框架版本 sprin…...
Acwing---843. n-皇后问题——DFS
n-皇后问题1.题目2.基本思想3.代码实现1.题目 n−皇后问题是指将 n 个皇后放在 nn 的国际象棋棋盘上,使得皇后不能相互攻击到,即任意两个皇后都不能处于同一行、同一列或同一斜线上。 现在给定整数 n,请你输出所有的满足条件的棋子摆法。 …...
Android事件分发机制
文章目录Android View事件分发机制:事件分发中的核心方法onTouchListener和onClickListener的优先级事件分发DOWN,MOVE,UP 事件分发CANCEL代码实践requestdisallowIntereptTouchEvent作用Android View事件分发机制: 事件分发中的核心方法 Android中事件…...
python版协同过滤算法图书管理系统
基于协同过滤算法的图书管理系统 一、简介(v信:1257309054) 本系统基于推荐算法给用户实现精准推荐图书。 根据用户对物品或者信息的偏好,发现物品或者内容本身的相关性,或者是发现用户的相关性,然…...
Redis基础入门
文章目录前言一、redis是什么?二、安装步骤1.下载安装包2.安装三、Redis的数据类型redis是一种高级的key-value的存储系统,其中的key是字符串类型,尽可能满足如下几点:字符串(String)列表(List)集合(Set,不允许出现重复…...
【微服务】Feign实现远程调用和负载均衡
目录 1.什么是Feign 2 订单微服务集成Feign 2.1.引入依赖 2.2添加注解 2.3编写Feign的客户端 2.4修改OrderServiceImpl.java的远程调用方法 2.5重启订单服务,并验证 总结 1.什么是Feign Feign是Spring Cloud提供的⼀个声明式的伪Http客户端, 它…...
Windows使用QEMU搭建arm64 ubuntu 环境
1. 下载 QEMU: https://qemu.weilnetz.de/w64/ QEMU UEFI固件文件: https://releases.linaro.org/components/kernel/uefi-linaro/latest/release/qemu64/QEMU_EFI.fd arm64 Ubuntu镜像: http://cdimage.ubuntu.com/releases/20.04.3/rel…...
NodeJS安装
一、简介Node.js是一个让JavaScript运行在服务端的开发平台,Node.js不是一种独立的语言,简单的说 Node.js 就是运行在服务端的 JavaScript。npm其实是Node.js的包管理工具(package manager),类似与 maven。二、安装步骤…...
Gin 优雅打印请求与回包内容
文章目录1.Gin 的 Middleware2.使用 Middleware 打印请求与回包内容3.多次读取请求 Body 的问题4.多次读取响应 Body 的问题5.小结参考文献在开发 Web 应用程序时,难免不会遇到功能或性能等问题。为了快速定位问题,需要打印请求和响应的内容。本文将介绍…...
关于k8s中ETCD集群备份灾难恢复的一些笔记
写在前面 集群电源不稳定,或者节点动不动就 宕机,一定要做好备份,ETCD 的快照文件很容易受影响损坏。重置了很多次集群,才认识到备份的重要博文内容涉及 etcd 运维基础知识了解静态 Pod 方式 etcd 集群灾备与恢复 Demo定时备份的任务编写二进…...
【设计模式之美 设计原则与思想:设计原则】19 | 理论五:控制反转、依赖反转、依赖注入,这三者有何区别和联系?
关于 SOLID 原则,我们已经学过单一职责、开闭、里式替换、接口隔离这四个原则。今天,我们再来学习最后一个原则:依赖反转原则。在前面几节课中,我们讲到,单一职责原则和开闭原则的原理比较简单,但是&#x…...
2023年全国最新高校辅导员精选真题及答案13
百分百题库提供高校辅导员考试试题、辅导员考试预测题、高校辅导员考试真题、辅导员证考试题库等,提供在线做题刷题,在线模拟考试,助你考试轻松过关。 一、单选题 131.下列不属于我国国土空间具有的特点的是() A.水资…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
《Playwright:微软的自动化测试工具详解》
Playwright 简介:声明内容来自网络,将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具,支持 Chrome、Firefox、Safari 等主流浏览器,提供多语言 API(Python、JavaScript、Java、.NET)。它的特点包括&a…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
Nginx server_name 配置说明
Nginx 是一个高性能的反向代理和负载均衡服务器,其核心配置之一是 server 块中的 server_name 指令。server_name 决定了 Nginx 如何根据客户端请求的 Host 头匹配对应的虚拟主机(Virtual Host)。 1. 简介 Nginx 使用 server_name 指令来确定…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
Redis的发布订阅模式与专业的 MQ(如 Kafka, RabbitMQ)相比,优缺点是什么?适用于哪些场景?
Redis 的发布订阅(Pub/Sub)模式与专业的 MQ(Message Queue)如 Kafka、RabbitMQ 进行比较,核心的权衡点在于:简单与速度 vs. 可靠与功能。 下面我们详细展开对比。 Redis Pub/Sub 的核心特点 它是一个发后…...
【7色560页】职场可视化逻辑图高级数据分析PPT模版
7种色调职场工作汇报PPT,橙蓝、黑红、红蓝、蓝橙灰、浅蓝、浅绿、深蓝七种色调模版 【7色560页】职场可视化逻辑图高级数据分析PPT模版:职场可视化逻辑图分析PPT模版https://pan.quark.cn/s/78aeabbd92d1...
淘宝扭蛋机小程序系统开发:打造互动性强的购物平台
淘宝扭蛋机小程序系统的开发,旨在打造一个互动性强的购物平台,让用户在购物的同时,能够享受到更多的乐趣和惊喜。 淘宝扭蛋机小程序系统拥有丰富的互动功能。用户可以通过虚拟摇杆操作扭蛋机,实现旋转、抽拉等动作,增…...
Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成
一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...
