R中有一个栅格,如何绘制等高线around网格(不连接中心或其他任何东西,真正遵循网格的边界)具有某些值(或由某些掩码标识)?
以下示例显示如何获取值 0.6 的区域周围的等高线:如何执行相同操作,但线条遵循网格边界?
该函数应该返回一个对象以添加到绘图中(作为SpatialLinesDataFrame
for rasterToContour
),并且相邻网格应包含在一条轮廓线中(即,仅应绘制多边形的外部边界)。我找不到解决方案rasterToPolygons
(see here对于视觉方面,但这对我没有帮助)。
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)
我会结合使用clump()
and 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)