2012-12-01 2 views
4

내가 rgdal와 R에로드 모양 파일을 강화하기 위해 노력하고있어 사이가 아닌 nonded 교차로를 찾았지만, 나는 다음과 같은 오류 얻을 :는 선 스트링

"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이 다각형에 몇 가지 문제가 있다고 생각합니다 - 이것에 대한 방법이 있습니까?

+0

이러한 문제는 종종 입력에 잘못된 지오메트리가 있기 때문에 발생합니다. 하지만 내가 너를 도울 때 나는 아무런 문제가 없다. 어쩌면 설치 문제 – agstudy

+1

다른 줄을 넘어선 선이 있고 중간 좌표가 교차하지 않는다는 의미입니다. – mdsumner

+0

gIsValid (rgeos 패키지에서)가 셰이프 파일에 대해 TRUE를 반환합니까? – Rodrigo

답변

6

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") 
관련 문제