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

[GIS] ST_PERIMETER 함수 :: 다각형 객체의 둘레 길이

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

ST_PERIMETER는 Google BigQuery에서 사용되는 함수로, 주어진 GEOGRAPHY 다각형(Polygon) 또는 멀티다각형(MultiPolygon) 객체의 둘레를 계산하여 반환합니다. 이 함수는 다각형의 경계선을 따라 측정된 총 길이를 미터 단위로 계산하는 데 유용합니다.

사용법

ST_PERIMETER(geography)
  • geography: 둘레를 계산할 GEOGRAPHY 타입의 다각형(Polygon) 또는 멀티다각형(MultiPolygon) 객체입니다.

반환값

  • ST_PERIMETER 함수는 주어진 다각형 객체의 둘레를 미터(meter) 단위로 반환합니다.

예시

  1. 단순 다각형의 둘레 계산이 쿼리는 주어진 단순 다각형의 둘레를 미터 단위로 반환합니다.
    SELECT ST_PERIMETER( ST_GEOGFROMTEXT('POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))') ) AS perimeter;
  2. 복잡한 다각형의 둘레 계산이 쿼리는 주어진 복잡한 다각형의 둘레를 미터 단위로 반환합니다.
    SELECT ST_PERIMETER( ST_GEOGFROMTEXT('POLYGON((-122.084 37.422, -122.085 37.423, -122.086 37.424, -122.084 37.422))') ) AS perimeter;
  3. 멀티다각형의 둘레 계산이 쿼리는 주어진 멀티다각형의 둘레를 미터 단위로 반환합니다.
    SELECT ST_PERIMETER( ST_GEOGFROMTEXT('MULTIPOLYGON(((30 10, 40 40, 20 40, 10 20, 30 10)), ((15 5, 25 25, 5 25, 15 5)))') ) AS perimeter;

주요 사항

  • GEOGRAPHY 객체: ST_PERIMETER 함수는 GEOGRAPHY 타입의 다각형(Polygon) 또는 멀티다각형(MultiPolygon) 객체에 대해 작동합니다.
  • 미터 단위: 반환되는 둘레는 미터 단위입니다.
  • 지구의 곡률 고려: 이 함수는 지구의 곡률을 고려하여 둘레를 계산합니다. 따라서 큰 거리에서도 정확한 값을 제공합니다.
  • 응용 분야: ST_PERIMETER는 지리적 데이터 분석에서 다각형의 둘레를 계산하는 데 유용합니다. 예를 들어, 특정 지역의 경계를 따라 측정된 총 길이를 계산하거나, 토지 사용 계획에서 둘레를 분석하는 데 사용할 수 있습니다.

결론

ST_PERIMETER 함수를 통해 GEOGRAPHY 다각형 또는 멀티다각형 객체의 둘레를 쉽게 계산할 수 있으며, 이를 통해 다양한 지리적 문제를 효율적으로 해결할 수 있습니다. 이 함수는 지리적 분석, 토지 사용 계획, 공간 데이터 시각화 등 다양한 응용 분야에서 유용하게 사용될 수 있습니다.

 

 

 

===================

 

ST_GEOGFROMTEXT('POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))')에서 사용된 좌표 30 10, 40 40, 20 40, 10 20, 30 10은 실제 경도와 위도를 나타내지 않는 것으로 보입니다. 실제로 유효한 지리적 데이터를 사용하여 계산해야 합니다.

올바른 좌표 예시

일반적으로 경도(Longitude)는 -180도에서 180도 사이, 위도(Latitude)는 -90도에서 90도 사이의 값을 가집니다. 예를 들어, 아래와 같이 샌프란시스코의 일부 지역을 정의하는 좌표를 사용할 수 있습니다.

 

예시: 실제 경위도 좌표를 사용한 다각형의 둘레 계산

SELECT ST_PERIMETER(
    ST_GEOGFROMTEXT('POLYGON((-122.509 37.703, -122.358 37.704, -122.358 37.832, -122.509 37.831, -122.509 37.703))')
) AS perimeter;

이 쿼리는 샌프란시스코의 일부 지역을 정의하는 다각형의 둘레를 계산합니다. 여기서 사용된 좌표는 실제 경도와 위도 값을 나타냅니다.

설명

  • -122.509 37.703: 첫 번째 점 (경도 -122.509, 위도 37.703)
  • -122.358 37.704: 두 번째 점 (경도 -122.358, 위도 37.704)
  • -122.358 37.832: 세 번째 점 (경도 -122.358, 위도 37.832)
  • -122.509 37.831: 네 번째 점 (경도 -122.509, 위도 37.831)
  • -122.509 37.703: 다섯 번째 점, 첫 번째 점과 동일 (경도 -122.509, 위도 37.703)

이 좌표들은 샌프란시스코의 실제 지리적 위치를 나타내므로, 이 좌표를 사용하여 계산된 둘레는 실측 둘레에 가깝습니다.

 

 

 

결론

  • 유효한 좌표 사용: 유효한 경도와 위도 값을 사용해야 합니다. 경도는 -180도에서 180도 사이, 위도는 -90도에서 90도 사이의 값을 가져야 합니다.
  • 정확한 둘레 계산: 올바른 좌표를 사용하면 ST_PERIMETER 함수는 지구의 곡률을 고려하여 정확한 둘레를 계산할 수 있습니다.

이처럼 실제 경위도 좌표를 사용하여 다각형의 둘레를 계산하면, 그 결과는 지리적 실측에 근접하게 됩니다.

반응형

댓글