使用R读取.Rdata文件并导出为tif格式


前言

刚拿到Rdata格式的气象数据,第一次处理有点懵,特记录一下步骤。


步骤

读取Rdata气象数据;
在这里插入图片描述
提取指定年份数据;
在这里插入图片描述
导出成tif格式。
在这里插入图片描述

library(raster)
library(rgdal)

output_folder <- "E://CMA_P_T//P_tif"  # 设置输出文件夹
shp <- readOGR('E://CMA_P_T//test.shp') # 读取shp文件
data_folder <- 'E://CMA_P_T//P_China_1dy_0.5deg_1961_2020.RData'  # 读取Rdata文件
data <- load(data_folder)

start_index <- which(dimnames(P)[[3]] == "20000101") # 开始和结束时间
end_index <- which(dimnames(P)[[3]] == "20201231")
P_new <- P[,,start_index:end_index]


dates <- dimnames(P_new)[[3]] # 获取日期列表
total <- length(dates)
# 对每个日期进行循环
for (i in seq_along(dates)) {
  data <- P_new[,,dates[i]]  
  r <- raster(data)                        # 创建一个RasterLayer对象
  crs(r) <- "+proj=longlat +datum=WGS84"   # 设置RasterLayer的CRS为WGS1984
  extent(r) <- c(72, 136, 18, 54)          # 设置地理范围
  r_transformed <- projectRaster(r, 
  crs = "+proj=utm +zone=44 +datum=WGS84") # 重投影
  r_clipped <- mask(r_transformed, shp)    # 根据shp文件裁剪RasterLayer
  
  filename <- file.path(output_folder, paste0("P_", dates[i], ".tif"))
  writeRaster(r_clipped, filename = filename, format = "GTiff") # 导出为tif格式
 
  cat("\r已完成", i, "/", total) # 进度条
}

cat("\n全部完成!\n")

总结

使用R语言对.Rdata格式的气象数据进行读取、选择日期、投影、裁剪等操作,最后导出为tif文件。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值