자기개발/데이터분석

[GIS] 브이월드 지오코딩 - 공간정보 오픈플랫폼 브이월드 활용법

코대장 2021. 4. 8. 00:23
반응형

브이월드(vWorld)

카카오맵, 네이버맵과 같은 지도정보 서비스 중 하나입니다.

다만, 서비스 운영을 공공기관(공간정보산업진흥원, 국토부 위탁)에서 하는 차이가 있습니다.

www.vworld.kr/v4po_main.do

 

공간정보 오픈플랫폼 포털

커뮤니티 지역에 대한 정보습득과 정보공유를 목적으로 하며, 지도기반의 다양한 정보를 효과적으로 공유 할 수 있습니다.

www.vworld.kr

 

지오코딩

우리는 브이월드에서 제공하고 있는 기능 중에서 지오코더(Geocoder) API를 통해 주소정보에서

GPS 정보로 변환하는 지오코딩을 해보려고 합니다.

지오코딩이란?

지오코딩(Geocoding)은 고유명칭(주소나 산,호수의 이름등)을 가지고 위도 경도 좌표값를 얻는 것을 말한다. 
 - 위키백과 사전 중에서... 

www.vworld.kr/dev/v4api.do

 

공간정보 오픈플랫폼 오픈API

오픈 API 누구나 사용할 수 있는 지도 오픈플랫폼의 오픈 API 서비스는 국가 공간정보의 개방, 공유, 참여를 통해 공간정보의 자율적이고 창조적인 다양한 애플리케이션을 개발할 수 있도록 기술

www.vworld.kr

 

1. 계정생성 및 오픈API 서비스키 발급

- 브이월드 제공 서비스를 이용하기 위해서 로그인 계정을 우선 생성해야 합니다.

- 계정생성 후 이제 오픈API 서비스키 발급을 위해서  [메인화면] - [서비스 바로가기] - [오픈API] 로 이동합니다.

메인화면

- 페이지 이동 후 [인증키] - [인증키 발급] 으로 이동합니다.

인증키 발급

- 인증키 발급을 위해서 URL, 사용목적을 입력합니다. 저는 테스트 용도로 아래와 같이 입력 후 신청하였습니다.

- [지도 인증키 받기] 클릭하면 회원가입시 등록했던 메일로 인증메일이 발송됩니다. 메일에서 인증키를 받아와서 사용하시면 됩니다.

- 이메일에서 승인이 되기전까지 "신청" 상태이며, 인증 후 상태가 "승인"으로 바뀝니다. 저는 기존에 한개 신청해둔 키가 있어 두개가 같이 보이네요.

인증키 관리 화면

- 제한사용초과요청은 별도 양식을 다운받아 신청하면 되고, 지오코딩을 경우 기본 일일 3만건까지는 가능하다고 나와 있네요.

제한사용초과요청 화면

 

2. 지오코딩

- urllib 모듈을 사용

import json
from urllib.request import Request, urlopen
from urllib.parse import urlencode, quote_plus, quote

- 주소 입력

addr = '서울특별시 압구정동 현대아파트'

- 오픈API 호출

vworld_apikey = '발급받은인증키'
url = "http://api.vworld.kr/req/address?service=address&request=getCoord&type=ROAD&refine=false&key=%s&" % (vworld_apikey) + urlencode({quote_plus('address'):addr}, encoding='UTF-8')
print(url)

request = Request(url)
response = urlopen(request)
rescode = response.getcode()
print(response)
if rescode == 200:
  response_body = response.read().decode('utf-8')
else:
  print('error code:', rescode)

- JSON 응답데이터 가공 및 출력

jsonData = json.loads(response_body)
lat = float(jsonData['response']['result']['point']['y'])
lng = float(jsonData['response']['result']['point']['x'])
print('lat:{}, lng:{}'.format(lat, lng))

 

 

다음 시간에는 네이버 지오코딩을 같이 공부해봐요.

  • [참고] 네이버 제공 지오코딩

api.ncloud-docs.com/docs/ai-naver-mapsgeocoding-geocode

 

geocode - Geocoding

쿠키 제공 동의 당사는 고객님의 브라우징 기반 정보를 바탕으로 관련 정보 및 광고 제공을 위하여 지식 기반 쿠키를 사용합니다.

api.ncloud-docs.com

 

github.com/mskim8717/python-scripts

 

mskim8717/python-scripts

업무를 효율적으로 만들어줄 유용한 파이썬 스크립트 모음집. Contribute to mskim8717/python-scripts development by creating an account on GitHub.

github.com

이상. 끝.