본문 바로가기
파이썬/기타

파이썬 카카오 api 활용해서 지오코딩, 리버스 지오코딩 하기

by 큰고양2 2023. 10. 23.

개인키 발급

https://developers.kakao.com

 

Kakao Developers

카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.

developers.kakao.com

카카오 api를 사용하기 위해서는 먼저 개인 키를 발급받아야한다

위 사이트에 접속 후

내 애플리케이션 ->내 애플리케이션 추가 -> 생성 후 앱 이름 클릭 ->(rest api키 복사)
->web 플랫폼 등록 -> https://localhost:3000 입력

순서로 진행하면 된다

여기서 rest api키가 api키다

 

 

리버스 지오코딩

-지번

import requests, json, pprint

def get_address(lat, lng):
    url = "https://dapi.kakao.com/v2/local/geo/coord2regioncode.json?x="+lng+"&y="+lat
    headers = {"Authorization": "개인 키를 입력하세요"}
    api_json = requests.get(url, headers=headers)
    full_address = json.loads(api_json.text)

    return full_address

full_address = get_address('36.367142461814105', '127.70616627315077')
pprint.pprint(full_address)

다음 코드에서 '개인 키를 입력하세요' 부분을 카카오 api에서 발급받은 키로 대체하면 된다

이후 lat, lng 자리에 위도와 경도를 입력해주자

결과 반환은

이렇게 반환 된다 여기서 원하는 정보만 조회해서 활용하면 된다

 

 

 

도로명

import requests, json, pprint

def get_address(lat, lng):
    url = "https://dapi.kakao.com/v2/local/geo/coord2address.json?x="+lng+"&y="+lat
    headers = {"Authorization": "개인키 입력"}
    api_json = requests.get(url, headers=headers)
    adress = api_json.json()

    return adress

full_address = get_address('36.367142461814105', '127.70616627315077')
pprint.pprint(full_address)

지오코딩

 

import requests, json

def get_location(address):
  url = 'https://dapi.kakao.com/v2/local/search/address.json?query=' + address
  headers = {"Authorization": "개인키를 입력하세요"}
  api_json = json.loads(str(requests.get(url,headers=headers).text))
  address = api_json['documents'][0]['address']
  crd = {"lat": str(address['y']), "lng": str(address['x'])}
  address_name = address['address_name']

  return crd

crd = get_location("충북 옥천군 안남면 도농리 산 31")
print(crd)