Bigquery GIS 소개 및 활용

2innnnn0·2020년 4월 26일
0
post-thumbnail

BigQuery GIS를 사용하면 BigQuery에서 지리공간 데이터를 쉽게 분석하고 시각화할 수 있다.

지리Geography시각화 도구들

  • 빅쿼리 geoviz (GCP사용자면 쿼리비용만 듬, 사실상 무료) (https://bigquerygeoviz.appspot.com/)
    - ~(베타) 2000rows까지만 출력되어 실제 활용에는 제한적~
    - 현재는 큰 출력에 제한없이 대량의 데이터를 빠르게 시각화해줌(아래는 69만rows)
    - 단점은 분석용이 아니라서, 쿼리를 디버깅할 때 쓰면 좋을 것.
  • (추천) kepler.gl (무료) (http://kepler.gl/)

    • 속도가 빠르고 비용 부담없이 시각화 가능.
    • 데이터 타입별 다양한 레이어기능과 필터를 제공하여, 빠른 시각화 도구로 추천.
  • 태블로 Tableau (유료)

    • 2019.2 버전 업데이트 후로, 지리함수들을 새롭게 지원 (MAKEPOINT : st_geogpoint() / MAKELINE : st_makeline() )
    • 현황파악용으로는 적당하고, 인터렉티브한 기능으로 빠르게 데이터를 확인하는데는 유용하다.
  • QGIS (무료)

    • 러닝 커브가 높지만, 현존하는 GIS툴중 가장 심층있는 분석이 가능한 GIS 툴. (네트워크 분석 / 상권 분석 등)
    • 지리체계에 적합하게 속도가 빠르고, 무료로 사용가능한 장점.

GIS 함수 (링크)

  • ST_ prefix의 의미 (링크)

    • Spatial Type 의 앞글자를 따온겁니다.
  • ST_MAKELINE : 두 점 사이의 선을 그려주는 함수. (LINESTRING 반환)

  • ST_MAKEPOLYGON : 다중의 점을 이은 폴리곤을 만드는 함수 (지역 등의 영역을 표현할 때 사용)

  • ST_CENTROID : 폴리곤에서 ‘중심점'을 찾는 함수

  • ST_CLOSESTPOINT : 두 지리데이터 사이중 가장 작은 거리를 갖는 점을 이어 폐쇠된 폴리곤을 만들때 사용

  • ST_DIFFERENCE : 집합의 차를 구함 (A영역안에 B영역이 있으면 , A-B 영역만큼 됨)

  • ST_INTERSECTION : 집합의 교차구함(교집합)

  • ST_UNION : 점 집합의 합집합

  • ST_SNAPTOGRID : 각 정점이 경도 위도 그리드에 스냅 된 입력을 반환

  • ST_CONTAINS : TRUE/FALSE > A가 B에 포함되는지 참거짓. (경계는 포함하지 않음)
    ST_COVERS : 경계포함.

  • ST_DWITHIN : TRUE/FALSE > ST_CONTAINS 와 유사.

  • ST_GEOHASH : 좌표를 특정 좌표구간으로 표현하기.

    • 특정 지역/구간을 지나가면 확인할 수 있는 함수
    • 아래 활용예 참고
  • ST_AREA : 면적을 m2으로 반환

  • ST_DISTANCE : 두 점 사이 거리 미터로 반환

  • ST_LENGTH : 입력된 행의; 전체 길이를 미터로 반환

  • ST_MAXDISTANCE : 점과 선/폴리곤 사이의 가장 긴 거리를 미터로 반환.

  • ST_PERIMETER : 폴리곤 경계를 미터로 반환

  • **ST_GEOGPOINT : lat,lng을 지리정보로 바꾸는 함수

  • **ST_GEOGFROMTEXT : STRING를 GEOMETRY 정보로 변환

  • ST_ASTEXT : GEOMETRY를 문자열로 변환(집계Group를 할때 필요)

  • ST_EQUALS : 두개의 GEOMETRY가 일치한지 True/False로 확인하는 함수


  • 빅쿼리에서 지원하지는 않지만 더 많은 지리함수가 많다. 더 많은 지리함수를 알고 싶다면, 해당 링크를 참조하기. https://postgis.net/docs/reference.html

    • 대부분의 지리함수는 PostgrelSQL의 지리기능 파생인 postGIS로 온것.
  • Carto에서 만든 GIS Persistant-UDF
    - jslibs (깃허브 링크)

    • **ST_BUFFER (링크)
      • 용법 geography ST_Buffer(geography g1, float radius_of_buffer, integer num_seg_quarter_circle)
profile
성장하고 싶은 데이터분석가.

0개의 댓글