如何在 R 中控制光栅文件的大小

Posted

技术标签:

【中文标题】如何在 R 中控制光栅文件的大小【英文标题】:How to control raster file sizes in R 【发布时间】:2017-12-01 09:29:08 【问题描述】:

当我将我的栅格(网格化气候数据)从一个投影重新投影到另一个时,文件大小会爆炸。你知道有什么方法可以控制这个吗? 这是一个例子

library(raster)

## reading and raster files to be reprojected###
setwd ("E:/PhD BOKU/DATA/CLIMATE_EU/Normal_1961-1990_Bioclimatic_1km")

clim <- list.files(pattern =".asc", full.names=F)

s<- stack(clim)

## projectingraster to geographic projection might 
newproj <- CRS("+proj=longlat +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +no_defs")

ClimEU_WGS84 <-  projectRaster(s, crs= newproj,res= 0.008333334)

####  writing the newly reprojected rasters into another folder
setwd("E:/PhD BOKU/DATA/CLIMATE_EU/Normal_1961-1990_Bioclimatic_1km_WGS84")

writeRaster(ClimEU_WGS84,filename=names(ClimEU_WGS84), bylayer=TRUE,format="ascii",overwrite=T)

【问题讨论】:

另一种使文件更小的方法是四舍五入并保存为整数(参见?dataType 比下面的答案+1好 【参考方案1】:

有不同的技巧,但到目前为止,最重要的是:

-- 请勿使用 ASCII 格式存储大型栅格!

例如使用 GeoTIFF。该格式具有压缩选项。见 ?writeRaster

【讨论】:

以上是关于如何在 R 中控制光栅文件的大小的主要内容,如果未能解决你的问题,请参考以下文章

R光栅乘法 - 为啥光栅大小会大大增加

为啥光栅文件大小与对象大小有很大不同?

如何在没有精确光栅蒙版的情况下光栅化形状?

如何使 R 的“光栅”包区分 GeoTIFF 中的正旋转矩阵和负旋转矩阵?

如何从 R 中的 rasterbrick 对象创建长格式数据框

如何在R中的并行任务中删除临时文件