Google Earth Engine(GEE)——2.提取降水值案例(R-GEE版)

举报
此星光明 发表于 2022/04/16 01:43:17 2022/04/16
3.3k+ 0 0
【摘要】 安装和负载tidyverse和sf- [R包,在这之后,初始化地球引擎řAPI。 #先加载库,再进行初始化!library(tidyverse)library(rgee)library(sf) ee_Initialize()  读取nc形状文件,加载矢量文件。 nc <- st_read(system.file("...

安装和负载tidyversesf- [R包,在这之后,初始化地球引擎řAPI


      #先加载库,再进行初始化!
      library(tidyverse)
      library(rgee)
      library(sf)
      ee_Initialize()
  
 

 读取nc形状文件,加载矢量文件。

nc <- st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
 

 绘制 2001 年的每图像以从Terraclimate 数据集中提取月降水量 (Pr)


      terraclimate <- ee$ImageCollection("IDAHO_EPSCOR/TERRACLIMATE") %>%
        ee$ImageCollection$filterDate("2001-01-01", "2002-01-01") %>%
        ee$ImageCollection$map(function(x) x$select("pr")) %>% # 这里遍历或者映射都是只选择降水波段就欧克
        ee$ImageCollection$toBands() %>% # 将集合转换成影像
        ee$Image$rename(sprintf("PP_%02d",1:12)) # 重命名影像波段
  
 

 从 Terraclimate ImageCollection 通过 提取月降水值ee_extractee_extract工作原理与 类似raster::extract,您只需要定义:ImageCollection 对象 (x)、几何图形 (y) 和一个汇总值的函数 (fun)。


      #这个雨打功能真的很简单,只需要输入对应的属性x和y就欧克
      ee_nc_rain <- ee_extract(x = terraclimate, y = nc["NAME"], sf = FALSE)
  
 

 使用ggplot2生成漂亮的静态图!


      ee_nc_rain %>%
        pivot_longer(-NAME, names_to = "month", values_to = "pr") %>%
        mutate(month, month=gsub("PP_", "", month)) %>%
        ggplot(aes(x = month, y = pr, group = NAME, color = pr)) +
        geom_line(alpha = 0.4) +
        xlab("Month") +
        ylab("Precipitation (mm)") +
        theme_minimal()
  
 

 最后结果!

文章来源: blog.csdn.net,作者:此星光明2021年博客之星云计算Top3,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/qq_31988139/article/details/119967459

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

作者其他文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。