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

[GIS] ST_DIFFERENCE 함수

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

ST_DIFFERENCE는 Google BigQuery에서 사용되는 함수로, 두 GEOGRAPHY 객체 간의 차이를 계산하여 반환합니다. 이 함수는 첫 번째 GEOGRAPHY 객체에서 두 번째 GEOGRAPHY 객체를 뺀 결과를 반환합니다. 결과는 첫 번째 객체의 일부이며 두 번째 객체와 겹치지 않는 부분입니다.

사용법

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

예시

  1. 두 다각형 간의 차이 계산

     SELECT ST_DIFFERENCE(
         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 difference_area;

    이 쿼리는 첫 번째 다각형에서 두 번째 다각형을 뺀 영역을 계산합니다.

  2. 다각형과 선 간의 차이 계산

     SELECT ST_DIFFERENCE(
         ST_GEOGFROMTEXT('POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))'),
         ST_GEOGFROMTEXT('LINESTRING(15 15, 25 25)')
     ) AS difference_area;

    이 쿼리는 첫 번째 다각형에서 두 번째 선을 뺀 영역을 계산합니다.

  3. 두 선 간의 차이 계산

     SELECT ST_DIFFERENCE(
         ST_GEOGFROMTEXT('LINESTRING(10 10, 20 20)'),
         ST_GEOGFROMTEXT('LINESTRING(15 15, 25 25)')
     ) AS difference_line;

    이 쿼리는 첫 번째 선에서 두 번째 선을 뺀 결과를 계산합니다.

주요 사항

  • GEOGRAPHY 객체: ST_DIFFERENCE 함수는 GEOGRAPHY 타입의 객체에 대해 작동합니다. 따라서 입력으로 주어지는 지리적 데이터는 GEOGRAPHY 타입이어야 합니다.
  • 차이 계산: 이 함수는 첫 번째 GEOGRAPHY 객체에서 두 번째 GEOGRAPHY 객체를 뺀 결과를 반환합니다. 결과는 첫 번째 객체의 일부이며 두 번째 객체와 겹치지 않는 부분입니다.
  • 응용 분야: ST_DIFFERENCE는 지리적 분석에서 두 지리적 객체 간의 차이를 계산하는 데 유용합니다. 예를 들어, 특정 지역에서 다른 지역을 제외한 나머지 부분을 계산하거나, 특정 영역에서 도로 네트워크를 제외한 부분을 계산하는 데 사용할 수 있습니다.

ST_DIFFERENCE 함수를 통해 지리적 객체 간의 차이를 쉽게 계산할 수 있으며, 이를 통해 다양한 지리적 문제를 효과적으로 해결할 수 있습니다.

반응형

댓글