我如何获得 raster()
函数取整到 外面 的指定xy minmax?例如,我所看到的。
> raster(xmn = 0, xmx = 1.01,
+ ymn = 0, ymx = 1.01,
+ res = 1)
class : RasterLayer
dimensions : 1, 1, 1 (nrow, ncol, ncell)
resolution : 1, 1 (x, y)
extent : 0, 1, 0.01, 1.01 (xmin, xmax, ymin, ymax)
crs : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
和我想看到的:
> raster(xmn = 0, xmx = 1.01,
+ ymn = 0, ymx = 1.01,
+ res = 1)
class : RasterLayer
dimensions : 2, 2, 4 (nrow, ncol, ncell)
resolution : 1, 1 (x, y)
extent : 0, 2, 0, 2 (xmin, xmax, ymin, ymax)
crs : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
或任何包括指定的xmin, xmax, ymin, 和ymax的东西。内 的栅格对象。我意识到这是一个简单的例子,但我正在寻找可以用于许多不同的xmn、xmx、ymn、ymx和res值的通用代码。
先谢谢你 (:
不知道这是否确切地回答了你的问题,你所需要的可能有点取决于你的实际工作流程,但似乎你要找的就是 floor(extent)
.
library(raster)
r <- raster(xmn = 0, xmx = 1.01, ymn = 0, ymx = 1.01)
e <- floor(extent(r))
rr <- raster(e, res=1, crs=crs(r))
rr
#class : RasterLayer
#dimensions : 2, 2, 4 (nrow, ncol, ncell)
#resolution : 1, 1 (x, y)
#extent : 0, 2, 0, 2 (xmin, xmax, ymin, ymax)
#crs : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
注意 floor
办法 Extent
物体轮次 最小 x和y 下来但回合 最大 x和y 攲. 还有一个 ceiling
的方法,以及一个 round
方法,以最接近的整数为准。
在其他情况下(取决于是否有数据需要保留,以及是否需要改变分辨率),你可能会需要其中的一个
x <- extend(r, e)
y <- setExtent(r, e)
extent(r) <- e
如果你需要将一个范围与一个光栅*对齐,你可以执行以下操作
alignExtent(e, r, snap='near')
你也可以做一些事情,比如
e <- round(e + 15)