在R中将栅格对象转换为im对象

时间:2014-09-22 17:43:53

标签: r image spatial raster

我正在尝试将栅格对象转换为.im对象,以便与R中的spatstat包中的点过程模型一起使用。我首先使用raster()包从tiff文件创建栅格。没有问题。然后我按照给定的程度裁剪光栅。再说一次,没问题。然后,我指定使用相同范围定义的空间窗口(owin)。仍然没有问题。当我继续使用as.im()将光栅转换为im对象的最后一步时,函数运行并创建新的im对象,但它以某种方式丢失了原始栅格中包含的像素信息。现在每个像素在im对象中具有相同的值。任何帮助或建议将非常感激。非常感谢。 使用的日期文件位于以下链接:https://www.dropbox.com/s/n67djm3n0tfa6sx/MGVF_2001_30_arc_sec.tif?dl=0 R代码如下:

library(raster)
library(spatstat)

# First set the geographic extent we'll be using
e <- extent(-20, 60, -40, 35)

# Then read in the Maximum Green Vegetation Fraction tiff and crop it
mgvf <- raster("MGVF_2001_30_arc_sec.tif")
mgvf.2001.africa <- crop(mgvf, e)

# Now let's create a window for in spatstat
SP.win <- as(e, "SpatialPolygons")
W <- as(SP.win, "owin")

# Finally, we create the .im object
mgvf.img <- as.im(X = "mgvf.2001.africa", W = W)

# Notice, there are no errors thrown. However, compare the plots below and see the loss of information:
plot(mgvf.2001.africa)
plot(mgvf.img)

顺便说一下,我已经尝试了上面所示,并尝试在转换为im之前替换栅格中的NA。结果是一样的。感谢。

0 个答案:

没有答案