gpt4 book ai didi

r - 如何在R-raster中获得网格周围的等高线?

转载 作者:行者123 更新时间:2023-12-04 10:30:44 29 4
gpt4 key购买 nike

在 R 中有一个栅格,我如何在网格周围绘制轮廓线(不连接中心或其他任何东西,真正遵循网格的边界)具有某些值(或由某些掩码标识)?

以下示例显示了如何获取值为 0.6 的区域周围的等高线:如何执行相同的操作,但使用遵循网格边界的线?
该函数应返回一个对象以添加到绘图中(作为 SpatialLinesDataFramerasterToContour ),并且相邻的网格应包含在一条等高线中(即,只应绘制多边形的外边界)。我找不到 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)

enter image description here

最佳答案

我会使用 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

关于r - 如何在R-raster中获得网格周围的等高线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28859181/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com