ST_PERIMETER
는 Google BigQuery에서 사용되는 함수로, 주어진 GEOGRAPHY 다각형(Polygon) 또는 멀티다각형(MultiPolygon) 객체의 둘레를 계산하여 반환합니다. 이 함수는 다각형의 경계선을 따라 측정된 총 길이를 미터 단위로 계산하는 데 유용합니다.
사용법
ST_PERIMETER(geography)
geography
: 둘레를 계산할 GEOGRAPHY 타입의 다각형(Polygon) 또는 멀티다각형(MultiPolygon) 객체입니다.
반환값
ST_PERIMETER
함수는 주어진 다각형 객체의 둘레를 미터(meter) 단위로 반환합니다.
예시
- 단순 다각형의 둘레 계산이 쿼리는 주어진 단순 다각형의 둘레를 미터 단위로 반환합니다.
SELECT ST_PERIMETER( ST_GEOGFROMTEXT('POLYGON((30 10, 40 40, 20 40, 10 20, 30 10))') ) AS perimeter; - 복잡한 다각형의 둘레 계산이 쿼리는 주어진 복잡한 다각형의 둘레를 미터 단위로 반환합니다.
SELECT ST_PERIMETER( ST_GEOGFROMTEXT('POLYGON((-122.084 37.422, -122.085 37.423, -122.086 37.424, -122.084 37.422))') ) AS perimeter;
- 멀티다각형의 둘레 계산이 쿼리는 주어진 멀티다각형의 둘레를 미터 단위로 반환합니다.
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
함수는 지구의 곡률을 고려하여 정확한 둘레를 계산할 수 있습니다.
이처럼 실제 경위도 좌표를 사용하여 다각형의 둘레를 계산하면, 그 결과는 지리적 실측에 근접하게 됩니다.
'🖥️ IT, 컴퓨터 > 🏁 SQL・빅쿼리' 카테고리의 다른 글
[BigQuery] 빅쿼리에 CARTO 설치해서 지리함수 쓰기 (0) | 2024.07.15 |
---|---|
[DBeaver] 디비버 설치 및 구글 빅쿼리 연결하기 (DBeaver with BigQuery) (0) | 2024.07.14 |
[GIS] ST_MAXDISTANCE 함수 :: 두 객체 간 최대 거리 (0) | 2024.07.04 |
[GIS] ST_LENGTH 함수 :: Line 객체의 전체 길이 (미터 기준) (0) | 2024.07.04 |
[GIS] ST_LINELOCATEPOINT 함수 :: 점의 위치 백분율 표시 (0) | 2024.07.04 |
댓글