본문 바로가기

Programming Language/R

R을 활용하여 구글 지도에 데이터 나타내기


R언어를 사용해서 구글지도에 데이터를 나타내보자


- 만들것 : freq column에 대해서 값이 200 이상이면 빨강색(크기 8), 이하이면 파랑색(크기 3)
- 준비물 : Macbook, R studio


데이터 

- 첨부파일 다운 :   부산관광지_지도용자료_mac.txt


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
NAME , FREQ ,LAT,LON
해운대해수욕장 , 580,35.158670129.160365
국제시장 , 209,35.100728129.029123
광안리해수욕장 , 229,35.153035129.118630
광안대교 , 156,35.147633129.130206
태종대 , 164,35.053070129.087213
달맞이고개 , 130,35.16242 , 129.1783
자갈치시장 , 182,35.096739129.030477
감천문화마을  ,97,35.097493129.010633
동백섬 , 117,35.154571129.152491
SEA LIFE 아쿠아리움 , 110 , 35.15936,129.1610 
남포동 , 134,35.107056129.035944
누리마루 , 109,35.15239,129.1513 
용두산공원 , 75 ,35.10065129.0326
해동용궁사 ,82,35.188263129.223367
민락수변공원, 69 ,  35.15450  ,129.1332
오륙도 , 193 , 35.09379129.1264 
 
cs


R스튜디오 입력

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
library("ggplot2")
library("ggmap")
busan_1 <- read.csv("/Users/Anderson/부산관관광지_지도용자료_mac.txt")
center <- c(mean(busan_1$LON), mean(busan_1$LAT))
busan_2 <- get_googlemap(center=center,zoom=12,maptype="roadmap")
col<-c()
freq2<-busan_1$FREQ
for(i in 1:length(freq2)){
  if(freq2[i]>200){
    col<-c(col,"red")
  }else{
    col<-c(col,"blue")
  }
}
sizes<-c()
for(i in 1:length(freq2)){
  if(freq2[i]>200){
    sizes<-c(sizes,8)
  }else{
    sizes<-c(sizes,3)
  }
}
busan_map <- ggmap(busan_2)+
  geom_point(data=busan_1,aes(x=LON, y=LAT),size=sizes, alpha=0.7, color=col)
busan_map
 
cs



결과물


혹시 한글이 깨져서 나올 때

1
2
3
library("extrafont")
~~
seoul_map + geom_text(data=seoul_1,aes(x=경도, y=위도+0.002, label=주차장명),family= "AppleMyungjo")
cs

상기와 같이 extrafont에 대해서 library를 추가한 뒤(혹시 library가 import되지 않는다면, install package 필요), geom_text와 같은 function에 fontFamily를 추가한다.