R 벡터 단순화 작업

2024. 8. 17. 13:15R Python GIS

브이월드에서 다운받은 전국 벡터 시군구는 R에서도 지도를 그릴때 끔찍하게 느립니다.

왜냐하면 우리가 전국을 한 눈에 바라볼 때 불필요한 부분까지 정밀하기 때문입니다. 오늘은 이런 정밀한 벡터데이터를 단순화해서 작업 속도를 빠르게 해 보겠습니다.

 

우선 브이월드에서 시군구 shp 파일을 받아 불러옵니다.

library(sf)
library(rmapshaper)
library(tmap)

korea = st_read("G:/내 드라이브/gis/시군구/BND_SIGUNGU_PG.shp")
tm_shape(korea)+tm_polygons()

엄청나게 느린 속도로 지도가 그려집니다.

rmapshaper 패키지의 ms_simplify 함수를 사용하면 비쉬왈링검 알고리즘(Visvalingam and Whatt, 1993)을 사용하여 도형을 단순화힙니다. 0.1%의 꼭짓점만 포함하여 지도를 단순화 해보겠습니다.

korea_s_001 = ms_simplify(korea, keep = 0.001, keep_shapes = TRUE)
tm_shape(korea_s_001)+tm_polygons()

지도가 훨씬 단순해진 것을 볼 수 있습니다.

내친김에 0.01%까지 단순화 시켜보겠습니다.

korea_s_0001 = ms_simplify(korea, keep = 0.0001, keep_shapes = TRUE)
tm_shape(korea_s_0001)+tm_polygons()

 

'R Python GIS' 카테고리의 다른 글

R 회귀분석  (3) 2024.09.05
R 벡터 형상 변환  (0) 2024.08.17
R 벡터 속성 작업  (0) 2024.08.16
R 집단별 요약  (0) 2024.08.13
지오코딩으로 주소를 좌표로 바꾸기 (api 3종 비교)  (0) 2024.08.07