ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [python] kakao API를 이용 주소,위도/경도 찾기
    카테고리 없음 2021. 12. 5. 05:06

    kakao API를 이용하여 주소에서 위도/경도를 찾고 반대로 위도/경도를 이용하여 주소를 찾는법을 알아보도록 하자.

    일단 kakao api key를  만들어야 하는데 순서대로 하나씩 해보도록 하자. 

     

    1. kakao api key 발급

    우선 kakao api 를 이용하기위해 REST API key를 발급 받아야 한다. 

     

    1-1 kakao developers 접속

    아래 링크로 접속하면 된다.

    kakao developers 

     

    1-2 애플리케이션 추가하기

    링크 접속하면 애플리케이션 추가하기를 누른뒤 이름 사업자명 입력하면 키값을 받을 수 있다.

     

     

    2. kakao API를 이용 주소,위도/경도 찾기

    이제 본격적으로 주소,위도/경도를 찾아보도록 하자. 더 자세한 내용은 아래 링크를 남겨두도록 하겠다.

    2-1 라이브러리 불러오기

    import json
    import requests

    2-2 키값 지정

    REST API 키값을 지정해 주도록 하자

    api_key = api_key
    예) api_key = "456df484z1vzcv31515"

    2-3 다음 코드로 주소를 이용 위도/경도 찾기

    아래 코드로 이제 원하는 주소에 대한 위도/경도를 찾을수 있게 되었다. 그럼 남한산성주소를 검색해 addr_lat_lon() 함수를 통해 위도/경도를 찾아 보도록 하자. 

    def addr_lat_lon(addr):
        url = 'https://dapi.kakao.com/v2/local/search/address.json?query={address}'.format(address=addr)
        headers = {"Authorization": "KakaoAK " + "api_key"}
        result = json.loads(str(requests.get(url, headers=headers).text))
        match_first = result['documents'][0]['address']
        return float(match_first['x']), float(match_first['y'])
    addr_lat_lon("경기 광주시 남한산성면 산성리")
    (127.193350205307, 37.4766883922306)

    2-4 다음 코드로 위도/경도를 이용 주소 찾기

    위에서 주소를 이용해 위도/경도를 찾았으니 반대로 위/경도를 이용해 주소도 찾아 보려한다.  다음 코드를 사용해 주소를 찾아 보자.

    def lat_lon_addr(lon,lat):
        url = 'https://dapi.kakao.com/v2/local/geo/coord2regioncode.json?x={longitude}&y={latitude}'.format(longitude=lon,latitude=lat)
        headers = {"Authorization": "KakaoAK " + api_key}
        result = json.loads(str(requests.get(url, headers=headers).text))
        match_first = result['documents'][0]['address_name']
        return str(match_first)
    lat_lon_addr(127.193350205307, 37.4766883922306)
    ## '경기도 광주시 남한산성면 산성리'

    이렇게 주소와 위도/경도를 찾는법을 해보았다. 이보다 자세하게는 아래에 링크르 남겨두도록 하겠다. 조금더 잘하게되면 이보다 더 자세하게 남기도록 해보겠다. 

    댓글

Designed by Tistory.