【发布时间】:2014-07-08 23:21:10
【问题描述】:
有时,当使用 sp 和 rgeos 包在 R 中使用 SpatialPolygons 时,我在子集和分解这些多边形时会遇到问题。 此示例显示了我遇到的问题类型,尽管我也遇到过其他数据集。
require(maptools)
require(rgeos)
data(wrld_simpl)
countries <- c("Argentina","Bolivia","Brazil","Chile","Colombia","Ecuador","Guyana","Paraguay","Peru","Suriname","Uruguay","Venezuela")
SAmerica <- subset(wrld_simpl,wrld_simpl@data$NAME == countries[1])
for (i in 2:length(countries)) {
x <- subset(wrld_simpl, wrld_simpl@data$NAME == countries[i])
SAmerica <- gUnion(SAmerica, x)
}
plot(SAmerica)
gIsValid(SAmerica)
shoreline <- gUnaryUnion(SAmerica)
plot(shoreline)
多边形相互接壤的区域有可见的线段,这个联合的多边形在 rgeos 包中是无效的。
我很好奇 (1) 为什么会发生这种情况?以及 (2) 解决此类问题的最佳方法是什么。在这里,我绝对可以为国家矢量文件找到更好的数据,但有时我可能会使用更多独特的数据。我该如何清理它?
【问题讨论】:
-
这是一个很差的数据,有拓扑错误,很多不匹配,是数据质量问题造成的。您可以使用拓扑工具在 GIS 中检查它