我有一系列 shapefile(不是我创建的)我想合并在一起。我用 R 中的
terra
包打开它们作为 SpatVectors 列表。但是,当我尝试合并它们时,出现以下错误消息:
Error: [vect] all SpatVectors must have the same geometry type
我发现(通过运行
geomtype()
)我的一个 SpatVectors 具有几何类型 "null"
,而其他的是 "polygons"
。如何在没有一个的情况下将相同的几何类型(“多边形”)分配给 SpatVector?
我试过以下方法,但都没有用:
null_geometry_type_SpatVector <-
vect("null_geometry_type_SpatVector.shp", type="polygons")
geomtype(null_geometry_type_SpatVector) <-
geomtype(polygons_geometry_type_SpatVector)
在哪里
polygons_geometry_type_SpatVector
指的是我拥有正确几何类型的SpatVector。
geomtype(null_geometry_type_SpatVector) <- "polygons"
我认为您可以使用 '
删除 NULL 几何体x <- na.omit(x, geom=TRUE)
或与
i <- emptyGeoms(x)
x <- x[!i]