2 min read

Kakao API를 이용한 건물 좌표 조회

본 게시글은 파이썬(Python3)을 기준으로 작성되었습니다.


데이터 분석을 하다보면 개별 건물의 좌표(위도 및 경도)를 필요로 하는 경우가 있다. 예를 들어 ‘아파트 실거래가 예측’이라는 주제로 모델을 제작하게 될 경우, 각 아파트와 가장 가까운 지하철역이 얼마나 떨어져있는지를 계산하여 하나의 변수로 사용하는 것이 가능하다. 이럴때 사용할 수 있는 것이 Kakao API를 이용한 건물 좌표 조회 방법이다.


고유 API 키 발급받기

이미지1 Kakao API를 이용하여 건물 좌표를 조회하기 위한 첫 번째 단계는 본인의 고유 API 키를 발급받는 것이다. Kakao Developers에서 이를 수행할 수 있다. 해당 사이트는 카카오 계정으로 손쉬운 가입 및 로그인이 가능하다. 로그인을 하였다면 우측 상단에 있는 ‘내 애플리케이션’을 클릭한 후 ‘+ 애플리케이션 추가하기’ 버튼을 눌러 기본적인 정보를 작성하면 된다. 이후 생성된 애플리케이션을 클릭하면 바로 본인의 API 키를 확인할 수 있다. 총 네 가지의 키가 나와있는데, 여기서 ‘Admin 키’를 사용할 것이다.

파이썬 코드 작성

본인의 API 키를 확보하였다면, 파이썬을 실행하도록 한다. 그리고 아래의 코드를 그대로 붙여넣자.

import pandas as pd
import requests
from urllib.parse import urlparse

def atl(address):
    url = 'https://dapi.kakao.com/v2/local/search/address.json?query=' + address
    result = requests.get(urlparse(url).geturl(),
                          headers = {'Authorization':'KakaoAK <본인의 API 키>})
    json_obj = result.json()
    for document in json_obj['documents']:
        val = [document['y'], document['x']]
    return(val)

파이썬의 ‘request’ 모듈을 사용하여 json 파일 형태로 저장하는 방식을 사용한다. 이후 atl 함수에 ‘서울시 서대문구 신촌동 134’ 등 주소값을 입력할 경우 위도와 경도값을 반환받을 수 있다. 이외에도 atl() 함수의 val 값을 수정할 시, 건물 이름 등의 더 많은 정보를 조회하는 것도 가능하다.

이미지2


위와 같이 Kakao API를 사용할 경우 손쉽게 건물의 좌표를 조회 및 저장하는 것이 가능하다. 단, 조회 건수가 하루에 100,000건으로 제한되어있다는 점을 알아두도록 하자. 쿼터 제한은 매일 정오에 초기화된다.