【发布时间】:2021-02-28 00:38:45
【问题描述】:
我有一些 shapefile。其中一些包含不同的县集合,如下所示。对于可视化的数据,我的目标是将 shapefile 拆分为三个单独的文件,其中一个包含左侧的两个县,一个包含上面的单个单元,最后一个包含剩余的单元。
有没有人知道可以帮助执行此操作的命令?
提前谢谢你!
【问题讨论】:
我有一些 shapefile。其中一些包含不同的县集合,如下所示。对于可视化的数据,我的目标是将 shapefile 拆分为三个单独的文件,其中一个包含左侧的两个县,一个包含上面的单个单元,最后一个包含剩余的单元。
有没有人知道可以帮助执行此操作的命令?
提前谢谢你!
【问题讨论】:
这是一个示例,如果您知道哪些县属于哪个组(即不基于多边形特征),您可以如何去做。
library("raster")
library("rgdal")
swe <- getData('GADM', country='SWE', level=1)
group1 <- c("Gotland", "Halland","Kalmar")
swe1 <- swe[swe$NAME_1 %in% group1,]
plot(swe)
plot(swe1, add=TRUE, col="red")
writeOGR(swe1, dsn = "swe1", layer="swe1", "swe1",
driver="ESRI Shapefile", overwrite_layer=T)
其他组以此类推。
对于大型团体而言,键入甚至复制粘贴所有名称当然会很乏味。相反,您可以这样做:
group2 <- c("Orebro", "Blekinge","Dalarna")
swe2 <- swe[swe$NAME_1 %in% group2,]
'%ni%' <- Negate('%in%')
swe3 <- swe[swe$NAME_1 %ni% c(group1,group2),]
【讨论】:
我会尝试使用 dbscan 包,它会按照您想要的方式对县进行聚类。使用低 minPts、1 或 2,并尝试一些 eps 值。然后收集每个集群并转储到单独的形状文件。
【讨论】: