r - 以下错误: TopologyException: found non-nonded intersection between LINESTRING 是什么意思

标签 r ggplot2 rgdal

我正在尝试强化使用 rgdal 加载到 R 中的形状文件,但出现以下错误:

"Error: TopologyException: found non-noded intersection between LINESTRING 
        (34.7279 1.59723, 34.7278 1.59729) and LINESTRING 
         (34.7278 1.59723, 34.7278 1.59729) at 34.727793021883102 1.5972887049072426"

我正在使用来自maplibrary.org 的非洲大陆形状文件。它可以从我的保管箱中获取:https://www.dropbox.com/s/etqdw3nky52czv4/Africa%20map.zip

我正在使用以下代码:

library(rgdal)
library(ggplot2)

africa = readOGR("Africa_SHP",    layer = "Africa")
africa.map = fortify(africa, region="COUNTRY")

我收到了之前提到的错误。我认为 R 在多边形方面存在一些问题 - 有没有办法解决这个问题?

最佳答案

正如您从评论中看到的,mdsumner 和 agstudy 能够回答为什么会发生这种情况,尽管 agstudy 无法使用可用的数据集重新创建它。我确实找到了解决此问题的方法。

library(rgdal)
library(rgeos)
library(ggplot2)
#LOADING IN DATA
africa = readOGR("directory", layer="filename")
#FIXING THE NON-NODED INTERSECTS#
africa = gBuffer(africa, width=0, byid=TRUE)
africa.map = fortify(africa, region="ID")

关于r - 以下错误: TopologyException: found non-nonded intersection between LINESTRING 是什么意思,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13662448/

相关文章:

r - ggplot2:将 p 值添加到分组箱线图

r - 在 [R] 中绘制类(预测)的时间序列列表

r - 无法在 Red hat linux 上安装 rgdal 和 rgeos R 库

r - 对列表进行子集化(为所有组件选择匹配值)

r - 使用 R 从数据框中提取唯一值

r - R中的堆积柱状图

r - 在 fviz_cluster 中调整输出

r - 在 shapefile 后面绘制栅格

r raster 读取 zip 文件中的 .vrt

r - emmeans 包和交互包之间的简单斜率估计不同?