如何在 R-raster 中获取网格周围的等高线?
How to get contour lines around the grids in R-raster?
在 R 中有一个栅格,我怎样才能在 周围 网格绘制等高线(不连接中心或其他任何东西,真正遵循网格的边界)有一些值(或由某些掩码标识)?
以下示例显示如何获取值为 0.6 的区域周围的等高线:如何做同样的事情,但线条沿着网格的边界?
该函数应该 return 一个要添加到图中的对象(作为 rasterToContour
的 SpatialLinesDataFrame
),并且相邻的网格应该包含在一条等高线中(即,只有应绘制一个多边形)。我找不到 rasterToPolygons
的解决方案(请参阅 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()
和 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)
在 R 中有一个栅格,我怎样才能在 周围 网格绘制等高线(不连接中心或其他任何东西,真正遵循网格的边界)有一些值(或由某些掩码标识)?
以下示例显示如何获取值为 0.6 的区域周围的等高线:如何做同样的事情,但线条沿着网格的边界?
该函数应该 return 一个要添加到图中的对象(作为 rasterToContour
的 SpatialLinesDataFrame
),并且相邻的网格应该包含在一条等高线中(即,只有应绘制一个多边形)。我找不到 rasterToPolygons
的解决方案(请参阅 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()
和 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)