【发布时间】:2020-06-10 21:45:53
【问题描述】:
我正在使用来自 CHIRPS 的每日降水数据处理年度多层 netCDF 文件。我有全世界的文件,每个文件大约 1.2gb 大。我需要根据特定区域栅格中每个像元的降水数据计算指数。为了做到这一点,我正在尝试使用 raster R 包裁剪文件以在我感兴趣的区域上方获得一个矩形。
这是我正在使用的代码,是第一个文件的示例。
library(ncdf4)
library(raster)
library(rgdal)
# Crop extent
crop_extent <- as(raster::extent(79, 89, 25, 31), "SpatialPolygons")
proj4string(crop_extent) <- "+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs"
# Set directory with original files
setwd("~/data")
# Read file
chirps81 <- stack("chirps-v2.0.1981.days_p05.nc")
chirps81crop <-crop(chirps1981, crop_extent)
# Write cropped file back to different folder
setwd("~/croppeddata")
writeRaster(chirps81crop, "chirps81crop.nc", overwrite=TRUE)
然而,由于某种原因,在写入文件时,图层会丢失它们的名称。在原始文件中和裁剪后的名称具有“X1981.01.01”格式的图层名称。但是在使用new file <- stack("chirps81crop.nc") 写入和读取netCDF 文件后,图层名称将更改为格式“X1”到“X365”。我认为使用它应该没问题,假设图层的顺序没有混淆,但我不明白图层名称发生了什么,如果发生这种情况是因为代码有问题。
【问题讨论】: