您好,我需要 R 中的世界地图,并使用几行代码将其安装在我的 Windows 10 机器 R 版本 2.15.2 (2012-10-26) 上。 rgeos 版本:0.3-4,(SVN 修订版 438) GEOS 运行时版本:3.4.2-CAPI-1.8.2 r3921 但是,在我们最近安装了 R(版本 3.3.2)、rgeos 版本:0.3-21、(SVN 修订版 540)的 unix 服务器上,相同的代码未运行,GEOS 运行时版本:3.4.2 -CAPI-1.8.2 r3921
执行命令 gUnionCascaded(sPDF) 在具有 rgeos 包差异版本的 unix 机器上给出错误 TopologyFunc(groupID(spgeom[ids[[i]]], id[ids[[i]]]), names(ids)[i], 错误: IllegalArgumentException: LinearRing 的点不形成闭合线串。
#sample code:
library(rgeos)
library(rworldmap)
sPDF <- getMap()
poly_globe <- gUnionCascaded(sPDF)
plot(poly_globe)
最佳答案
最终,这似乎可以追溯到 rworldmap 提供的数据集的问题。这些问题似乎可以通过快速应用 cleangeo 包中的 clgeo_Clean()
来解决。
试试看是不是这样:
library(rgeos)
library(rworldmap)
library(cleangeo)
sPDF <- getMap()
sPDF <- clgeo_Clean(sPDF)
poly_globe <- gUnionCascaded(sPDF)
plot(poly_globe)
关于r - 使用 rgeos 库合并国家多边形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41404079/