R:在多边形上使用栅格化时出错

时间:2014-09-23 11:55:21

标签: r raster

有人知道为什么rasterize在多边形上使用时会返回以下错误:

Error in rv[[ii]] : subscript out of bounds 

使用其他常见的R函数(例如mean)也会产生相同的错误,但rasterize选项(例如'last')可以正常工作。我以前在先前版本的raster上遇到过这个问题(目前使用的是raster_2.3-0)。我附上了我从?rasterize中的示例中获取的代码:

library(raster)

p1 <- rbind(c(-180,-20), c(-140,55), c(10, 0), c(-140,-60), c(-180,-20))
hole <- rbind(c(-150,-20), c(-100,-10), c(-110,20), c(-150,-20))
p1 <- Polygons(list(Polygon(p1), Polygon(hole, hole=TRUE)), 1)
p2 <- Polygons(list(Polygon(rbind(c(-10,0), c(140,60), c(160,0), c(140,-55), c(-10,0)))), 2)
p3 <- Polygons(list(Polygon(rbind(c(-125,0), c(0,60), c(40,5), c(15,-45), c(-125,0)))), 3)
pols <- SpatialPolygons( list( p1 , p2, p3) )

r <- raster(ncol=90, nrow=45)
r <- rasterize(pols, r, fun='sum') # works
r <- rasterize(pols, r, fun=sum) # returns error: "Error in rv[[ii]] : subscript out of bounds"

1 个答案:

答案 0 :(得分:1)

软件包维护者Robert Hijmans解决了这个问题;目前你可以从R-forge安装更新的软件包(install.packages(&#34; raster&#34;,repos =&#34; http://R-Forge.R-project.org" ))和更新版本应该在下周CRAN上。为了记录,我昨天只是通过电子邮件向Hijmans发送电子邮件,他对此问题非常敏感。