# 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

Warning message:

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)가 제대로 들어와 있었습니다. 이를 이용해서 다음 포스팅에서는 해당 지역을 지도에 마킹하여 출력해보겠습니다.







+ Recent posts