# BigQuery GIS
BigQuery에서 좌표 데이터를 다룰 수 있는 BigQuery GIS가 존재합니다
Table에 좌표 값이 있는 경우 예를 들어 지역별로 데이터를 파악할 때, 행정구 단위가 아닌 지역을 설정해 분석할 수 있습니다.
다음과 같은 예시에서 활용될 수 있습니다.
- 특정 Point에서 반경 3KM 이내의 좌표 갯수 구하기
- 시간의 흐름에 따른 차량의 이동
- 육각형 단위(Uber H3)로 지역을 나눠서 집계하기
- 두 좌표 사이의 거리 구하기
# 지리 함수
지리(Geography) 함수는 BigQuery의 GEOGRAPHY 자료형에서 작동하는 함수입니다. 지리 함수는 ST_
로 시작하며. ST는 Spatial Type의 약자입니다.
참고로 지리 데이터 분석할 때 자주 나오는 단어로 WKT가 있습니다. WKT는 Well-known text의 약자로 자세한 내용은 위키피디아 (opens new window)를 참고해주세요
# 함수의 카테고리
지리 함수의 카테고리는 계속 추가되고 있으며, 공식 문서 (opens new window)의 내용을 확인하는 것을 추천합니다.
- Constructors : Geography 데이터나 좌표를 사용해 새로운 Geography 데이터 생성
ST_GEOPOINT
ST_MAKELINE
ST_MAKEPOLYGON
ST_MAKEPOLYGONORIENTED
- Parsers : WKT, GeoJSON 데이터를 Geography 데이터로 변경
ST_GEOGFROM
ST_GEOGFROMGEOJSON
ST_GEOGFROMTEXT
ST_GEOGFROMWKB
ST_GEOGPOINTFROMGEOHASH
- Formatters : Geography 데이터를 WKT, GeoJSON 등으로 추출(Parser와 반대 개념)
ST_ASBINARY
ST_ASGEOJSON
ST_ASTEXT
ST_GEOHASH
- Transformations : 입력 값을 기반으로 새로운 Geography 데이터 생성
ST_BOUNDARY
ST_CENTROID
ST_CENTROID_AGG
(Aggregate)ST_CLOSESTPOINT
ST_CONVEXHULL
ST_DIFFERENCE
ST_DUMP
ST_EXTERIORRING
ST_INTERSECTION
ST_SIMPLIFY
ST_SNAPTOGRID
ST_UNION
ST_UNION_AGG
(Aggregate)
- Accessors : 사이드 이팩트 없이 Geography 데이터에 접근할 수 있는 함수
ST_DIMENSION
ST_DUMP
ST_ENDPOINT
ST_ISCOLLECTION
ST_ISEMPTY
ST_NPOINTS
ST_NUMPOINTS
ST_POINTN
ST_STARTPOINT
ST_X
ST_Y
- Predicates : 두 Geography 데이터의 공간적 관계를 True, False로 반환. 이 함수들은 주로 조건 절에 많이 사용
ST_CONTAINS
ST_COVEREDBY
ST_COVERS
ST_DISJOINT
ST_DWITHIN
ST_EQUALS
ST_INTERSECTS
ST_INTERSECTSBOX
ST_TOUCHES
ST_WITHIN
- Measures : 하나 이상의 Geography에 대한 측정값을 계산
ST_AREA
ST_DISTANCE
ST_LENGTH
ST_MAXDISTANCE
ST_PERIMETER
- Clustering : Geography 데이터에서 클러스터링을 수행하는 함수
ST_CLUSTERDBSCAN
# 자주 사용하는 함수
ST_CONTAINS(geography_1, geography_2)
- geography_2의 점들이 모두 geography_1 안에 있으면 TRUE, 그렇지 않으면 FALSE
ST_DISTANCE(geography_1, geography_2)
- 두 GEOGRAPH 간의 최단 거리를 미터 단위로 반환
# 지리 UDF
지리 공간 분석을 전문으로 하는 CARTO (opens new window)에서 BigQuery UDF를 제공하고 있습니다.
Carto Spatial Extension Github Repo (opens new window)에서 확인할 수 있습니다.
# 지리 데이터 시각화
지리 데이터는 지도 위에서 데이터 시각화를 하면 더 쉽게 이해할 수 있습니다. 시각화 도구는 Google 데이터 스튜디오, Tableau, Kepler, BigQuery Geo Viz 등이 있습니다. 자세한 내용은 링크를 참고해주세요.