【发布时间】:2020-11-08 11:53:19
【问题描述】:
我有一个使用 R 包“concaveman”的脚本,但由于 ubuntu 平台上的问题,我需要在上面运行代码,我无法安装这个包(我花了三天时间试图解决它)。所以我正在寻找替代方案。
我有一组随机的点,从 3 到 1000 点不等。我想在最外面的点周围绘制一个凸包/多边形(之后是光栅化)。我一直试图通过将点转换为栅格,然后使用 rastertopolygons 来做到这一点,但在极少数情况下,点会位于同一个栅格单元中,导致只有两个独特的点。 Convaveman 会将它变成一个线性多边形(这是我想要的,不使用 concaveman)。以下是可能有问题的输入数据:
x <- structure(list(x = c(166.867, 166.867, 167.117, 166.8667), y = c(-20.6333,
-20.633, -20.833, -20.6333)), row.names = c(NA, -4L), class = c("tbl_df",
"tbl", "data.frame"))
这是我没有尝试过的(我得到的错误):
SP_pt <- SpatialPoints(x, proj4string=crs("+proj=longlat +ellps=WGS84 `+towgs84=0,0,0,0,0,0,0 +no_defs"))`
gridded(SP_pt) <- T
SP_pt_R <- raster(SP_pt)
SP_poly <- rasterToPolygons(SP_pt_R, dissolve = T)
suggested tolerance minimum: 0.333333
Error in points2grid(points, tolerance, round) :
dimension 1 : coordinate intervals are not constant
【问题讨论】: