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

[GIS] ST_GEOGPOINT 함수

김 홍시 2024. 6. 27.
반응형

ST_GEOGPOINT는 Google BigQuery의 GIS (지리정보 시스템) 기능에서 사용되는 함수로, 특정한 위도와 경도를 나타내는 지리적 점(geographic point)을 생성하는 데 사용됩니다. 이 함수는 WGS84 좌표계를 사용하여 지리적 좌표를 정의합니다. 여기서는 ST_GEOGPOINT 함수에 대한 자세한 설명을 제공하겠습니다.

함수 설명

ST_GEOGPOINT(latitude, longitude)

  • latitude: 위도 값을 나타내는 부동 소수점 숫자 (범위: -90에서 90).
  • longitude: 경도 값을 나타내는 부동 소수점 숫자 (범위: -180에서 180).

예시

아래는 ST_GEOGPOINT 함수를 사용하여 특정 지점의 지리적 좌표를 생성하는 예시입니다.

-- 위도 37.7749, 경도 -122.4194 (샌프란시스코의 좌표)를 나타내는 지리적 점 생성
SELECT ST_GEOGPOINT(37.7749, -122.4194) AS geog_point;

위 쿼리를 실행하면 다음과 같은 결과를 얻을 수 있습니다:

+--------------------------------------+
|              geog_point              |
+--------------------------------------+
| POINT(37.7749 -122.4194)             |
+--------------------------------------+

활용 예시

ST_GEOGPOINT는 다양한 GIS 분석에서 유용하게 사용됩니다. 예를 들어, 특정 위치의 좌표를 기반으로 거리를 계산하거나, 지리적 영역 내에 있는지 확인하는 등의 작업이 가능합니다.

거리 계산

다른 지점과의 거리를 계산할 때 사용할 수 있습니다.

-- 샌프란시스코와 뉴욕의 거리 계산
WITH points AS (
  SELECT ST_GEOGPOINT(37.7749, -122.4194) AS sf,
         ST_GEOGPOINT(40.7128, -74.0060) AS ny
)
SELECT ST_DISTANCE(sf, ny) AS distance_in_meters
FROM points;

영역 내 확인

특정 지점이 다각형 영역 내에 있는지 확인할 때 사용됩니다.

-- 특정 지점이 정의된 다각형 영역 내에 있는지 확인
WITH polygon AS (
  SELECT ST_GEOGFROMTEXT('POLYGON((...))') AS area
),
point AS (
  SELECT ST_GEOGPOINT(37.7749, -122.4194) AS geog_point
)
SELECT ST_WITHIN(geog_point, area) AS is_within
FROM point, polygon;

이와 같이 ST_GEOGPOINT는 BigQuery에서 지리적 데이터 분석을 수행할 때 필수적인 함수로, 다양한 GIS 작업에 활용할 수 있습니다.

반응형

댓글