如何在R-raster中获得网格周围的轮廓线?

时间:2015-03-04 16:05:44

标签: r r-raster

在R中有一个光栅,我怎么能在周围绘制一个等高线(不加入中心或其他任何东西,真正遵循网格的边界)具有一定的价值(或由一些面具)?

以下示例显示如何获取值为0.6的区域周围的轮廓线:如何执行相同的操作但是网格边框后面的线条? 该函数应该返回一个要添加到绘图的对象(作为SpatialLinesDataFrame的{​​{1}}),并且相邻的网格应该包含在一个单独的轮廓线中(即,只有多边形的外边界应该是画)。我无法找到rasterToContour的解决方案(请参阅here了解视觉方面,但这对我没有帮助。)

rasterToPolygons

enter image description here

1 个答案:

答案 0 :(得分:8)

我会使用clump()rasterToPolygons()的组合:

library(raster)
library(rgeos)  ## For dissolve = TRUE in rasterToPolygons()

## Recreate your data
set.seed(2)
r <- raster(nrow = 10, ncol = 10)
r[] <- runif(ncell(r))   
plot(r)

## Compute and then plot polygons surrounding cells with values greater than 0.6
SP <- rasterToPolygons(clump(r > 0.6), dissolve = TRUE)
plot(SP, add = TRUE)

enter image description here