2017-03-08 5 views
1

해안 국경을 강조하면서 국가를 그려보고 싶습니다. 나는 다음과 같은 기술을 가지고있다. 거의이 작동한다.국가별로 연안 국경을 그리는 방법

library(rworldmap) 
library(rgeos) 
library(maps) 

data("countriesCoarseLessIslands") 
data("coastsCoarse") 

country <- "Argentina" 

countryOutline <- countriesCoarseLessIslands[countriesCoarseLessIslands$NAME %in% country,] 
maps::map(countryOutline,col="light grey",fill=TRUE,border=0) 
coastalBorder <- gIntersection(coastsCoarse,countryOutline) 
plot(coastalBorder, col="blue",lwd=2,add=TRUE) 

출력 :

내가 개선하고 싶은 두 가지 측면이있다

enter image description here

.

먼저 해안의 불연속면을 제거 할 수 있습니까 (아르헨티나의 이미지 참조). 중첩 여부를 결정할 때 퍼지 (fuzziness)를 허용하는 함수 또는 메소드 (rgeos 또는 어디에서)가 있습니까?

둘째로, 고해상도지도 다각형과 비슷한 것을 어떻게 할 수 있습니까?

답변

0

당신의 접근 방식은 아주 좋은 것입니다, 당신은 더 관대 gIntersection에 대한 setScale을 사용 규모를 줄일 필요가 :

library(rworldmap) 
library(rgeos) 
library(maps) 

data("countriesCoarseLessIslands") 
data("coastsCoarse") 

country <- "Argentina" 

countryOutline <- countriesCoarseLessIslands[countriesCoarseLessIslands$NAME %in% country,] 
maps::map(countryOutline,col="light grey",fill=TRUE,border=0) 

setScale(1e+04) # Change Tolerance to avoid dicontinuities 

coastalBorder <- gIntersection(coastsCoarse,countryOutline) 
plot(coastalBorder, col="blue",lwd=2,add=TRUE) 

enter image description here

+0

감사를 많이. 관용을 위해 척도를 설정할 수있는 능력에 대해서는 언급하지 않았다. – avsmith