# 3-1. 지도 출력 위해 위도, 경도 받아오기
travel_add01 <- geocode(travel_ht12$city, source="google")
> travel_add01 <- geocode(travel_ht12$city, source="google")
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=%EB%A6%AC%EB%A7%88&sensor=false
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=%EB%B0%80%EB%9D%BC%EB%85%B8&sensor=false
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=%EB%B6%80%EB%8B%A4%ED%8E%98%EC%8A%A4%ED%8A%B8&sensor=false
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=%EB%B8%8C%EB%A6%AC%EC%A6%88%EB%B2%88&sensor=false
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=%EC%96%91%EA%B3%A4&sensor=false
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=%EC%B7%A8%EB%A6%AC%ED%9E%88&sensor=false
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=%ED%8C%8C%EB%A6%AC&sensor=false
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=%ED%94%84%EB%9D%BC%ED%95%98&sensor=false
'ggmap' 패키지의 'geocode'를 사용하면 구글을 통해 위도, 경도를 받아올 수 있습니다. 한 군데를 받아올 때에는 아래와 같이 장소명이나 주소를 문자열로 넣어주면 됩니다.
test <- geocode("seoul", source="google")
test
> test <- geocode("seoul", source="google")
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=seoul&sensor=false
> test
lon lat
1 126.978 37.56654
한 번에 복수의 위도, 경도를 받아오고 싶으면 문자열 부분에 벡터 이름을 넣어주면 됩니다. 위도, 경도를 얻어오는 데 성공한 경우 information from URL : ...... =false 라고 뜨는 것을 확인할 수 있습니다. 종종 에러가 뜨기도 하는 데 저는 성공한 값을 따로 저장해놓고 실패한 행만 다시 "geocode"에 넣어주는 방법을 사용하고 있습니다. 에러 원인은 인터넷이 원활하지 않은 경우, 요청 제한(쿼리 2,500개)을 넘어선 경우 등이 있다고 알고 있습니다.
* 참고: 에러 발생 시
test <- geocode("seoul", source="google")
test
> test <- geocode("seoul", source="google")
Information from URL : http://maps.googleapis.com/maps/api/geocode/json?address=seoul&sensor=false
geocode failed with status OVER_QUERY_LIMIT, location = "seoul"
> test
lon lat
1 NA NA
# 3-2. 값 확인
travel_add02 <- travel_add01 %>% mutate(city = travel_ht12$city)
head(travel_add02, 8)
> travel_add02 <- travel_add01 %>% mutate(city = travel_ht12$city)
> head(travel_add02, 8)
lon lat city
1 -77.042754 -12.04637 리마
2 9.189982 45.46420 밀라노
3 19.040235 47.49791 부다페스트
4 153.025124 -27.46977 브리즈번
5 96.195132 16.86607 양곤
6 8.541694 47.37689 취리히
7 2.352222 48.85661 파리
8 14.437800 50.07554 프라하
'head'로 출력해보니 위도(lat), 경도(lon)가 제대로 들어와 있었습니다. 이를 이용해서 다음 포스팅에서는 해당 지역을 지도에 마킹하여 출력해보겠습니다.
'R project > 01' 카테고리의 다른 글
[R Project 01-1] 해시 태그가 포함된 명사 추출(정제) (0) | 2018.04.02 |
---|---|
[R Project 01-2] 복수 데이터 간의 교집합 추출 (0) | 2018.04.02 |
[R Project 01-4] "ggplot", "maps"를 이용한 지도 출력 (0) | 2018.04.02 |
(참고) [비교용 데이터] 위키피디아 자료로 국가 리스트 csv파일 만들기 (0) | 2018.04.02 |
(참고) ggplot, 한국어 출력 가능한 폰트 확인 (0) | 2018.04.02 |