🖥️ IT, 컴퓨터/🏁 SQL・빅쿼리

[GIS] ST_UNION (2개), ST_UNION_AGG (3개 이상) 함수

김 홍시 2024. 7. 3.
반응형

ST_UNIONST_UNION_AGG는 Google BigQuery에서 사용되는 함수로, 각각 두 개 이상의 GEOGRAPHY 객체를 결합하는 데 사용됩니다. 이 함수들은 서로 다른 GEOGRAPHY 객체들을 합쳐서 하나의 객체로 만드는 데 유용합니다.

ST_UNION

ST_UNION 함수는 두 개의 GEOGRAPHY 객체를 결합하여 하나의 GEOGRAPHY 객체로 만듭니다.

사용법

ST_UNION(geography1, geography2)
  • geography1: 첫 번째 GEOGRAPHY 객체입니다.
  • geography2: 두 번째 GEOGRAPHY 객체입니다.

예시

  1. 두 다각형 결합

     SELECT ST_UNION(
         ST_GEOGFROMTEXT('POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))'),
         ST_GEOGFROMTEXT('POLYGON((20 30, 35 35, 30 20, 20 30))')
     ) AS union_polygon;

    이 쿼리는 두 다각형을 결합하여 하나의 다각형을 만듭니다.

  2. 점과 선 결합

     SELECT ST_UNION(
         ST_GEOGFROMTEXT('POINT(-122.084 37.422)'),
         ST_GEOGFROMTEXT('LINESTRING(-122.084 37.422, -122.085 37.423)')
     ) AS union_geometry;

    이 쿼리는 점과 선을 결합하여 하나의 GEOGRAPHY 객체를 만듭니다.

ST_UNION_AGG

ST_UNION_AGG 함수는 여러 GEOGRAPHY 객체들을 결합하여 하나의 GEOGRAPHY 객체로 만듭니다. 이는 집계 함수로, 주로 여러 행의 지리적 데이터를 하나로 합칠 때 사용됩니다.

사용법

ST_UNION_AGG(geography_expression)
  • geography_expression: 결합할 GEOGRAPHY 객체들의 집합입니다.

예시

  1. 다수의 다각형 결합

     SELECT ST_UNION_AGG(geog) AS union_polygon
     FROM UNNEST([
         ST_GEOGFROMTEXT('POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))'),
         ST_GEOGFROMTEXT('POLYGON((20 30, 35 35, 30 20, 20 30))')
     ]) AS geog;

    이 쿼리는 여러 다각형을 결합하여 하나의 다각형을 만듭니다.

  2. 테이블의 모든 지리적 객체 결합

     SELECT ST_UNION_AGG(geog) AS union_geography
     FROM my_geography_table;

    이 쿼리는 테이블의 모든 GEOGRAPHY 객체를 결합하여 하나의 GEOGRAPHY 객체를 만듭니다.

주요 사항

  • GEOGRAPHY 객체: ST_UNIONST_UNION_AGG 함수는 GEOGRAPHY 타입의 객체에 대해 작동합니다.
  • 결합: ST_UNION은 두 개의 GEOGRAPHY 객체를 결합하며, ST_UNION_AGG는 여러 GEOGRAPHY 객체를 결합합니다.
  • 응용 분야: 이 함수들은 지리적 데이터의 결합, 분석 및 시각화에 유용합니다. 예를 들어, 여러 개의 지리적 영역을 하나로 합쳐서 분석하거나, 여러 개의 경로를 하나의 네트워크로 결합할 수 있습니다.

ST_UNIONST_UNION_AGG 함수를 통해 지리적 객체를 효과적으로 결합할 수 있으며, 이를 통해 다양한 지리적 문제를 효율적으로 해결할 수 있습니다.

반응형

댓글