为啥聚合/裁剪后我的光栅文件大小会增加?
Posted
技术标签:
【中文标题】为啥聚合/裁剪后我的光栅文件大小会增加?【英文标题】:Why does my raster file size increase after aggregating/cropping?为什么聚合/裁剪后我的光栅文件大小会增加? 【发布时间】:2021-07-21 21:26:44 【问题描述】:我正在处理有关空气污染的 NETcdf 文件。每月数据以 0.01*0.01 的分辨率存储在跨越整个北美的 .nc 文件中。但是,我只需要美国的数据,分辨率为 0.5。 所以我做了以下事情:
-
使用美国边界裁剪数据:
raster::mask(raster::crop(PM25, raster::extent(USA)),USA)
汇总数据:aggregate(PM25, fact = 50)
但是,在这两个步骤中的每一步之后,我的栅格文件大小都会大大增加。我还尝试先聚合然后裁剪栅格。但是在这种情况下,文件大小在裁剪后先增加然后稍微减小。
任何想法为什么会发生这种情况?大文件是个大问题,因为我有超过 100 个文件需要循环执行上述操作。
感谢任何帮助/建议。谢谢。
【问题讨论】:
欢迎来到 ***,提出一个好问题。您可能会在您的 PM25 的上述昏暗中包括在内。不是直接解决问题,而是对Processing Large Rasters 发生的事情进行了一些很好的阅读。 PM25 数据是否已经以 0.5 分辨率提供?有比我更好的光栅专家会提供帮助。你有没有在 R pkgterra
下试过这个?
【参考方案1】:
如果您所说的“文件大小”实际上是 R 对象的大小,则解释可能是 PM25
在磁盘上(在文件中)有它的值,而 @具有聚合值的 987654322@ 在 RAM 内存中具有其值。如果您担心 RAM 用完,您可以改为使用 filename
这样的参数将值写入文件
aggregate(PM25, fact = 50, filename="agg1.tif")
写入磁盘有(可能很小)性能损失。
另外,我认为你应该先使用aggregate
,然后使用mask
,以避免边缘效应。
【讨论】:
以上是关于为啥聚合/裁剪后我的光栅文件大小会增加?的主要内容,如果未能解决你的问题,请参考以下文章