5

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にはポリゴンに問題があると思います-これを回避する方法はありますか?

4

1 に答える 1

7

コメントからわかるように、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")
于 2012-12-03T17:22:05.050 に答える