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

[GIS] ST_POINTN 함수 :: 특정 인덱스에 위치하는 점

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

ST_POINTN는 Google BigQuery에서 사용되는 함수로, 주어진 선형 객체(LineString)에서 특정 위치에 있는 점(Point)을 반환합니다. 이 함수는 선형 객체의 각 점을 인덱싱하여, 지정된 인덱스에 해당하는 점을 추출하는 데 유용합니다.

사용법

ST_POINTN(geography, n)
  • geography: 점을 추출할 GEOGRAPHY 타입의 선형 객체(LineString)입니다.
  • n: 추출할 점의 위치를 나타내는 정수 인덱스입니다. 인덱스는 1부터 시작합니다.

반환값

  • ST_POINTN 함수는 지정된 인덱스에 해당하는 점을 GEOGRAPHY 타입의 객체로 반환합니다. 만약 지정된 인덱스가 유효하지 않은 경우, NULL을 반환합니다.

예시

  1. 선형 객체에서 첫 번째 점 추출이 쿼리는 주어진 선형 객체에서 첫 번째 점을 반환합니다. 결과는 POINT(-122.084 37.422)입니다.
  2. SELECT ST_POINTN(ST_GEOGFROMTEXT('LINESTRING(-122.084 37.422, -122.085 37.423, -122.086 37.424)'), 1) AS first_point;
  3. 선형 객체에서 두 번째 점 추출이 쿼리는 주어진 선형 객체에서 두 번째 점을 반환합니다. 결과는 POINT(-122.085 37.423)입니다.
  4. SELECT ST_POINTN(ST_GEOGFROMTEXT('LINESTRING(-122.084 37.422, -122.085 37.423, -122.086 37.424)'), 2) AS second_point;

  1. 유효하지 않은 인덱스에 대한 점 추출이 쿼리는 주어진 선형 객체에서 네 번째 점을 요청합니다. 선형 객체에 세 개의 점만 있으므로 결과는 NULL입니다.
  2. SELECT ST_POINTN(ST_GEOGFROMTEXT('LINESTRING(-122.084 37.422, -122.085 37.423, -122.086 37.424)'), 4) AS invalid_point;

주요 사항

  • GEOGRAPHY 객체: ST_POINTN 함수는 GEOGRAPHY 타입의 선형 객체(LineString)에 대해 작동합니다.
  • 인덱스: n 인덱스는 1부터 시작하며, 지정된 인덱스에 해당하는 점을 반환합니다. 유효하지 않은 인덱스(예: 0 이하 또는 점의 개수를 초과하는 값)는 NULL을 반환합니다.
  • 응용 분야: 이 함수는 경로의 특정 점을 추출하거나, 선형 객체의 특정 위치를 분석하는 데 유용합니다. 예를 들어, 경로의 출발점, 중간점, 또는 도착점을 추출하여 분석할 수 있습니다.

ST_POINTN 함수를 통해 선형 객체의 특정 위치에 있는 점을 쉽게 추출할 수 있으며, 이를 통해 다양한 지리적 문제를 효율적으로 해결할 수 있습니다.

반응형

댓글