为啥聚合/裁剪后我的光栅文件大小会增加?

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 pkg terra 下试过这个? 【参考方案1】:

如果您所说的“文件大小”实际上是 R 对象的大小,则解释可能是 PM25 在磁盘上(在文件中)有它的值,而 @具有聚合值的 987654322@ 在 RAM 内存中具有其值。如果您担心 RAM 用完,您可以改为使用 filename 这样的参数将值写入文件

aggregate(PM25, fact = 50, filename="agg1.tif")

写入磁盘有(可能很小)性能损失。

另外,我认为你应该先使用aggregate,然后使用mask,以避免边缘效应。

【讨论】:

以上是关于为啥聚合/裁剪后我的光栅文件大小会增加?的主要内容,如果未能解决你的问题,请参考以下文章

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

为啥我运行应用程序时 jar 文件的大小会增加?

为啥我执行 PCA 后图像文件的大小会增加?

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

为啥生成 pdb 文件会导致静态链接库的大小大幅增加?

为啥每次使用 VBA 保存 word 文档时文件大小都会增加?