【发布时间】:2021-06-07 22:07:46
【问题描述】:
这看起来应该很简单。我在一个 shapefile 中包含多个多边形,我正在使用 rgeos 的 gCentroid() 函数来创建一堆质心点。该函数有一个 id 参数,如果未指定,它应该返回父几何 ID,但这要么不起作用,要么我看错了地方,或者我误解了参数。
简单示例:
library(terra)
library(rgeos)
library(sp)
v <- vect(system.file("ex/lux.shp", package="terra"))
v <- as(v, "Spatial")
#Clearly there are IDs here (albeit not unique)
v@data[["ID_1"]]
所以当我继续创建质心时
cents <- gCentroid(v, byid = TRUE)
我没有看到任何关联的“ID_1”广告位。问题是我最终将使用这些质心从栅格中获取值,并且需要 ID 来区分值来自哪个多边形。
【问题讨论】:
-
您可能想查看
sf包中的st_centroid。使用此函数将保留父几何体中的原始属性。
标签: r polygon raster sp centroid