본문 바로가기
정보기술

(6) 번외 - 자동완성주소 검색에 관하여

by 엘라트리니티 2022. 12. 14.

2022.12.14 - [정보기술] - (1) 구글 지도 API – 지도 만들기

2022.12.14 - [정보기술] - (2) 구글 지도 API - 단일 마커 표시하기

2022.12.14 - [정보기술] - (3) 구글 지도 API - 다중 마커 표시하기

2022.12.14 - [정보기술] - (4) 구글 지도 API - 정보창 표시하기

2022.12.14 - [정보기술] - (5) 구글 지도 API - 자동완성주소 검색하기

2022.12.14 - [정보기술] - (6) 번외 - 자동완성주소 검색에 관하여

2022.12.14 - [정보기술] - (7) 구글 지도 API - 특정 주소의 좌표 확인하기

2022.12.14 - [정보기술] - (8) 구글 지도 API - 좌표 DB 등록하기

2022.12.14 - [정보기술] - (9) 구글 지도 API - 검색 인터페이스 구현

2022.12.14 - [정보기술] - (10) 번외 - 검색지점 기준 반경거리 계산 (하버사인 공식)

2022.12.14 - [정보기술] - (11) 구글 지도 API - 좌표 DB 불러오기 (xml 이용)

2022.12.14 - [정보기술] - (12) 구글 지도 API - 위치기반 서비스 제공 (끝)

 

행정안전부에서 공개하고 있는 도로명주소DB (위치정보요약 DB) 레이아웃

 

자동완성은 구글이나 네이버 같은 대형 사이트의 검색엔진에서 제공되는 기능 중의 하나로 키워드 검색 뿐만 아니라 주소검색 서비스에서 쉽게 접할 수 있습니다.

자동완성구현은 JQuery를 통해 가능하다고 알려져 있는데 DB에 등록된 키워드와 유저가 입력한 텍스트를 실시간으로 매칭하여 자동완성 시켜주는 것으로 개념은 간단하지만 초보 개발자 입장에서는 구현하기가 매우 까다로운 편입니다.

또한 기능자체의 구현보다도 수백만건 이상의 데이터를 서버에 올려서 운영하면 서버요청에 의한 사용료가 어마어마할 것으로 추정되며 서버이용료를 줄이기 위해 캐시저장 등 여러가지 방법이 있는 것으로 보이지만

결국 일반 개발자나 소규모 단체에서 자동완성 기능을 위해 직접 DB를 구축하는 것은 운용비용면에서 한계가 있어서 결국 외부 API에 의존하게 됩니다

행정안전부에서 *.txt로 제공되는 대한민국 위치정보요약 DB


저도 실제로 행정안전부에서 제공하는 위치정보를 이용하여 DB를 구축하려고 생각은 해보았지만 txt 로 작성된 문서가 800mb가 되는걸 보고 바로 생각을 접었습니다.

궁금해 하실 분들을 위해 아래에 이미지를 첨부합니다.

18개의 칼럼으로 이루어져 있으며 구글지도 API의 Autocomplete처럼 구현한다고 하면 다음과 같은 칼럼등을 뽑아서 사용하면 될것 같습니다.

4 : 시도명
5 : 시군구명
6 : 읍면동명
8 : 도로명
12 : 건물명
17 : X좌표
18 : Y좌표

단 여기서의 X,Y좌표는 우리가 알고 있는 위도,경도 좌표가 아니라 평면좌표계 기준의 GRS80 UTM-K이므로 구글/네이버/카카오 지도 API에서 사용하려면 별도의 변환이 필요합니다.

변환식들은 이미 잘 알려져 있으니 해당식들을 활용하면 됩니다.

행정안전부에서 제공하는 대한민국 위치정보요약 DB 칼럼 정보


이런저런 이유로.. 결국 지도 API의 서비스 중 자동완성 (Autocomplete) 기능을 제공하는 것은 구글뿐입니다.

네이버와 카카오는 자사 포털 사이트에서는 당연히 해당기능을 포함한 서비스가 이루어지고있지만 오픈 API를 이용하는 개발자들에게는 해당기능을 제공하지 않습니다.

앞서 말씀드린 것처럼 장소관련한 API 기능은 이용료가 매우 비쌉니다. 아래 그림은 구글 지도 API의 이용요금을 가져온 것인데 Autocomplete 항목이 무려 1000건당 17달러나 됩니다.

1000건이 많은게 아닙니다. 이용자수가 조금만 늘어도 일일 사용량 몇백~몇천은 금방 넘어갑니다.

전세계적으로 주소정보를 제공하는 구글이니까 어마어마한 서버 하드웨어와 소프트웨어 인프라가 있을 것이며 그에 상응하는 서비스료로 당연하게는 생각됩니다만 역시나 개인 개발자가 주소 자동완성 기능을 이용하기에는 비용이 부담이 됩니다.

구글 지도 API의 이용료, 자동완성주소 기능은 타기능에 비해 매우 높은 단가가 형성되어 있다


그래서 현재 개발중인 웹서비스에서는 초기에 접목시켰던 구글 지도 API에서 카카오 지도 API로 전환한 상태이고 카카오 지도 API에서 자동완성 기능은 제공하지 않지만 제공되는 주소 DB는 동일하기 때문에 허용가능한 범위 내의 키워드 검색은 다 잡히고 있습니다. 오히려 국내한정 지도 서비스는 네이버나 카카오가 낫습니다.

구글은 특히 도로명주소나 건물이름 등을 표현할 때 아무래도 번역체의 느낌이라던지 일부 부정확하게 분류되는 항목들이 있어서 신경쓰이는 부분이 있습니다. 시간이 되면 직접 자동완성 DB를 구축하고 운영비용 실험도 해보고 싶은데.. 아무래도 본업이 아닌지라 쉽게 착수할 여유가 없네요.

향후 관련내용에 대해 포스팅 할 수 있는 기회가 생겼으면 합니다.

 

2022.12.14 - [정보기술] - (7) 구글 지도 API - 특정 주소의 좌표 확인하기

 

(7) 구글 지도 API - 특정 주소의 좌표 확인하기

2022.12.14 - [정보기술] - (1) 구글 지도 API – 지도 만들기 2022.12.14 - [정보기술] - (2) 구글 지도 API - 단일 마커 표시하기 2022.12.14 - [정보기술] - (3) 구글 지도 API - 다중 마커 표시하기 2022.12.14 - [정보

iftraveler.tistory.com

 

댓글