이 주제를 선택한 이유..

개발 경력을 쌓아 나가다보면 지도 관련 개발을 한번은 경험하게 됨

내 경우 사용자 위치기반 리뷰 어플리케이션을 만든 적이 있었는데 시험삼아 위치 정보를 1,000만건 만들어서 DB에 넣고 위경도로 select 쿼리를 날리니까 쿼리 속도가 끔찍했음.

그 당시 (17년도) H3를 알았더라면 좀 더 쌈@뽕 하게 해결 할 수 있지 않았을까 하는 생각이 들었음

그래서 지금이라도 함.

개요

H3는 우버에서 오픈소스로 개발한 지리 공간 인덱싱 시스템(Geospatial Indexing System, 햐).

지구 표면을 크고 작은 육각형 격자(Grid)로 나누고 각 칸에 고유한 ID를 부여하여 위치 데이터를 효율적으로 분석하고 처리할 수 있도록 돕는 기술임

기존의 사각형 격자 시스템과 달리 H3는 **육각형(Hexagon)**을 기본 단위로 사용한다는 점이 가장 큰 특징

이는 분석 및 처리 과정에서 여러 가지 장점을 제공함. 이건 뒤에서 하나씩 알아보겠음

image.png

image.png

위 그림처럼 지구본을 육각형으로 나눠서 분석하는 인덱싱 시스템이다.

지리 공간 인덱싱 시스템을 알아보고 가자

지리 공간 인덱싱 시스템이란 전 세계 모든 위치에 '디지털 우편번호'를 붙여서 컴퓨터가 특정 지역 정보를 번개처럼 빠르게 찾게 해주는 똑똑한 주소체계임.

케이스별로 하나씩 알아가보겠음. (이하 지리 공간 인덱싱 시스템은 GIS로 명칭)

1. GIS를 사용하지 않았을 때

2. 전통적인 R-tree GIS를 사용했을 때