Map Data

통계지리정보서비스 에서 신청하고 다운로드 승인난 shape 파일을 mapshaper 에서 간략히 한 후 작업에 착수한다. 승인 후 다운로드 기간이 1주일에 불과하므로 승인 즉시 받아놓는 것을 잊지 않도록.

mapshaper 작업과정에서 유의할 점은 .zip 채로 옮겨야 .prj 등의 정보를 그대로 활용할 수 있다는 것이다. 그러지 않고 .shp파일만 끌어다 놓고 작업하면 추후에 .prj 파일을 원본 shape 파일에서 복사해서 사용해야 한다.

Simplified Versions (from mapshaper)

시도

library(maptools) #> `readShapePoly()`, `rgdal::readOGR()`로 대체
library(GISTools) #> `choropleth`
library(ggmap) #> `geocode()`, `ggmap()`, `qmap()`, `revgeocode()`
library(ggplot2) #> `ggplot()`
library(rgdal) #> `CRS`, `ogrInfo()`, `ogrListLayers()`, `readOGR()`, `spTransform()`
library(dplyr) #> `arrange()`, `filter()`, `group_by()`, `left_join()`, `mutate()`,  
library(broom) #> `tidy()`
library(extrafont) #> "HCR Dotum LVT"
options(width = 132)

Simplified Shape files

ogrInfo(dsn = "../data/BND_SIDO_PG",  #> `ogrInfo()`
        layer = "BND_SIDO_PG")
## Source: "../data/BND_SIDO_PG", layer: "BND_SIDO_PG"
## Driver: ESRI Shapefile; number of rows: 17 
## Feature type: wkbPolygon with 2 dimensions
## Extent: (746117.8 1464008) - (1302164 2068438)
## CRS: +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs  
## LDID: 78 
## Number of fields: 6 
##         name type length typeName
## 1   OBJECTID    0      9  Integer
## 2  BASE_YEAR    4      4   String
## 3    SIDO_CD    4      2   String
## 4    SIDO_NM    4     50   String
## 5 SHAPE_LENG    2     19     Real
## 6 SHAPE_AREA    2     19     Real
shp1 <- readOGR(dsn = "../data/BND_SIDO_PG", 
                layer = "BND_SIDO_PG",
                stringsAsFactors = FALSE)
## OGR data source with driver: ESRI Shapefile 
## Source: "../data/BND_SIDO_PG", layer: "BND_SIDO_PG"
## with 17 features
## It has 6 fields
#                 encoding = "CP949")
shp1@data #> data file 이 빈약한 것 확인.
##    OBJECTID BASE_YEAR SIDO_CD        SIDO_NM SHAPE_LENG  SHAPE_AREA
## 0         1      2015      11     서울특별시   180613.1   606430426
## 1         2      2015      21     부산광역시   373988.6   793540061
## 2         3      2015      22     대구광역시   211834.4   879775266
## 3         4      2015      23     인천광역시  1054310.7  1167435302
## 4         5      2015      24     광주광역시   135811.9   498134459
## 5         6      2015      25     대전광역시   153540.4   539199225
## 6         7      2015      26     울산광역시   245577.1  1069415828
## 7         8      2015      29 세종특별자치시   144684.7   465430058
## 8         9      2015      33       충청북도   779948.1  7409073778
## 9        10      2015      34       충청남도  1497991.2  8323924705
## 10       11      2015      35       전라북도  1097452.3  8035471571
## 11       12      2015      36       전라남도  6213827.0 12657093637
## 12       13      2015      37       경상북도  1248393.5 19040801161
## 13       14      2015      38       경상남도  2516640.1 10616566548
## 14       15      2015      39 제주특별자치도   433156.2  1888752859
## 15       16      2015      31         경기도  1191386.1 10401806219
## 16       17      2015      32         강원도   942910.5 16933074307
data.frame(shp1)
##    OBJECTID BASE_YEAR SIDO_CD        SIDO_NM SHAPE_LENG  SHAPE_AREA
## 0         1      2015      11     서울특별시   180613.1   606430426
## 1         2      2015      21     부산광역시   373988.6   793540061
## 2         3      2015      22     대구광역시   211834.4   879775266
## 3         4      2015      23     인천광역시  1054310.7  1167435302
## 4         5      2015      24     광주광역시   135811.9   498134459
## 5         6      2015      25     대전광역시   153540.4   539199225
## 6         7      2015      26     울산광역시   245577.1  1069415828
## 7         8      2015      29 세종특별자치시   144684.7   465430058
## 8         9      2015      33       충청북도   779948.1  7409073778
## 9        10      2015      34       충청남도  1497991.2  8323924705
## 10       11      2015      35       전라북도  1097452.3  8035471571
## 11       12      2015      36       전라남도  6213827.0 12657093637
## 12       13      2015      37       경상북도  1248393.5 19040801161
## 13       14      2015      38       경상남도  2516640.1 10616566548
## 14       15      2015      39 제주특별자치도   433156.2  1888752859
## 15       16      2015      31         경기도  1191386.1 10401806219
## 16       17      2015      32         강원도   942910.5 16933074307
class(shp1)
## [1] "SpatialPolygonsDataFrame"
## attr(,"package")
## [1] "sp"
shp1$SIDO_NM2 <- c("서울", "부산", "대구", "인천", "광주", "대전", "율산", "세종", "충북", "충남", "전북", "전남", "경북", "경남", "제주", "경기", "강원") 
summary(shp1) #> 요약
## Object of class SpatialPolygonsDataFrame
## Coordinates:
##         min     max
## x  746117.8 1302164
## y 1464007.7 2068438
## Is projected: TRUE 
## proj4string :
## [+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs]
## Data attributes:
##     OBJECTID   BASE_YEAR           SIDO_CD            SIDO_NM            SHAPE_LENG        SHAPE_AREA          SIDO_NM2        
##  Min.   : 1   Length:17          Length:17          Length:17          Min.   : 135812   Min.   :4.654e+08   Length:17         
##  1st Qu.: 5   Class :character   Class :character   Class :character   1st Qu.: 211834   1st Qu.:7.935e+08   Class :character  
##  Median : 9   Mode  :character   Mode  :character   Mode  :character   Median : 779948   Median :1.889e+09   Mode  :character  
##  Mean   : 9                                                            Mean   :1083651   Mean   :5.960e+09                     
##  3rd Qu.:13                                                            3rd Qu.:1191386   3rd Qu.:1.040e+10                     
##  Max.   :17                                                            Max.   :6213827   Max.   :1.904e+10
shp1@data
##    OBJECTID BASE_YEAR SIDO_CD        SIDO_NM SHAPE_LENG  SHAPE_AREA SIDO_NM2
## 0         1      2015      11     서울특별시   180613.1   606430426     서울
## 1         2      2015      21     부산광역시   373988.6   793540061     부산
## 2         3      2015      22     대구광역시   211834.4   879775266     대구
## 3         4      2015      23     인천광역시  1054310.7  1167435302     인천
## 4         5      2015      24     광주광역시   135811.9   498134459     광주
## 5         6      2015      25     대전광역시   153540.4   539199225     대전
## 6         7      2015      26     울산광역시   245577.1  1069415828     율산
## 7         8      2015      29 세종특별자치시   144684.7   465430058     세종
## 8         9      2015      33       충청북도   779948.1  7409073778     충북
## 9        10      2015      34       충청남도  1497991.2  8323924705     충남
## 10       11      2015      35       전라북도  1097452.3  8035471571     전북
## 11       12      2015      36       전라남도  6213827.0 12657093637     전남
## 12       13      2015      37       경상북도  1248393.5 19040801161     경북
## 13       14      2015      38       경상남도  2516640.1 10616566548     경남
## 14       15      2015      39 제주특별자치도   433156.2  1888752859     제주
## 15       16      2015      31         경기도  1191386.1 10401806219     경기
## 16       17      2015      32         강원도   942910.5 16933074307     강원
coordinates(shp1)
##         [,1]    [,2]
## 0   955147.8 1950404
## 1  1141893.3 1690421
## 2  1096225.7 1759768
## 3   927092.2 1943711
## 4   939520.4 1684688
## 5   990475.6 1815819
## 6  1157601.9 1729970
## 7   978439.9 1840377
## 8  1029521.4 1860032
## 9   942432.4 1837111
## 10  968132.7 1746569
## 11  950352.7 1660784
## 12 1111374.6 1816905
## 13 1068870.3 1708016
## 14  912019.1 1488544
## 15  971323.2 1949690
## 16 1070371.2 1970287

Simple Plots

opar <- par() #> 기본 설정을 저장한다.
par("mar") #> 플롯 마진의 기본 설정 확인
## [1] 5.1 4.1 4.1 2.1
par(mar = c(0, 0, 0, 0)) #> 여백의 빈 공간을 줄이기 위하여 설정. 없을 때와 비교
plot(shp1) #

AREA.shades <- auto.shading(shp1$SHAPE_AREA, cols = brewer.pal(5, "Greens"))
choropleth(shp1, shp1$SHAPE_AREA, shading = AREA.shades)
choro.legend(1110000, 1600000, AREA.shades)

par <- opar

Data Frame

proj4string(shp1) #> .shp 파일을 mapshaper.org 에서 간략히 하면 .prj 는 생성되지 않음. 
## [1] "+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs"
                      #> 원시 layer에 제공되어 있는 .prj 파일을 옮겨와야 함.
# projInfo(type = "proj")
# projInfo(type = "datum")
# projInfo(type = "ellps")
# CRS("+init=epsg:4326")
# EPSG <- make_EPSG()
coordinates(shp1) #> 좌표 확인. 변환 필요한 좌표계.
##         [,1]    [,2]
## 0   955147.8 1950404
## 1  1141893.3 1690421
## 2  1096225.7 1759768
## 3   927092.2 1943711
## 4   939520.4 1684688
## 5   990475.6 1815819
## 6  1157601.9 1729970
## 7   978439.9 1840377
## 8  1029521.4 1860032
## 9   942432.4 1837111
## 10  968132.7 1746569
## 11  950352.7 1660784
## 12 1111374.6 1816905
## 13 1068870.3 1708016
## 14  912019.1 1488544
## 15  971323.2 1949690
## 16 1070371.2 1970287
shp1_84 <- shp1 %>% 
  spTransform(CRS("+init=epsg:4326")) #> 통상의 WGS84 좌표계로 변환
coordinates(shp1_84) #> 통상의 좌표계로 변환된 것을 확인함.
##        [,1]     [,2]
## 0  126.9922 37.55190
## 1  129.0589 35.19912
## 2  128.5655 35.82975
## 3  126.6753 37.48983
## 4  126.8360 35.15561
## 5  127.3939 36.33975
## 6  129.2388 35.55324
## 7  127.2590 36.56098
## 8  127.8316 36.73877
## 9  126.8560 36.53051
## 10 127.1480 35.71498
## 11 126.9566 34.94085
## 12 128.7412 36.34418
## 13 128.2578 35.36537
## 14 126.5543 33.38484
## 15 127.1750 37.54729
## 16 128.2961 37.73040
# names(shp_simp84@data) <- c("id", "base_year", "code", "name_kor", "length", "area", "AB_name") #> 변수명 바꿈.
str(shp1_84@data) #> 변수명 등 확인.
## 'data.frame':    17 obs. of  7 variables:
##  $ OBJECTID  : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ BASE_YEAR : chr  "2015" "2015" "2015" "2015" ...
##  $ SIDO_CD   : chr  "11" "21" "22" "23" ...
##  $ SIDO_NM   : chr  "서울특별시" "부산광역시" "대구광역시" "인천광역시" ...
##  $ SHAPE_LENG: num  180613 373989 211834 1054311 135812 ...
##  $ SHAPE_AREA: num  6.06e+08 7.94e+08 8.80e+08 1.17e+09 4.98e+08 ...
##  $ SIDO_NM2  : chr  "서울" "부산" "대구" "인천" ...
# shp_simp84$id <- as.character(shp_simp84$id)
# geocode(shp_simp$name_eng) 
# map_simp <- tidy(shp_simp84) #> `tidy` 데이터로 변환
# str(map_simp) #> 데이터 구조 확인
shp1_84$id <- rownames(shp1_84@data) #> `id` 변수 생성. `left_join()`에 반드시 필요함. `tidy()`의 결과로 나오는 데이터 프레임에는 `@data`의 `code`, `region`의 정보가 누락됨.
shp1_84@data #> 데이터 슬롯 확인
##    OBJECTID BASE_YEAR SIDO_CD        SIDO_NM SHAPE_LENG  SHAPE_AREA SIDO_NM2 id
## 0         1      2015      11     서울특별시   180613.1   606430426     서울  0
## 1         2      2015      21     부산광역시   373988.6   793540061     부산  1
## 2         3      2015      22     대구광역시   211834.4   879775266     대구  2
## 3         4      2015      23     인천광역시  1054310.7  1167435302     인천  3
## 4         5      2015      24     광주광역시   135811.9   498134459     광주  4
## 5         6      2015      25     대전광역시   153540.4   539199225     대전  5
## 6         7      2015      26     울산광역시   245577.1  1069415828     율산  6
## 7         8      2015      29 세종특별자치시   144684.7   465430058     세종  7
## 8         9      2015      33       충청북도   779948.1  7409073778     충북  8
## 9        10      2015      34       충청남도  1497991.2  8323924705     충남  9
## 10       11      2015      35       전라북도  1097452.3  8035471571     전북 10
## 11       12      2015      36       전라남도  6213827.0 12657093637     전남 11
## 12       13      2015      37       경상북도  1248393.5 19040801161     경북 12
## 13       14      2015      38       경상남도  2516640.1 10616566548     경남 13
## 14       15      2015      39 제주특별자치도   433156.2  1888752859     제주 14
## 15       16      2015      31         경기도  1191386.1 10401806219     경기 15
## 16       17      2015      32         강원도   942910.5 16933074307     강원 16
map1_coords <- coordinates(shp1_84) #> `geom_text()`에 필요한 좌표 복사
colnames(map1_coords) <- c("long", "lat") #> 좌표계 이름 명칭.
map1_coords # 좌표 확인
##        long      lat
## 0  126.9922 37.55190
## 1  129.0589 35.19912
## 2  128.5655 35.82975
## 3  126.6753 37.48983
## 4  126.8360 35.15561
## 5  127.3939 36.33975
## 6  129.2388 35.55324
## 7  127.2590 36.56098
## 8  127.8316 36.73877
## 9  126.8560 36.53051
## 10 127.1480 35.71498
## 11 126.9566 34.94085
## 12 128.7412 36.34418
## 13 128.2578 35.36537
## 14 126.5543 33.38484
## 15 127.1750 37.54729
## 16 128.2961 37.73040
map1_data <- cbind(map1_coords, shp1_84@data) # shp_simp84@data 에 좌표 추가
shp1_84$SIDO_NM
##  [1] "서울특별시"     "부산광역시"     "대구광역시"     "인천광역시"     "광주광역시"     "대전광역시"     "울산광역시"    
##  [8] "세종특별자치시" "충청북도"       "충청남도"       "전라북도"       "전라남도"       "경상북도"       "경상남도"      
## [15] "제주특별자치도" "경기도"         "강원도"
shp1_84$SIDO_NM2
##  [1] "서울" "부산" "대구" "인천" "광주" "대전" "율산" "세종" "충북" "충남" "전북" "전남" "경북" "경남" "제주" "경기" "강원"
shp1_84$SIDO_NM_f <- factor(shp1_84$SIDO_NM,
                                levels = shp1_84$SIDO_NM, 
                                labels = shp1_84$SIDO_NM2)
shp1_84$region <- shp1_84$SIDO_CD
shp1_84_df <- tidy(shp1_84)
## Regions defined for each Polygons
str(shp1_84_df)
## 'data.frame':    8371 obs. of  7 variables:
##  $ long : num  127 127 127 127 127 ...
##  $ lat  : num  37.6 37.6 37.6 37.6 37.6 ...
##  $ order: int  1 2 3 4 5 6 7 8 9 10 ...
##  $ hole : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ piece: Factor w/ 123 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ group: Factor w/ 222 levels "0.1","1.1","1.2",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ id   : chr  "0" "0" "0" "0" ...
str(shp1_84@data)
## 'data.frame':    17 obs. of  10 variables:
##  $ OBJECTID  : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ BASE_YEAR : chr  "2015" "2015" "2015" "2015" ...
##  $ SIDO_CD   : chr  "11" "21" "22" "23" ...
##  $ SIDO_NM   : chr  "서울특별시" "부산광역시" "대구광역시" "인천광역시" ...
##  $ SHAPE_LENG: num  180613 373989 211834 1054311 135812 ...
##  $ SHAPE_AREA: num  6.06e+08 7.94e+08 8.80e+08 1.17e+09 4.98e+08 ...
##  $ SIDO_NM2  : chr  "서울" "부산" "대구" "인천" ...
##  $ id        : chr  "0" "1" "2" "3" ...
##  $ SIDO_NM_f : Factor w/ 17 levels "서울","부산",..: 1 2 3 4 5 6 7 8 9 10 ...
##  $ region    : chr  "11" "21" "22" "23" ...
map1_df <- left_join(shp1_84_df, 
                     shp1_84@data, 
                     by = c("id" = "id"))
str(map1_df)
## 'data.frame':    8371 obs. of  16 variables:
##  $ long      : num  127 127 127 127 127 ...
##  $ lat       : num  37.6 37.6 37.6 37.6 37.6 ...
##  $ order     : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ hole      : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ piece     : Factor w/ 123 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ group     : Factor w/ 222 levels "0.1","1.1","1.2",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ id        : chr  "0" "0" "0" "0" ...
##  $ OBJECTID  : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ BASE_YEAR : chr  "2015" "2015" "2015" "2015" ...
##  $ SIDO_CD   : chr  "11" "11" "11" "11" ...
##  $ SIDO_NM   : chr  "서울특별시" "서울특별시" "서울특별시" "서울특별시" ...
##  $ SHAPE_LENG: num  180613 180613 180613 180613 180613 ...
##  $ SHAPE_AREA: num  6.06e+08 6.06e+08 6.06e+08 6.06e+08 6.06e+08 ...
##  $ SIDO_NM2  : chr  "서울" "서울" "서울" "서울" ...
##  $ SIDO_NM_f : Factor w/ 17 levels "서울","부산",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ region    : chr  "11" "11" "11" "11" ...
Dokdo_coord <- geocode("Dokdo")
## Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=Dokdo&sensor=false
Ulleung_coord <- geocode("Ulleungdo")
## Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=Ulleungdo&sensor=false

시군구

Simplified Shape files

ogrInfo(dsn = "../data/BND_SIGUNGU_PG",  #> `ogrInfo()`
        layer = "BND_SIGUNGU_PG")
## Source: "../data/BND_SIGUNGU_PG", layer: "BND_SIGUNGU_PG"
## Driver: ESRI Shapefile; number of rows: 252 
## Feature type: wkbPolygon with 2 dimensions
## Extent: (746117.8 1464008) - (1302164 2068438)
## CRS: +proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs  
## LDID: 78 
## Number of fields: 6 
##         name type length typeName
## 1   OBJECTID    0      9  Integer
## 2  BASE_YEAR    4      4   String
## 3 SIGUNGU_CD    4      5   String
## 4 SIGUNGU_NM    4     50   String
## 5 SHAPE_LENG    2     19     Real
## 6 SHAPE_AREA    2     19     Real
shp2 <- readOGR(dsn = "../data/BND_SIGUNGU_PG", 
                layer = "BND_SIGUNGU_PG",
                stringsAsFactors = FALSE)
## OGR data source with driver: ESRI Shapefile 
## Source: "../data/BND_SIGUNGU_PG", layer: "BND_SIGUNGU_PG"
## with 252 features
## It has 6 fields
#                 encoding = "CP949")
class(shp2)
## [1] "SpatialPolygonsDataFrame"
## attr(,"package")
## [1] "sp"
summary(shp2) #> 요약
## Object of class SpatialPolygonsDataFrame
## Coordinates:
##         min     max
## x  746117.8 1302164
## y 1464007.7 2068438
## Is projected: TRUE 
## proj4string :
## [+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs]
## Data attributes:
##     OBJECTID       BASE_YEAR          SIGUNGU_CD         SIGUNGU_NM          SHAPE_LENG        SHAPE_AREA       
##  Min.   :  1.00   Length:252         Length:252         Length:252         Min.   :  12393   Min.   :3.195e+06  
##  1st Qu.: 63.75   Class :character   Class :character   Class :character   1st Qu.:  42258   1st Qu.:4.755e+07  
##  Median :126.50   Mode  :character   Mode  :character   Mode  :character   Median : 132536   Median :3.981e+08  
##  Mean   :126.50                                                            Mean   : 143097   Mean   :4.021e+08  
##  3rd Qu.:189.25                                                            3rd Qu.: 183524   3rd Qu.:6.645e+08  
##  Max.   :252.00                                                            Max.   :1519223   Max.   :1.815e+09
shp2@data #> data file에서 면적과 둘레 확인.
##     OBJECTID BASE_YEAR SIGUNGU_CD       SIGUNGU_NM SHAPE_LENG SHAPE_AREA
## 0          1      2015      11010           종로구   28517.28   23876840
## 1          2      2015      11020             중구   18756.19   10042696
## 2          3      2015      11030           용산구   21291.49   21190958
## 3          4      2015      11040           성동구   18946.85   16543127
## 4          5      2015      11050           광진구   18175.67   17637267
## 5          6      2015      11060         동대문구   18740.24   14499677
## 6          7      2015      11070           중랑구   19387.16   17930186
## 7          8      2015      11080           성북구   32157.58   24323352
## 8          9      2015      11090           강북구   26043.82   23699745
## 9         10      2015      11100           도봉구   23709.49   20726962
## 10        11      2015      11110           노원구   31699.96   35417463
## 11        12      2015      11120           은평구   33858.88   31273677
## 12        13      2015      11130         서대문구   22368.34   17439426
## 13        14      2015      11140           마포구   27925.33   24600107
## 14        15      2015      11150           양천구   27626.60   17850203
## 15        16      2015      11160           강서구   40098.08   42863269
## 16        17      2015      11170           구로구   31103.07   19847197
## 17        18      2015      11180           금천구   20380.61   12557020
## 18        19      2015      11190         영등포구   23107.91   21572051
## 19        20      2015      11200           동작구   24913.27   17392989
## 20        21      2015      11210           관악구   27136.86   29834935
## 21        22      2015      11220           서초구   44617.35   47852315
## 22        23      2015      11230           강남구   32988.36   38407713
## 23        24      2015      11240           송파구   30887.14   33584622
## 24        25      2015      11250           강동구   23549.76   25466630
## 25        26      2015      21010             중구   12706.27    3194750
## 26        27      2015      21020             서구   31255.87   14106823
## 27        28      2015      21030             동구   17347.89    9866591
## 28        29      2015      21040           영도구   30788.09   14698081
## 29        30      2015      21050         부산진구   28485.74   29471189
## 30        31      2015      21060           동래구   22427.75   16936001
## 31        32      2015      21070             남구   33357.59   27509860
## 32        33      2015      21080             북구   33788.56   40219559
## 33        34      2015      21090         해운대구   44225.83   52284131
## 34        35      2015      21100           사하구   61561.63   46801522
## 35        36      2015      21110           금정구   40951.22   64978779
## 36        37      2015      21120           강서구  155300.15  193194370
## 37        38      2015      21130           연제구   21653.55   12134219
## 38        39      2015      21140           수영구   23857.38   10600414
## 39        40      2015      21150           사상구   29198.40   36654384
## 40        41      2015      21310           기장군   96285.27  220889389
## 41        42      2015      22010             중구   12393.21    7037639
## 42        43      2015      22020             동구   68146.61  181859442
## 43        44      2015      22030             서구   19465.35   17192844
## 44        45      2015      22040             남구   18798.52   17492335
## 45        46      2015      22050             북구   50520.55   93390058
## 46        47      2015      22060           수성구   42973.27   76339231
## 47        48      2015      22070           달서구   43678.24   64013705
## 48        49      2015      22310           달성군  178967.05  422450011
## 49        50      2015      23010             중구  149391.41  152958536
## 50        51      2015      23020             동구   22237.19    7357166
## 51        52      2015      23030             남구   25165.50   24616800
## 52        53      2015      23040           연수구   51216.03   78728237
## 53        54      2015      23050           남동구   43856.72   57828764
## 54        55      2015      23060           부평구   35506.11   31991494
## 55        56      2015      23070           계양구   43024.65   45407475
## 56        57      2015      23080             서구   74476.54  134871329
## 57        58      2015      23310           강화군  270617.54  427786467
## 58        59      2015      23320           옹진군  517390.73  205889034
## 59        60      2015      24010             동구   35102.96   48268060
## 60        61      2015      24020             서구   39292.79   47715151
## 61        62      2015      24030             남구   53998.81   60375740
## 62        63      2015      24040             북구   69670.28  120315690
## 63        64      2015      24050           광산구   89460.29  221459817
## 64        65      2015      25010             동구   92435.11  136273759
## 65        66      2015      25020             중구   46956.91   61725972
## 66        67      2015      25030             서구   62246.63   95913363
## 67        68      2015      25040           유성구   77958.39  175511510
## 68        69      2015      25050           대덕구   52967.26   69774622
## 69        70      2015      26010             중구   29975.55   36443254
## 70        71      2015      26020             남구   53495.28   75807402
## 71        72      2015      26030             동구   51275.72   38270959
## 72        73      2015      26040             북구   74377.90  158945428
## 73        74      2015      26310           울주군  188350.15  759948786
## 74        75      2015      29010           세종시  144684.71  465430058
## 75        76      2015      31011     수원시장안구   28145.64   33179199
## 76        77      2015      31012     수원시권선구   37863.48   47036538
## 77        78      2015      31013     수원시팔달구   23359.27   12922974
## 78        79      2015      31014     수원시영통구   39321.04   27679927
## 79        80      2015      31021     성남시수정구   40286.73   45479130
## 80        81      2015      31022     성남시중원구   26288.88   26241348
## 81        82      2015      31023     성남시분당구   42694.14   69833898
## 82        83      2015      31030         의정부시   45878.20   81748127
## 83        84      2015      31041     안양시만안구   35926.31   36889124
## 84        85      2015      31042     안양시동안구   25510.98   22146198
## 85        86      2015      31051     부천시원미구   24571.18   20547547
## 86        87      2015      31052     부천시소사구   24189.22   13039542
## 87        88      2015      31053     부천시오정구   25473.42   20159364
## 88        89      2015      31060           광명시   36374.59   38950970
## 89        90      2015      31070           평택시  146285.59  459432061
## 90        91      2015      31080         동두천시   47358.36   95751724
## 91        92      2015      31091     안산시상록구   52227.66   59408241
## 92        93      2015      31092     안산시단원구  159199.35  104104876
## 93        94      2015      31101     고양시덕양구   95566.25  162463454
## 94        95      2015      31103   고양시일산동구   45322.95   60101681
## 95        96      2015      31104   고양시일산서구   32505.47   43373940
## 96        97      2015      31110           과천시   29663.90   35359913
## 97        98      2015      31120           구리시   32580.22   32288178
## 98        99      2015      31130         남양주시  107732.25  457701436
## 99       100      2015      31140           오산시   36830.19   42439188
## 100      101      2015      31150           시흥시   74380.94  143267852
## 101      102      2015      31160           군포시   31152.19   35939268
## 102      103      2015      31170           의왕시   43972.60   54010449
## 103      104      2015      31180           하남시   56085.13   94131214
## 104      105      2015      31191     용인시처인구  152594.62  467967441
## 105      106      2015      31192     용인시기흥구   50015.44   81579358
## 106      107      2015      31193     용인시수지구   40287.15   42228562
## 107      108      2015      31210           이천시  141114.59  461050735
## 108      109      2015      31220           안성시  161090.83  554144475
## 109      110      2015      31230           김포시  112827.31  280495809
## 110      111      2015      31240           화성시  316722.80  699919952
## 111      112      2015      31250           광주시  129299.82  428413935
## 112      113      2015      31260           양주시  107123.86  310180550
## 113      114      2015      31270           포천시  197115.94  826263005
## 114      115      2015      31280           여주시  151513.88  607148259
## 115      116      2015      31370           가평군  180739.35  840309168
## 116      117      2015      31380           양평군  193757.75  878720800
## 117      118      2015      32010           춘천시  238638.86 1114489637
## 118      119      2015      32020           원주시  199224.13  873158654
## 119      120      2015      32030           강릉시  213583.56 1043056914
## 120      121      2015      32040           동해시   90668.53  181857558
## 121      122      2015      32050           태백시  117807.64  302924484
## 122      123      2015      32060           속초시   63045.79  107012506
## 123      124      2015      32070           삼척시  246198.46 1189142486
## 124      125      2015      32310           홍천군  339445.69 1815412037
## 125      126      2015      32320           횡성군  214002.11  993656827
## 126      127      2015      32330           영월군  290759.46 1120989920
## 127      128      2015      32340           평창군  254130.49 1464063502
## 128      129      2015      32350           정선군  223103.60 1217327443
## 129      130      2015      32390           인제군  254805.64 1636742263
## 130      131      2015      32410           양양군  140416.27  634651777
## 131      132      2015      33020           충주시  211126.47  982092436
## 132      133      2015      33030           제천시  223260.99  880654231
## 133      134      2015      33041     청주시상당구  138454.84  402849141
## 134      135      2015      33042     청주시서원구   77256.90  123229816
## 135      136      2015      33043     청주시흥덕구   71755.92  197365807
## 136      137      2015      33044     청주시청원구   88156.59  215355172
## 137      138      2015      33320           보은군  147029.53  583647825
## 138      139      2015      33330           옥천군  145821.84  541310997
## 139      140      2015      33340           영동군  177677.62  852482799
## 140      141      2015      33350           진천군  121483.27  407227538
## 141      142      2015      33360           괴산군  200223.51  840704089
## 142      143      2015      33370           음성군  159411.98  520252345
## 143      144      2015      33380           단양군  169910.62  780103044
## 144      145      2015      33390           증평군   64959.83   81798537
## 145      146      2015      34011     천안시동남구  161212.52  437460610
## 146      147      2015      34012     천안시서북구   89583.14  197675198
## 147      148      2015      34020           공주시  190998.57  863079494
## 148      149      2015      34030           보령시  288190.78  608963640
## 149      150      2015      34040           아산시  118081.39  542102378
## 150      151      2015      34050           서산시  236954.22  731049995
## 151      152      2015      34060           논산시  141601.57  551835428
## 152      153      2015      34070           계룡시   45011.33   60348690
## 153      154      2015      34080           당진시  182698.21  708450677
## 154      155      2015      34310           금산군  149937.13  577165875
## 155      156      2015      34330           부여군  162524.90  624849896
## 156      157      2015      34340           서천군  158172.29  371777289
## 157      158      2015      34350           청양군  131234.74  480257517
## 158      159      2015      34360           홍성군  140357.87  452847951
## 159      160      2015      34370           예산군  160782.60  541455077
## 160      161      2015      34380           태안군  445327.26  574604988
## 161      162      2015      35011     전주시완산구   64074.14   94324949
## 162      163      2015      35012     전주시덕진구   69773.44  110812194
## 163      164      2015      35020           군산시  309293.14  397249937
## 164      165      2015      35030           익산시  118794.35  508576421
## 165      166      2015      35040           정읍시  169224.58  695596228
## 166      167      2015      35050           남원시  182869.50  749120993
## 167      168      2015      35060           김제시  133906.56  510250561
## 168      169      2015      35310           완주군  256858.99  821353296
## 169      170      2015      35320           진안군  162108.31  789564037
## 170      171      2015      35330           무주군  150344.49  629495294
## 171      172      2015      35340           장수군  148015.44  530899113
## 172      173      2015      35350           임실군  161666.93  598315705
## 173      174      2015      35360           순창군  172674.08  498722376
## 174      175      2015      35370           고창군  172288.63  613860589
## 175      176      2015      35380           부안군  228963.29  487329877
## 176      177      2015      36010           목포시   87311.41   55849604
## 177      178      2015      36020           여수시  889157.83  538163499
## 178      179      2015      36030           순천시  195147.68  911316181
## 179      180      2015      36040           나주시  187540.76  607611044
## 180      181      2015      36060           광양시  158212.72  469074974
## 181      182      2015      36310           담양군  149754.80  451610301
## 182      183      2015      36320           곡성군  132245.15  547275256
## 183      184      2015      36330           구례군   96848.59  439292956
## 184      185      2015      36350           고흥군  702076.66  821737331
## 185      186      2015      36360           보성군  223844.04  666409428
## 186      187      2015      36370           화순군  172608.20  787302631
## 187      188      2015      36380           장흥군  216330.92  622908205
## 188      189      2015      36390           강진군  193266.76  501755646
## 189      190      2015      36400           해남군  470921.75 1003494622
## 190      191      2015      36410           영암군  206092.58  591204566
## 191      192      2015      36420           무안군  284948.50  463969269
## 192      193      2015      36430           함평군  128761.47  391046490
## 193      194      2015      36440           영광군  282808.60  496580290
## 194      195      2015      36450           장성군  144155.84  518161428
## 195      196      2015      36460           완도군  823340.38  452411589
## 196      197      2015      36470           진도군  590394.28  466250709
## 197      198      2015      36480           신안군 1519222.96  853667617
## 198      199      2015      37011       포항시남구  177473.19  399044997
## 199      200      2015      37012       포항시북구  183967.09  737131375
## 200      201      2015      37020           경주시  245670.12 1324006841
## 201      202      2015      37030           김천시  206578.21 1004708898
## 202      203      2015      37040           안동시  267123.09 1526933449
## 203      204      2015      37050           구미시  164516.00  615090958
## 204      205      2015      37060           영주시  173354.17  673488026
## 205      206      2015      37070           영천시  177341.72  915045690
## 206      207      2015      37080           상주시  241946.71 1250228002
## 207      208      2015      37090           문경시  221422.82  913918066
## 208      209      2015      37100           경산시  132827.28  411231984
## 209      210      2015      37310           군위군  183376.30  611221426
## 210      211      2015      37320           의성군  235120.40 1168115930
## 211      212      2015      37330           청송군  194617.21  846901052
## 212      213      2015      37340           영양군  167849.49  820662604
## 213      214      2015      37350           영덕군  170193.43  747086328
## 214      215      2015      37360           청도군  187935.79  690452757
## 215      216      2015      37370           고령군  148421.87  384085742
## 216      217      2015      37380           성주군  144936.38  614369355
## 217      218      2015      37390           칠곡군  146952.42  451457342
## 218      219      2015      37400           예천군  170394.78  663859954
## 219      220      2015      37410           봉화군  229954.24 1201441146
## 220      221      2015      37420           울진군  225509.86  994216867
## 221      222      2015      37430           울릉군   66745.53   76102370
## 222      223      2015      38030           진주시  168720.08  712355616
## 223      224      2015      38050           통영시  663952.75  263039542
## 224      225      2015      38060           사천시  259317.39  406467642
## 225      226      2015      38070           김해시  110683.52  461289733
## 226      227      2015      38080           밀양시  164060.83  801683232
## 227      228      2015      38090           거제시  411163.62  424295578
## 228      229      2015      38100           양산시  115414.24  485133543
## 229      230      2015      38111     창원시의창구   87700.60  211102121
## 230      231      2015      38112     창원시성산구   58086.01   82607781
## 231      232      2015      38113 창원시마산합포구  197116.53  252314599
## 232      233      2015      38114 창원시마산회원구   54125.63   91248454
## 233      234      2015      38115     창원시진해구  145726.93  126862594
## 234      235      2015      38310           의령군  143154.21  482145899
## 235      236      2015      38320           함안군  121484.54  415672747
## 236      237      2015      38330           창녕군  135475.82  527297052
## 237      238      2015      38340           고성군  259388.87  524797999
## 238      239      2015      38350           남해군  299784.23  373318376
## 239      240      2015      38360           하동군  208683.11  679558991
## 240      241      2015      38370           산청군  162991.18  791031299
## 241      242      2015      38380           함양군  164372.17  720662239
## 242      243      2015      38390           거창군  181583.98  800692773
## 243      244      2015      38400           합천군  203283.76  982988735
## 244      245      2015      39010           제주시  333563.56 1001310241
## 245      246      2015      39020         서귀포시  272531.04  887442618
## 246      247      2015      32400           고성군  153885.65  693779163
## 247      248      2015      31200           파주시  167417.66  685815273
## 248      249      2015      32360           철원군  214894.11  932097282
## 249      250      2015      31350           연천군  216127.17  861941537
## 250      251      2015      32380           양구군  146622.02  708415955
## 251      252      2015      32370           화천군  171727.65  904295898
# data.frame(shp2)
shp2@data[order(shp2$SIGUNGU_CD), ]
##     OBJECTID BASE_YEAR SIGUNGU_CD       SIGUNGU_NM SHAPE_LENG SHAPE_AREA
## 0          1      2015      11010           종로구   28517.28   23876840
## 1          2      2015      11020             중구   18756.19   10042696
## 2          3      2015      11030           용산구   21291.49   21190958
## 3          4      2015      11040           성동구   18946.85   16543127
## 4          5      2015      11050           광진구   18175.67   17637267
## 5          6      2015      11060         동대문구   18740.24   14499677
## 6          7      2015      11070           중랑구   19387.16   17930186
## 7          8      2015      11080           성북구   32157.58   24323352
## 8          9      2015      11090           강북구   26043.82   23699745
## 9         10      2015      11100           도봉구   23709.49   20726962
## 10        11      2015      11110           노원구   31699.96   35417463
## 11        12      2015      11120           은평구   33858.88   31273677
## 12        13      2015      11130         서대문구   22368.34   17439426
## 13        14      2015      11140           마포구   27925.33   24600107
## 14        15      2015      11150           양천구   27626.60   17850203
## 15        16      2015      11160           강서구   40098.08   42863269
## 16        17      2015      11170           구로구   31103.07   19847197
## 17        18      2015      11180           금천구   20380.61   12557020
## 18        19      2015      11190         영등포구   23107.91   21572051
## 19        20      2015      11200           동작구   24913.27   17392989
## 20        21      2015      11210           관악구   27136.86   29834935
## 21        22      2015      11220           서초구   44617.35   47852315
## 22        23      2015      11230           강남구   32988.36   38407713
## 23        24      2015      11240           송파구   30887.14   33584622
## 24        25      2015      11250           강동구   23549.76   25466630
## 25        26      2015      21010             중구   12706.27    3194750
## 26        27      2015      21020             서구   31255.87   14106823
## 27        28      2015      21030             동구   17347.89    9866591
## 28        29      2015      21040           영도구   30788.09   14698081
## 29        30      2015      21050         부산진구   28485.74   29471189
## 30        31      2015      21060           동래구   22427.75   16936001
## 31        32      2015      21070             남구   33357.59   27509860
## 32        33      2015      21080             북구   33788.56   40219559
## 33        34      2015      21090         해운대구   44225.83   52284131
## 34        35      2015      21100           사하구   61561.63   46801522
## 35        36      2015      21110           금정구   40951.22   64978779
## 36        37      2015      21120           강서구  155300.15  193194370
## 37        38      2015      21130           연제구   21653.55   12134219
## 38        39      2015      21140           수영구   23857.38   10600414
## 39        40      2015      21150           사상구   29198.40   36654384
## 40        41      2015      21310           기장군   96285.27  220889389
## 41        42      2015      22010             중구   12393.21    7037639
## 42        43      2015      22020             동구   68146.61  181859442
## 43        44      2015      22030             서구   19465.35   17192844
## 44        45      2015      22040             남구   18798.52   17492335
## 45        46      2015      22050             북구   50520.55   93390058
## 46        47      2015      22060           수성구   42973.27   76339231
## 47        48      2015      22070           달서구   43678.24   64013705
## 48        49      2015      22310           달성군  178967.05  422450011
## 49        50      2015      23010             중구  149391.41  152958536
## 50        51      2015      23020             동구   22237.19    7357166
## 51        52      2015      23030             남구   25165.50   24616800
## 52        53      2015      23040           연수구   51216.03   78728237
## 53        54      2015      23050           남동구   43856.72   57828764
## 54        55      2015      23060           부평구   35506.11   31991494
## 55        56      2015      23070           계양구   43024.65   45407475
## 56        57      2015      23080             서구   74476.54  134871329
## 57        58      2015      23310           강화군  270617.54  427786467
## 58        59      2015      23320           옹진군  517390.73  205889034
## 59        60      2015      24010             동구   35102.96   48268060
## 60        61      2015      24020             서구   39292.79   47715151
## 61        62      2015      24030             남구   53998.81   60375740
## 62        63      2015      24040             북구   69670.28  120315690
## 63        64      2015      24050           광산구   89460.29  221459817
## 64        65      2015      25010             동구   92435.11  136273759
## 65        66      2015      25020             중구   46956.91   61725972
## 66        67      2015      25030             서구   62246.63   95913363
## 67        68      2015      25040           유성구   77958.39  175511510
## 68        69      2015      25050           대덕구   52967.26   69774622
## 69        70      2015      26010             중구   29975.55   36443254
## 70        71      2015      26020             남구   53495.28   75807402
## 71        72      2015      26030             동구   51275.72   38270959
## 72        73      2015      26040             북구   74377.90  158945428
## 73        74      2015      26310           울주군  188350.15  759948786
## 74        75      2015      29010           세종시  144684.71  465430058
## 75        76      2015      31011     수원시장안구   28145.64   33179199
## 76        77      2015      31012     수원시권선구   37863.48   47036538
## 77        78      2015      31013     수원시팔달구   23359.27   12922974
## 78        79      2015      31014     수원시영통구   39321.04   27679927
## 79        80      2015      31021     성남시수정구   40286.73   45479130
## 80        81      2015      31022     성남시중원구   26288.88   26241348
## 81        82      2015      31023     성남시분당구   42694.14   69833898
## 82        83      2015      31030         의정부시   45878.20   81748127
## 83        84      2015      31041     안양시만안구   35926.31   36889124
## 84        85      2015      31042     안양시동안구   25510.98   22146198
## 85        86      2015      31051     부천시원미구   24571.18   20547547
## 86        87      2015      31052     부천시소사구   24189.22   13039542
## 87        88      2015      31053     부천시오정구   25473.42   20159364
## 88        89      2015      31060           광명시   36374.59   38950970
## 89        90      2015      31070           평택시  146285.59  459432061
## 90        91      2015      31080         동두천시   47358.36   95751724
## 91        92      2015      31091     안산시상록구   52227.66   59408241
## 92        93      2015      31092     안산시단원구  159199.35  104104876
## 93        94      2015      31101     고양시덕양구   95566.25  162463454
## 94        95      2015      31103   고양시일산동구   45322.95   60101681
## 95        96      2015      31104   고양시일산서구   32505.47   43373940
## 96        97      2015      31110           과천시   29663.90   35359913
## 97        98      2015      31120           구리시   32580.22   32288178
## 98        99      2015      31130         남양주시  107732.25  457701436
## 99       100      2015      31140           오산시   36830.19   42439188
## 100      101      2015      31150           시흥시   74380.94  143267852
## 101      102      2015      31160           군포시   31152.19   35939268
## 102      103      2015      31170           의왕시   43972.60   54010449
## 103      104      2015      31180           하남시   56085.13   94131214
## 104      105      2015      31191     용인시처인구  152594.62  467967441
## 105      106      2015      31192     용인시기흥구   50015.44   81579358
## 106      107      2015      31193     용인시수지구   40287.15   42228562
## 247      248      2015      31200           파주시  167417.66  685815273
## 107      108      2015      31210           이천시  141114.59  461050735
## 108      109      2015      31220           안성시  161090.83  554144475
## 109      110      2015      31230           김포시  112827.31  280495809
## 110      111      2015      31240           화성시  316722.80  699919952
## 111      112      2015      31250           광주시  129299.82  428413935
## 112      113      2015      31260           양주시  107123.86  310180550
## 113      114      2015      31270           포천시  197115.94  826263005
## 114      115      2015      31280           여주시  151513.88  607148259
## 249      250      2015      31350           연천군  216127.17  861941537
## 115      116      2015      31370           가평군  180739.35  840309168
## 116      117      2015      31380           양평군  193757.75  878720800
## 117      118      2015      32010           춘천시  238638.86 1114489637
## 118      119      2015      32020           원주시  199224.13  873158654
## 119      120      2015      32030           강릉시  213583.56 1043056914
## 120      121      2015      32040           동해시   90668.53  181857558
## 121      122      2015      32050           태백시  117807.64  302924484
## 122      123      2015      32060           속초시   63045.79  107012506
## 123      124      2015      32070           삼척시  246198.46 1189142486
## 124      125      2015      32310           홍천군  339445.69 1815412037
## 125      126      2015      32320           횡성군  214002.11  993656827
## 126      127      2015      32330           영월군  290759.46 1120989920
## 127      128      2015      32340           평창군  254130.49 1464063502
## 128      129      2015      32350           정선군  223103.60 1217327443
## 248      249      2015      32360           철원군  214894.11  932097282
## 251      252      2015      32370           화천군  171727.65  904295898
## 250      251      2015      32380           양구군  146622.02  708415955
## 129      130      2015      32390           인제군  254805.64 1636742263
## 246      247      2015      32400           고성군  153885.65  693779163
## 130      131      2015      32410           양양군  140416.27  634651777
## 131      132      2015      33020           충주시  211126.47  982092436
## 132      133      2015      33030           제천시  223260.99  880654231
## 133      134      2015      33041     청주시상당구  138454.84  402849141
## 134      135      2015      33042     청주시서원구   77256.90  123229816
## 135      136      2015      33043     청주시흥덕구   71755.92  197365807
## 136      137      2015      33044     청주시청원구   88156.59  215355172
## 137      138      2015      33320           보은군  147029.53  583647825
## 138      139      2015      33330           옥천군  145821.84  541310997
## 139      140      2015      33340           영동군  177677.62  852482799
## 140      141      2015      33350           진천군  121483.27  407227538
## 141      142      2015      33360           괴산군  200223.51  840704089
## 142      143      2015      33370           음성군  159411.98  520252345
## 143      144      2015      33380           단양군  169910.62  780103044
## 144      145      2015      33390           증평군   64959.83   81798537
## 145      146      2015      34011     천안시동남구  161212.52  437460610
## 146      147      2015      34012     천안시서북구   89583.14  197675198
## 147      148      2015      34020           공주시  190998.57  863079494
## 148      149      2015      34030           보령시  288190.78  608963640
## 149      150      2015      34040           아산시  118081.39  542102378
## 150      151      2015      34050           서산시  236954.22  731049995
## 151      152      2015      34060           논산시  141601.57  551835428
## 152      153      2015      34070           계룡시   45011.33   60348690
## 153      154      2015      34080           당진시  182698.21  708450677
## 154      155      2015      34310           금산군  149937.13  577165875
## 155      156      2015      34330           부여군  162524.90  624849896
## 156      157      2015      34340           서천군  158172.29  371777289
## 157      158      2015      34350           청양군  131234.74  480257517
## 158      159      2015      34360           홍성군  140357.87  452847951
## 159      160      2015      34370           예산군  160782.60  541455077
## 160      161      2015      34380           태안군  445327.26  574604988
## 161      162      2015      35011     전주시완산구   64074.14   94324949
## 162      163      2015      35012     전주시덕진구   69773.44  110812194
## 163      164      2015      35020           군산시  309293.14  397249937
## 164      165      2015      35030           익산시  118794.35  508576421
## 165      166      2015      35040           정읍시  169224.58  695596228
## 166      167      2015      35050           남원시  182869.50  749120993
## 167      168      2015      35060           김제시  133906.56  510250561
## 168      169      2015      35310           완주군  256858.99  821353296
## 169      170      2015      35320           진안군  162108.31  789564037
## 170      171      2015      35330           무주군  150344.49  629495294
## 171      172      2015      35340           장수군  148015.44  530899113
## 172      173      2015      35350           임실군  161666.93  598315705
## 173      174      2015      35360           순창군  172674.08  498722376
## 174      175      2015      35370           고창군  172288.63  613860589
## 175      176      2015      35380           부안군  228963.29  487329877
## 176      177      2015      36010           목포시   87311.41   55849604
## 177      178      2015      36020           여수시  889157.83  538163499
## 178      179      2015      36030           순천시  195147.68  911316181
## 179      180      2015      36040           나주시  187540.76  607611044
## 180      181      2015      36060           광양시  158212.72  469074974
## 181      182      2015      36310           담양군  149754.80  451610301
## 182      183      2015      36320           곡성군  132245.15  547275256
## 183      184      2015      36330           구례군   96848.59  439292956
## 184      185      2015      36350           고흥군  702076.66  821737331
## 185      186      2015      36360           보성군  223844.04  666409428
## 186      187      2015      36370           화순군  172608.20  787302631
## 187      188      2015      36380           장흥군  216330.92  622908205
## 188      189      2015      36390           강진군  193266.76  501755646
## 189      190      2015      36400           해남군  470921.75 1003494622
## 190      191      2015      36410           영암군  206092.58  591204566
## 191      192      2015      36420           무안군  284948.50  463969269
## 192      193      2015      36430           함평군  128761.47  391046490
## 193      194      2015      36440           영광군  282808.60  496580290
## 194      195      2015      36450           장성군  144155.84  518161428
## 195      196      2015      36460           완도군  823340.38  452411589
## 196      197      2015      36470           진도군  590394.28  466250709
## 197      198      2015      36480           신안군 1519222.96  853667617
## 198      199      2015      37011       포항시남구  177473.19  399044997
## 199      200      2015      37012       포항시북구  183967.09  737131375
## 200      201      2015      37020           경주시  245670.12 1324006841
## 201      202      2015      37030           김천시  206578.21 1004708898
## 202      203      2015      37040           안동시  267123.09 1526933449
## 203      204      2015      37050           구미시  164516.00  615090958
## 204      205      2015      37060           영주시  173354.17  673488026
## 205      206      2015      37070           영천시  177341.72  915045690
## 206      207      2015      37080           상주시  241946.71 1250228002
## 207      208      2015      37090           문경시  221422.82  913918066
## 208      209      2015      37100           경산시  132827.28  411231984
## 209      210      2015      37310           군위군  183376.30  611221426
## 210      211      2015      37320           의성군  235120.40 1168115930
## 211      212      2015      37330           청송군  194617.21  846901052
## 212      213      2015      37340           영양군  167849.49  820662604
## 213      214      2015      37350           영덕군  170193.43  747086328
## 214      215      2015      37360           청도군  187935.79  690452757
## 215      216      2015      37370           고령군  148421.87  384085742
## 216      217      2015      37380           성주군  144936.38  614369355
## 217      218      2015      37390           칠곡군  146952.42  451457342
## 218      219      2015      37400           예천군  170394.78  663859954
## 219      220      2015      37410           봉화군  229954.24 1201441146
## 220      221      2015      37420           울진군  225509.86  994216867
## 221      222      2015      37430           울릉군   66745.53   76102370
## 222      223      2015      38030           진주시  168720.08  712355616
## 223      224      2015      38050           통영시  663952.75  263039542
## 224      225      2015      38060           사천시  259317.39  406467642
## 225      226      2015      38070           김해시  110683.52  461289733
## 226      227      2015      38080           밀양시  164060.83  801683232
## 227      228      2015      38090           거제시  411163.62  424295578
## 228      229      2015      38100           양산시  115414.24  485133543
## 229      230      2015      38111     창원시의창구   87700.60  211102121
## 230      231      2015      38112     창원시성산구   58086.01   82607781
## 231      232      2015      38113 창원시마산합포구  197116.53  252314599
## 232      233      2015      38114 창원시마산회원구   54125.63   91248454
## 233      234      2015      38115     창원시진해구  145726.93  126862594
## 234      235      2015      38310           의령군  143154.21  482145899
## 235      236      2015      38320           함안군  121484.54  415672747
## 236      237      2015      38330           창녕군  135475.82  527297052
## 237      238      2015      38340           고성군  259388.87  524797999
## 238      239      2015      38350           남해군  299784.23  373318376
## 239      240      2015      38360           하동군  208683.11  679558991
## 240      241      2015      38370           산청군  162991.18  791031299
## 241      242      2015      38380           함양군  164372.17  720662239
## 242      243      2015      38390           거창군  181583.98  800692773
## 243      244      2015      38400           합천군  203283.76  982988735
## 244      245      2015      39010           제주시  333563.56 1001310241
## 245      246      2015      39020         서귀포시  272531.04  887442618
# shp2@data <- shp2@data[order(shp2$SIGUNGU_CD), ]
# shp2@data

Simple Plots

opar <- par() #> 기본 설정을 저장한다.
par("mar") #> 플롯 마진의 기본 설정 확인
## [1] 5.1 4.1 4.1 2.1
par(mar = c(0, 0, 0, 0)) #> 여백의 빈 공간을 줄이기 위하여 설정. 없을 때와 비교
plot(shp2)

AREA2.shades <- auto.shading(shp2$SHAPE_AREA, cols = brewer.pal(5, "Blues"))
choropleth(shp2, shp2$SHAPE_AREA, shading = AREA2.shades)
choro.legend(1110000, 1600000, AREA2.shades)

par <- opar

Data Frame

proj4string(shp2) #> .shp 파일을 mapshaper.org 에서 간략히 하면 .prj 는 생성되지 않음. 
## [1] "+proj=tmerc +lat_0=38 +lon_0=127.5 +k=0.9996 +x_0=1000000 +y_0=2000000 +ellps=GRS80 +units=m +no_defs"
                      #> 원시 layer에 제공되어 있는 .prj 파일을 옮겨와야 함.
head(coordinates(shp2)) #> 좌표 확인. 변환 필요한 좌표계.
##       [,1]    [,2]
## 0 953870.7 1955107
## 1 955463.1 1951210
## 2 954060.0 1948216
## 3 959481.7 1950317
## 4 963426.2 1949755
## 5 960664.3 1953680
shp2_84 <- shp2 %>% 
  spTransform(CRS("+init=epsg:4326")) #> 통상의 WGS84 좌표계로 변환
head(coordinates(shp2_84)) #> 통상의 좌표계로 변환된 것을 확인함.
##       [,1]     [,2]
## 0 126.9775 37.59422
## 1 126.9957 37.55916
## 2 126.9800 37.53212
## 3 127.0413 37.55130
## 4 127.0860 37.54641
## 5 127.0545 37.58167
# names(shp_simp84@data) <- c("id", "base_year", "code", "name_kor", "length", "area", "AB_name") #> 변수명 바꿈.
str(shp2_84@data) #> 변수명 등 확인.
## 'data.frame':    252 obs. of  6 variables:
##  $ OBJECTID  : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ BASE_YEAR : chr  "2015" "2015" "2015" "2015" ...
##  $ SIGUNGU_CD: chr  "11010" "11020" "11030" "11040" ...
##  $ SIGUNGU_NM: chr  "종로구" "중구" "용산구" "성동구" ...
##  $ SHAPE_LENG: num  28517 18756 21291 18947 18176 ...
##  $ SHAPE_AREA: num  23876840 10042696 21190958 16543127 17637267 ...
# shp_simp84$id <- as.character(shp_simp84$id)
# geocode(shp_simp$name_eng) 
# map_simp <- tidy(shp_simp84) #> `tidy` 데이터로 변환
# str(map_simp) #> 데이터 구조 확인
shp2_84$id <- rownames(shp2_84@data) #> `id` 변수 생성. `left_join()`에 반드시 필요함. `tidy()`의 결과로 나오는 데이터 프레임에는 `@data`의 `code`, `region`의 정보가 누락됨.
shp2_84$region <- shp2_84$SIGUNGU_CD
head(shp2_84@data)
##   OBJECTID BASE_YEAR SIGUNGU_CD SIGUNGU_NM SHAPE_LENG SHAPE_AREA id region
## 0        1      2015      11010     종로구   28517.28   23876840  0  11010
## 1        2      2015      11020       중구   18756.19   10042696  1  11020
## 2        3      2015      11030     용산구   21291.49   21190958  2  11030
## 3        4      2015      11040     성동구   18946.85   16543127  3  11040
## 4        5      2015      11050     광진구   18175.67   17637267  4  11050
## 5        6      2015      11060   동대문구   18740.24   14499677  5  11060
tail(shp2_84@data)  #> 데이터 슬롯 확인
##     OBJECTID BASE_YEAR SIGUNGU_CD SIGUNGU_NM SHAPE_LENG SHAPE_AREA  id region
## 246      247      2015      32400     고성군   153885.7  693779163 246  32400
## 247      248      2015      31200     파주시   167417.7  685815273 247  31200
## 248      249      2015      32360     철원군   214894.1  932097282 248  32360
## 249      250      2015      31350     연천군   216127.2  861941537 249  31350
## 250      251      2015      32380     양구군   146622.0  708415955 250  32380
## 251      252      2015      32370     화천군   171727.6  904295898 251  32370
map2_coords <- coordinates(shp2_84) #> `geom_text()`에 필요한 좌표 복사
colnames(map2_coords) <- c("long", "lat") #> 좌표계 이름 명칭.
head(map2_coords) # 좌표 확인
##       long      lat
## 0 126.9775 37.59422
## 1 126.9957 37.55916
## 2 126.9800 37.53212
## 3 127.0413 37.55130
## 4 127.0860 37.54641
## 5 127.0545 37.58167
map2_data <- cbind(map2_coords, shp2_84@data) # shp_simp84@data 에 좌표 추가
head(map2_data)
##       long      lat OBJECTID BASE_YEAR SIGUNGU_CD SIGUNGU_NM SHAPE_LENG SHAPE_AREA id region
## 0 126.9775 37.59422        1      2015      11010     종로구   28517.28   23876840  0  11010
## 1 126.9957 37.55916        2      2015      11020       중구   18756.19   10042696  1  11020
## 2 126.9800 37.53212        3      2015      11030     용산구   21291.49   21190958  2  11030
## 3 127.0413 37.55130        4      2015      11040     성동구   18946.85   16543127  3  11040
## 4 127.0860 37.54641        5      2015      11050     광진구   18175.67   17637267  4  11050
## 5 127.0545 37.58167        6      2015      11060   동대문구   18740.24   14499677  5  11060
shp2_84_df <- tidy(shp2_84)
## Regions defined for each Polygons
str(shp2_84_df)
## 'data.frame':    17002 obs. of  7 variables:
##  $ long : num  127 127 127 127 127 ...
##  $ lat  : num  37.6 37.6 37.6 37.6 37.6 ...
##  $ order: int  1 2 3 4 5 6 7 8 9 10 ...
##  $ hole : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ piece: Factor w/ 40 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ group: Factor w/ 422 levels "0.1","1.1","2.1",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ id   : chr  "0" "0" "0" "0" ...
str(shp2_84@data)
## 'data.frame':    252 obs. of  8 variables:
##  $ OBJECTID  : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ BASE_YEAR : chr  "2015" "2015" "2015" "2015" ...
##  $ SIGUNGU_CD: chr  "11010" "11020" "11030" "11040" ...
##  $ SIGUNGU_NM: chr  "종로구" "중구" "용산구" "성동구" ...
##  $ SHAPE_LENG: num  28517 18756 21291 18947 18176 ...
##  $ SHAPE_AREA: num  23876840 10042696 21190958 16543127 17637267 ...
##  $ id        : chr  "0" "1" "2" "3" ...
##  $ region    : chr  "11010" "11020" "11030" "11040" ...
map2_df <- left_join(shp2_84_df, shp2_84@data, by = c("id" = "id"))
str(map2_df)
## 'data.frame':    17002 obs. of  14 variables:
##  $ long      : num  127 127 127 127 127 ...
##  $ lat       : num  37.6 37.6 37.6 37.6 37.6 ...
##  $ order     : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ hole      : logi  FALSE FALSE FALSE FALSE FALSE FALSE ...
##  $ piece     : Factor w/ 40 levels "1","2","3","4",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ group     : Factor w/ 422 levels "0.1","1.1","2.1",..: 1 1 1 1 1 1 1 1 1 1 ...
##  $ id        : chr  "0" "0" "0" "0" ...
##  $ OBJECTID  : int  1 1 1 1 1 1 1 1 1 1 ...
##  $ BASE_YEAR : chr  "2015" "2015" "2015" "2015" ...
##  $ SIGUNGU_CD: chr  "11010" "11010" "11010" "11010" ...
##  $ SIGUNGU_NM: chr  "종로구" "종로구" "종로구" "종로구" ...
##  $ SHAPE_LENG: num  28517 28517 28517 28517 28517 ...
##  $ SHAPE_AREA: num  23876840 23876840 23876840 23876840 23876840 ...
##  $ region    : chr  "11010" "11010" "11010" "11010" ...

시군구 면적 삽입

library(tmap)
qtm(shp2_84, 
    fill = "SHAPE_AREA", 
    fill.title = "면적") +
  tm_layout(fontfamily = "HCR Dotum LVT")

qtm(shp2_84, 
    fill = "SHAPE_LENG", 
    fill.title = "둘레") +
  tm_layout(fontfamily = "HCR Dotum LVT")

g0 <- ggplot(data = map2_df,  
       mapping = aes(x = long,
                     y = lat,
                     group = group)) +
  geom_polygon(fill = "white",
               colour = "black") +
  coord_map() 
g1 <- g0 + geom_text(data = map2_data, 
            mapping = aes(x = long, 
                          y = lat,
                          label = SIGUNGU_NM),
            inherit.aes = FALSE,
            family = "HCR Dotum LVT",
            size = 4,
            colour = "blue") 
g2 <- g1 + theme(axis.title.x = element_text(family = "HCR Dotum LVT"),
        axis.title.y = element_text(family = "HCR Dotum LVT"),
        text = element_text(family = "HCR Dotum LVT")) 
g3 <- g2 + labs(x = "경도", 
       y = "위도") 
g4 <- g3 + annotate("text", 
           x = Dokdo_coord$lon, 
           y = Dokdo_coord$lat, 
           label = "독도",
           family = "HCR Dotum LVT",
           colour = "red")
g4 + annotate("text", 
           x = Ulleung_coord$lon, 
           y = Ulleung_coord$lat + 0.2, 
           label = "울릉도",
           family = "HCR Dotum LVT",
           colour = "black")

#> data frame으로 변환하여 그리는 전형적인 과정
ggplot(data = shp2_84_df,  
       mapping = aes(x = long,
                     y = lat,
                     group = group)) +
  geom_polygon(fill = "white",
               colour = "black") +
  coord_map() +
  geom_text(data = map2_data, 
            mapping = aes(x = long, 
                          y = lat,
                          label = SIGUNGU_NM),
            inherit.aes = FALSE,
            family = "HCR Dotum LVT",
            size = 4,
            colour = "blue") +
  theme(axis.title.x = element_text(family = "HCR Dotum LVT"),
        axis.title.y = element_text(family = "HCR Dotum LVT"),
        text = element_text(family = "HCR Dotum LVT")) +
  labs(x = "경도", 
       y = "위도") +
  annotate("text", 
           x = Dokdo_coord$lon, 
           y = Dokdo_coord$lat, 
           label = "독도",
           family = "HCR Dotum LVT",
           colour = "red") +
  annotate("text", 
           x = Ulleung_coord$lon, 
           y = Ulleung_coord$lat + 0.2, 
           label = "울릉도",
           family = "HCR Dotum LVT",
           colour = "black")

색으로 구분

library(RColorBrewer)
ggplot(data = map2_df, 
       mapping = aes(x = long,
                     y = lat,
                     group = group,
                     fill = SHAPE_AREA)) +
  geom_polygon() +
#  geom_polygon(fill = "white",
#               colour = "black") +
  coord_map() +
  theme(legend.text = element_text(family = "HCR Dotum LVT"),
        legend.title = element_text(family = "HCR Dotum LVT")) +
  guides(fill = guide_legend(title = "면적")) +
#   scale_fill_brewer()
  scale_fill_distiller()

leaflet 패키지

시도

library(leaflet)
mypalette1 <- colorNumeric(palette = "Reds", domain = shp1_84$SHAPE_AREA)
popup1 <- paste(shp1_84$SIDO_NM2, 
               "\n", 
               format(shp1_84$SHAPE_AREA/1000000, digits = 1, nsmall = 1, bigmark = ","), 
               "제곱km")
leaflet(shp1_84) %>%
addTiles() %>%
addPolygons(stroke = FALSE,
smoothFactor = 0.2,
fillOpacity = 0.8,
popup = popup1,
color = ~mypalette1(shp1_84$SHAPE_AREA))

시군구

mypalette2 <- colorNumeric(palette = "Reds", domain = shp2_84$SHAPE_AREA)
popup2 <- paste(shp2_84$SIGUNGU_NM, 
               "\n", 
               format(shp2_84$SHAPE_AREA/1000000, digits = 1, nsmall = 1, big.mark = ","), 
               "제곱km")
leaflet(shp2_84) %>%
addTiles() %>%
addPolygons(stroke = FALSE,
smoothFactor = 0.2,
fillOpacity = 0.8,
popup = popup2,
color = ~mypalette2(shp2_84$SHAPE_AREA))

Save

save.image("./korea_map.RData")