Siner's Blog


파이썬(Python3)으로 왓쓰리워즈(what3words, W3W)를 이용해보자.

세상의 모든 주소를 세 단어에 담다

2019/05/20


what3words란?

what3words (W3W)는 전 세계 지도 상의 스팟(3m x 3m)을 3개의 무작위 단어로 표현한 좌표체계입니다. 이 기능을 사용하면 마이크로 단위의 장소 공유와 주소가 없는 지점도 세 단어 주소로 공유/검색이 가능합니다. 현재 27개 언어로 W3W 세단어 주소가 제공 중이며, 카카오에서도 what3words와의 제휴를 통해 한글 W3W 주소체계를 서비스 하기 시작했습니다.

image

API KEY 발급

what3words를 사용하기 위해서는 https://accounts.what3words.com/ko/register에서 API KEY를 발급 받아야 합니다.

image

pip 패키지 설치

공식 문서는 https://docs.what3words.com/wrapper/python/에 있습니다.
what3words에서는 pip 패키지를 지원하여 python에서 매우 편리하게 이 기능을 사용할 수 있습니다.

pip install what3words

위경도 <-> W3W 변환

파이썬 코드로 what3words를 사용하는 두가지 예시를 알아보겠습니다.

language='ko'를 입력하지 않으면 영어로 된 w3w값이 나타납니다.

1. 위경도 >> W3W

image

import what3words geocoder = what3words.Geocoder("what3words-api-key", language='ko') coordinates = what3words.Coordinates(37.5132924,127.1017133) res = geocoder.convert_to_3wa(coordinates) print(res) { 'country': 'KR', 'square': { 'southwest': { 'lng': 127.101686, 'lat': 37.513287 }, 'northeast': { 'lng': 127.10172, 'lat': 37.513314 } }, 'nearestPlace': '성남시, 경기도', 'coordinates': { 'lng': 127.101703, 'lat': 37.5133 }, 'words': '중년.펀드.수확', 'language': 'ko', 'map': 'https://w3w.co/%EC%A4%91%EB%85%84.%ED%8E%80%EB%93%9C.%EC%88%98%ED%99%95' }

성남시 경기도라고 나오는게 뭔가 잘못 된 느낌인데... 속는 셈 치고 response받은 중년.펀드.수확을 카카오 지도에 한번 검색해봅니다.

image

잘 됩니다. 이어서 반대로도 한번 해보겠습니다.

2. W3W >> 위경도

image

import what3words geocoder = what3words.Geocoder("what3words-api-key", language='ko') res = geocoder.convert_to_coordinates('일차적.사인하다.마음먹었던') print(res) { 'country': 'ZZ', 'square': { 'southwest': { 'lng': 125.977585, 'lat': 37.552151 }, 'northeast': { 'lng': 125.977619, 'lat': 37.552178 } }, 'nearestPlace': 'Yŏnan-ŭp, 황해남도', 'coordinates': { 'lng': 125.977602, 'lat': 37.552164 }, 'words': '일차적.사인하다.마음먹었던', 'language': 'ko', 'map': 'https://w3w.co/%EC%9D%BC%EC%B0%A8%EC%A0%81.%EC%82%AC%EC%9D%B8%ED%95%98%EB%8B%A4.%EB%A7%88%EC%9D%8C%EB%A8%B9%EC%97%88%EB%8D%98' }

image

변환이 잘 되는것을 확인 할 수 있습니다.

마무리

W3W 주소체계는 매우 편리하지만 아직 많은 사람들이 알지 못하여 아쉬울 따름입니다. 많은 분들이 이 기능을 사용하는 서비스를 많이 만들어서 한국에서도 많이 사용되면 좋겠네요.

이번에 다루지 못한 언어에서의 API 사용법에 대해서는 공식문서(아래 링크)를 참고하시면 됩니다. https://docs.what3words.com/api/v3/