GIS

geokakao: 카카오 API를 활용한 지오코딩 Python 패키지

유병혁 2023. 8. 17. 00:00

안녕하세요? 이번 글은 카카오 API를 활용한 지오코딩 Python 패키지, geokakao를 간략히 소개해 보겠습니다. 아래 글을 작성하면서 만든 함수의 재사용 기회가 많은 것 같아서 편의상 목적으로 PyPI에 패키지로 등록한 것입니다.

 

geokakao주소 정보를 포함한 데이터프레임이 주어졌을 때, 해당 주소로부터 좌표 정보(경도, 위도)를 알아내어 데이터프레임에 추가하고, 이것을 다시 GeoPackage로 변환하는 과정을 처리합니다.

 

카카오 API를 활용한 지오코딩: 주소를 GeoPackage로 변환하기

안녕하세요? 이번 글은 카카오 API를 활용하여 주소를 GeoPackage로 변환하는 방법을 정리해 보겠습니다. 주소 정보를 포함한 데이터프레임이 주어졌을 때, 해당 주소로부터 좌표 정보(경도, 위도)

foss4g.tistory.com

 

geokakao

Geospatial Features Using Kakao API

pypi.org

기능

  • Kakao API를 사용하여 주소를 좌표(경도, 위도)로 변환
  • 주소 데이터를 포함하는 DataFrame에 좌표 정보 통합
  • 보강된 DataFrame을 다시 GeoPackage 형식으로 변환

설치

pip install geokakao

사용법

import geokakao as gk
import pandas as pd

샘플 데이터프레임을 생성해 보겠습니다. 데이터프레임의 "Address" 열은 주소 정보를 포함합니다.

# Load your DataFrame with address information
data = {'Name': ['국립공원공단 본사',
                 '국립공원연구원 본원',
                 '치악산국립공원사무소'],
        'Address': ['강원특별자치도 원주시 혁신로 22',
                    '강원특별자치도 원주시 단구로 171',
                    '강원특별자치도 원주시 소초면 무쇠점2길 26']}
df = pd.DataFrame(data)

이 주소를 좌표로 변환하여 데이터프레임에 추가하고, 이를 CSV로 저장하는 작업을 수행해 봅니다. 

# Convert addresses to coordinates and integrate into the DataFrame
gk.add_coordinates_to_dataframe(df, 'Address')
df.to_csv('korea_np.csv', index=False, encoding='utf-8')

이제 CSV 파일을 GeoPackage(GPKG) 파일로 변환할 수 있습니다.

# Save the enriched DataFrame to a GeoPackage file
input_csv = "korea_np.csv"
output_gpkg = "korea_np.gpkg"

gk.csv_to_gpkg(input_csv, output_gpkg)

geokakao 패키지는 기본 API_KEY를 포함하고 있습니다. 그러나 로컬 API 10만/일 쿼터(월 300만 건까지 기본 월쿼터 범위 한정) 초과 시에는 사용자가 API_KEY를 직접 입력하도록 설정되어 있습니다. 카카오 API KEY는 Kakao Developers(https://developers.kakao.com/)에서 회원가입 후 신청하시면 됩니다.