R语言nc转tif
getwd()
setwd("E:/Program1//input/surfout-beijing-202007/")
library(ncdf4)
library(sp)
library(raster)
library(rgdal)
library(ggplot2)
library(gstat)
library(maptools)
library(readxl)
library(tidyr)
library(sf)
library(openxlsx)
rm(list=ls())
nc_data <- raster('../wrfout_d03_2020-08-02_00_00_00.nc')
T2=data.frame()
for (day in 1:31) {
day=1
julyday <- sprintf("%02d", day)
nc=paste("surfout_d03_2020-07-", julyday, "_00_00_00", sep = "")
nc_data <- brick(nc,varname = T2)
crs(nc_data)="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
input_nc="surfout_d03_2020-07-01_00_00_00"
ncfile<-nc_open(input_nc)
names(ncfile$var)
nc_stack = stack(input_nc,varname="T2")
crs(nc_stack)="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
df <- data.frame(lon=116.28,lat=39.48)
bb <- SpatialPoints(df)
crs(bb)="+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
p <- raster::extract(nc_data,bb)
dim(p)
class(p)
T=p[,409:432]
T2_df <- stack(T, as.data.frame = TRUE)
T2=rbind(T2,T2_df)
}
head(T)
output_folder <- "../../output/"
station_city_file <- paste(output_folder,"wrf_point_data.xlsx", sep = "")
write.xlsx(T2,station_city_file , rowNames= FALSE)
ncfile<-nc_open("surfout_d03_2020-07-01_00_00_00")
names(ncfile$var)
input_nc = 'surfout_d03_2020-07-01_00_00_00'
varname = 'T2'
raster1 = stack(input_nc, varname = varname)
outpath<-"../../output/test/"
x1<-c(1:24)
x2<-paste("2020_7_0_",x1,sep = "")
out_filename<-sapply(x2, function(x)paste(x,".tif",sep = ""))
out_path<-sapply(out_filename,function(x){
paste(outpath,x,sep = "/")})
for(i in 1:24){
writeRaster(raster1[[i]],out_path[i], format = 'GTiff', overwrite = T)
}
library(terra)
prebr <- rast("F:/test/out/pre_2020.nc")
terra::writeRaster(prebr,paste0("F:/test/out2/2020_",names(prebr),'.tif'),
overwrite = T,filetype = "GTiff")
library(raster)
library(ncdf4)
ncfile<-nc_open("F:/test/pre_2020.nc")
names(ncfile$var)
prebr <- brick("F:/test/pre_2020.nc")
raster::writeRaster(prebr, filename = paste0("F:/test/out1/2020_",prebr@data@names),bylayer=T, format="GTiff",varname = 'pre')
R语言读取nc数据