我有netcdf文件(GPM IMERG降水),应该是0.1x0.1分辨率,如底部的红框所示:
图像上的像素大小不完全是0.1,但至少它的高度和宽度是相同的。
但是,当通过terra::
或raster::
上传netcdf时,分辨率会略有变化:
class : SpatRaster
dimensions : 185, 97, 1 (nrow, ncol, nlyr)
resolution : 0.09999998, 0.1000001 (x, y)
extent : 34.2, 43.9, 62.3, 80.80002 (xmin, xmax, ymin, ymax)
coord. ref. : lon/lat WGS 84
source : _(1).nc:precipitationCal
varname : precipitationCal (Daily accumulated precipitation (combined microwave-IR) estimate)
name : precipitationCal
unit : mm
time (days) : 2000-06-04
任何关于如何将R中的光栅转换回其原始分辨率的解决方案都将受到欢迎。顺便问一下,这与R包中范围的舍入坐标有关吗?
2条答案
按热度按时间7nbnzgx91#
你能指出那个文件吗?从我所看到的,要么是程度或网站上显示的分辨率是错误的。根据这些数字,应该是:
也许对于网站来说,分辨率是使用单元格的中心来计算的,这样你就可以得到
如果没有档案很难确定。但我会把我的钱放在网站上是错误的。
在你的档案里我还看到了这个
但这是正确的,因为它确实反映了写入文件的x和y坐标。所提供的单元格的x和y坐标不是严格规则的(但几乎如此)。例如,下面是第一个和最后三个y坐标:
仅从文件来看,我不能说这些小小数是故意的还是源于马虎,我假设是后者,在这种情况下,舍入范围似乎确实是合理的:
iyzzxitl2#
修改范围边界似乎会更正分辨率。以下是上传后的文件范围:
我对范围坐标的小数进行了四舍五入,并校正了分辨率: