공유자료 HOME > 자료실 > 공유자료
 
[재능기부]지도그리기
관리자 17-08-12 10:16 751

#1.세계지도 그리기

install.packages("maps")
library(maps)
map()


#2. 아시아 지도 그리기

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

# 원하는 나라를 map_data를 통하여 불러오기
asia <- map_data("world",
                 region = c("China","Japan","North Korea","South Korea", "India"))

# geom_polygon을 이용하여 나라들의 테두리를 그리고 색깔로 채우기
ggplot(asia, aes(x=long, y=lat, group=group, fill=region))
+ geom_polygon(colour="black")
+ scale_fill_brewer(palette="Set1")



#3.대한민국지도 그리기
korea <- map_data("world", region = c("North Korea", "South Korea"))
ggplot() + geom_polygon(data=korea, aes(x=long, y=lat, group=group, fill=region),
                        colour="black") + scale_fill_brewer(palette="Set1")
#map(database="world", region="Japan")


#4.서울지도 그리기
install.packages("ggmap")

library(ggmap)

seoul <- get_map("Seoul, South Korea", zoom=13, maptype = "roadmap")
ggmap(seoul)

#지도의 종류: satelite, hybrid, toner, watercolor, terrain, terrain-background, toner-lite
seoul <- get_map("Seoul, South Korea", zoom=13, maptype = "terrain")
ggmap(seoul)


#5.우리 집을 지도에서 표시하기
library('ggmap')
library('ggplot2')

home <- get_map("Seoul, South Korea", zoom=11, maptype = "roadmap")
location <- data.frame(name = "집", LON = 127.0525440, LAT = 37.5961950)
ggmap(home) + geom_point(data = location ,aes(x=LON, y=LAT), size=5, colour = "red")


#6.서울시 2호선 지하철역 위치 표시하기
library(ggplot2)
library(ggmap)

subway <- read.csv("subway.csv",header=T)
subway
line2 <- subset(subway, 호선%in%"2")
line2

# 이름 변경하기
names(line2)[names(line2) == "X좌표(WGS)"] <- c("LON")


seoul <- get_map("Seoul, South Korea", zoom=13, maptype = "roadmap")

seoul.map <- ggmap(seoul) + geom_point(data=line2, aes(x=LON, y=LAT), size=3, alpha=0.7, col="red")

seoul.map + geom_path(data=line2, aes(x=LON, y=LAT), size=3, linetype=3, col="green")
+ geom_text(data=line2, aes(x=LON, y=LAT+0.001, label=전철역명), size=3)