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

ztl*_*ztl 4 r r-raster

在R中有一个光栅,我如何在网格周围绘制一条轮廓线(不是连接中心或其他任何东西,真正遵循网格的边界)有一些价值(或通过一些掩模识别)?

以下示例显示如何获取值为0.6的区域周围的轮廓线:如何执行相同但使用网格边框后面的线条?该函数应该返回一个要添加到绘图的对象(作为SpatialLinesDataFramefor rasterToContour),并且相邻的网格应该包含在一个单独的轮廓线中(即,只应绘制多边形的外边界).我找不到解决方案rasterToPolygons(参见此处的视觉方面,但这对我没有帮助).

set.seed(2)
r <- raster(nrow=10, ncol=10)
r[] <- runif(ncell(r))
r[r>0.6] <- 0.6
rc <- rasterToContour(r, levels=c(0.6))
plot(r)
plot(rc, add=TRUE)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Jos*_*ien 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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述