본문 바로가기

R 시각화

[R 시각화] ggmap, get_naver 를 활용한 대한민국 지도 그리기

ggmap, get_naver를 활용한 대한민국 지도 그리기

 

 

R에 아주 유용한 패키지 중 하나인 ggmap()과 우리나라는 아직까지 구글보단 네이버! get_naver()를 통해 네이버

지도위에 내가 원하는 지점을 찍는 그림을 그려봅니다 코드는 아래 참고 해주세요!

 

 

# 데이터 형태입니다(csv)

 

 

 

# 필요한 패키지를 설치해줍니다.

 

install.packages("ggmap") 
install.packages("ggplot2")
library(ggplot2)
library(ggmap)

 

 

# 데이터가 있는 장소를 지정해줍니다

 

setwd("C:/data")


# 잘 되었는지 확인해보구요

 

getwd()

 

​# 데이터를 불러옵니다

 

data <- read.csv("resort.csv",encoding="EUC-KR")
data

 

​# 데이터 전처리입니다. 무시하셔도 돼요

data2 <- data[c(-13),]
data2$name <- as.character(data2$name)
data2$name[2] <- c("설악, 쏘라노")
data3 <- data2[c(-1,-13,-14),]  # 사이판 제거

 

 

​# mark : 네이버지도에서 표시목을 세우고 싶은 좌표, cetn : map의 중심 좌표

 

 

mark <- c(data2[13,2],data2[13,3])  # 센터 좌표
cent <- c(mean(data3$lon),mean(data3$lat)-0.7)  # 센터 좌표2

 

 

​# naver map을 그려줍니다

 

bmap <- ggmap(get_navermap(center = cent,  baselayer = "default", zoom=2, # zoom 사이즈는 2
              overlayers = c("bicycle"), marker = data.frame(mark[1], mark[2]), # overlayrers는 "bicyle" , "roadmap"도 있고~
              key = "c75a09166a38196955adee04d3a51bf8", uri = "www.r-project.org"), 
              extent = "device", base_layer = ggplot(data3, aes(x = lon, y = lat)))  # data명 넣어주고, aes에는 좌표의 이름 넣어줍니다
              bmap + geom_point(aes(x=lon, y=lat), data = data3, alpha = 0.5, col="red", size=5) +
              geom_text(aes(x=lon, y=lat+0.05, label=name), data = data3, size=5)  # point와 text도 함께 그려줍니다

 

뭔가 더 하면... 더 이쁘게 그릴 수도 있을것 같지만.. 기본적인 부분만 올려보아요. 참고만해주세요!

 

감사합니다.