잘못된 다각형 도형에서 발생하는 'TopologyException : Input geom 1 is invalid'자체 교차 오류가 널리 논의되었습니다. 그러나 웹에서만 R 기능에만 의존하는 편리한 솔루션을 찾지 못했습니다.
예를 들어 map("state", ...)
Josh O'Brien의 멋진 답변 을 다음과 같이 출력하여 'SpatialPolygons'객체를 만들었 습니다 .
library(maps)
library(maptools)
map_states = map("state", fill = TRUE, plot = FALSE)
IDs = sapply(strsplit(map_states$names, ":"), "[[", 1)
spydf_states = map2SpatialPolygons(map_states, IDs = IDs, proj4string = CRS("+init=epsg:4326"))
plot(spydf_states)
이 광범위하게 적용되는 데이터 세트의 문제점은 이제 자체 교차점이 아래 주어진 지점에서 발생한다는 것입니다.
rgeos::gIsValid(spydf_states)
[1] FALSE
Warning message:
In RGEOSUnaryPredFunc(spgeom, byid, "rgeos_isvalid") :
Self-intersection at or near point -122.22023214285259 38.060546477866055
불행히도이 문제는 'spydf_states'를 더 이상 사용하지 못하게합니다 (예 :을 호출 할 때) rgeos::gIntersection
. R 내에서이 문제를 어떻게 해결할 수 있습니까?
plot(spydf_states, xlim=c(-122.1,-122.3),ylim=c(38,38.1))
하면 "겉보기"가 없다는 것을 알 수 있습니다. 자체 교차점이 있습니다.