R을 이용한 구글맵에 점찍기

R을 이용해서 지도에 해당 주소별 점찍기

공공데이타 자료 가져오기: 이천시의 경로당 소재 주소정보

공부 내용

1. 이천시 경로당 위치 주소 데이터를 찾는다.

2. 데이타를 정제한다.

-. 주소 정보에 “( )”로 묶인 부분은 위도와 경도를 가져오지 못하므로 해당 부분을 삭제해준다.

R를  이용하여 처리하면 좋지만…..오늘의 주 포인트가 아니라서 최신식 수작업으로 데이타 정제함

3. 구글에서 해당 주소의 위도/경도 정보를 가져와서 해당 문서에 저장한다.

4. 지도를 불러와서 점찍는다.

=> 첨 해보는 것이라 맨 아래의 싸이트에 있는 두개의 글을 따라하면서 해본것입니다

 

소스 코드

# 지도를 그리기 위한 패키지 설치 및 메모리 로딩

install.packages(“ggmap”)

library(ggmap)

# bokji.csv 파일을 불러 와서 위의 6개 정도만 뽑아서 살펴 봅니다

# 위에서 언급 했드시 주소란에 “( )” 안에 있는 내용은 삭제를 해주었습니다. 

# 주소란에 “(” 문자 이후는 삭제하라는 방식을 모르겠어서 수작으로…….알면 알려주세요~~

data11 <- read.csv(“bokji.csv”, header = T)

head(data11)

# 문서에서 불러온 주소 변수 값들을 문자화로 변시켜 줍니다.

# 주소상에 숫자나 기호들 때문에 이러한 절차를 걸치는 것 같음

data11$add <- as.character(data11$add)

# 해당 값들을 인코딩 합니다.

# 이부분은 구글에서 지도를 가져오기 때문인것으로 판단되어집니다.

data11$add <- enc2utf8(data11$add)

# 구글에서 경로당 주소지를 기반으로 위도/경도를 가지고 옵니다.

data_lonlat <- mutate_geocode(data11, add, source=”google”)

# 가지고 온 값을 문서로 저장합니다.

write.csv(data_lonlat, “map_location.csv”, row.names = TRUE)

# 위에서 저장한 파일을 다시 불러옵니다.
location <- read.csv(“map_location.csv”, header = T)
# 구글맵에서 이천시에 해당되는 부분은 불러 옵니다.
city_bokji <- get_map(“icheon”, zoom=13, maptype=”roadmap”)
# 불러온 지도에 위도/경도로 점을 찍는다.
bokji.map <- ggmap(city_bokji) + geom_point(data=location, aes(x=lon, y=lat), size=2, alpha=0.7, color=”red”)
bokji.map
ggsave(filename=”map.png”)
dev.off()
결과
map

답글 남기기

Top