我有三个SpatialPointsDataFrame
实际上只有一个点的对象。我的目的是为包含该点的每个区域创建一个栅格,以便除点之外的所有单元都为“NA”,因此我可以使用包raster
中的distance()
函数生成栅格其中z值是到z不是“NA”的唯一单元格的距离。R中的光栅化函数的问题
我的代码工作,而不与第一三个对象的问题,但似乎其他两个以下错误:
error in seq.default(zrng[1], zrng[2], length.out = cuts + 2) :
'from' cannot be NA, NaN or infinite
In addition: Warning messages:
1: In asMethod(object) :
complete map seems to be NA's -- no selection was made
2: In min(x) : no non-missing arguments to min; returning Inf
3: In max(x) : no non-missing arguments to max; returning -Inf
我已经双重和三重检查了我的观点是包含在的程度光栅,我真的无法查明问题
这里是我的代码:
library(raster)
TIM <- data.frame()
TIM[1,1] <- -13.8309
TIM[1,2] <- 28.9942
VEN <- data.frame()
VEN[1,1] <- -15.7886
VEN[1,2] <- 27.8444
MCL <- data.frame()
MCL[1,1] <- -13.5325
MCL[1,2] <- 29.2914
coordinates(TIM) <- ~V1+V2
coordinates(VEN) <- ~V1+V2
coordinates(MCL) <- ~V1+V2
bb2 <- matrix(c(-20, -9.5, 20.5, 31.5), nrow = 2, ncol = 2, byrow = T)
bb2 <- extent(bb2)
r <- raster(nrows = 1217, ncols = 1047)
r <- setExtent(r, bb2, keepres=F)
rMCL <- rasterize(MCL, r)
spplot(rMCL)
#so far so good, but from now on it doesn't work
rVEN <- rasterize(VEN, r)
spplot(rVEN)
rTIM <- rasterize(TIM, r)
spplot(rTIM)
编辑:我已经尝试过了转向一个SpatialGridDataF rame和我可以绘制它,但我的观点并不在光栅的范围内,即情节是空的。代码:
rr <- as(rTIM, "SpatialGridDataFrame")
spplot(rr)
#this produces an empty plot
我自己也尝试没有列和行的预定数量的光栅绘制它,和它的作品:
r <- raster()
r <- setExtent(r, bb2, keepres=F)
rTIM <- rasterize(TIM, r)
spplot(rTIM)
# this produces a raster containing my point
的问题是,我真的需要设置分辨率所以栅格的每个像元代表大约1平方公里,这是我以前使用的行数和列数。有任何想法吗?