如何使用 R 中的 terra 包将几何类型“多边形”分配给具有“空”几何类型的 SpatVector?

问题描述 投票:0回答:1

我有一系列 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"
r gis spatial terra
1个回答
0
投票

我认为您可以使用 '

删除 NULL 几何体
x <- na.omit(x, geom=TRUE)

或与

i <- emptyGeoms(x)
x <- x[!i]
© www.soinside.com 2019 - 2024. All rights reserved.