遥感R语言生态遥感R语言

R语言读取NC格式数据

2020-02-09  本文已影响0人  年迈的小怪兽

数据准备

国家地球系统科学数据中心下载的全国逐月最低气温数据集,每3年数据共36个月的最低气温数据保存在一个nc文件中,现在想要将数据导出为逐月栅格数据,以15-17年数据为例。

R包加载

主要用到ncdf4包读取nc文件,raster包将读入数据转栅格数据并输出.

library(raster)
library(ncdf4)
library(rasterVis)
library(lattice)

NC数据导入

##读取单变量长时间序列nc数据
ncfile<-nc_open("E:/1data/tmn_2015_2017.nc")
names(ncfile$var)

names函数获取变量名tmn

导入为栅格数据

input_nc = 'E:/1data/tmn_2015_2017.nc'
varname = 'tmn'
##压缩呈栅格栈
raster1 = stack(input_nc, varname = varname)

设置输出路径名

outpath<-"E:/1data/月最低气温"
##为文件名设置做准备
x1<-c(1:12)
x2<-paste("2015",x1,sep = "")
x3<-paste("2016",x1,sep = "")
x4<-paste("2017",x1,sep = "")
x5<-c(x2,x3,x4)
out_filename<-sapply(x5, function(x)paste(x,".tif",sep = ""))      #输出tif格式
out_path<-sapply(out_filename, function(x){
  paste(outpath,x,sep = "/")})                #输出路径名

批量输出

for(i in 1:36){
  writeRaster(raster1[[i]],out_path[i], format = 'GTiff', overwrite = TRUE)
}

小结

学习R语言是一件激动人心的事情,在看了很多文章后终于可以站在巨人的肩膀上写一写自己的东西,自勉。
[文章参考](https://www.jianshu.com/p/1f327f0c48e9

上一篇下一篇

猜你喜欢

热点阅读