使用時,光柵化錯誤有誰知道爲什麼rasterize
會回來的多邊形使用時,出現以下錯誤:R:對多邊形
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"
你在你的環境中有一個''sum'',其中'rasterize'正在嘗試(當然,失敗)視爲閉包,或者沒有這樣的對象,所以'fun'參數返回'NULL'這無疑會玷污事情。對象名稱和字符串之間有區別。 – 2014-09-23 12:01:53
我從來沒有使用對象名稱的總和,平均值,分鐘等,所以不幸的是,這不是問題... – 2014-09-23 12:04:53
不,這仍然是問題 - 在你的環境中根本沒有什麼叫做「總和」,所以如我所說,你基本上寫了'rasterize(pols,r,fun = NULL)' – 2014-09-23 12:07:56