최종 수정: 에
ST_CIRCLE
설명
WKT(Well-Known Text)를 지구 구면상의 원으로 변환합니다.
구문
ST_CIRCLE( <center_lng>, <center_lat>, <radius>)
매개변수
| 매개변수 | 설명 |
|---|---|
<center_lng> | 원 중심의 경도입니다. 타입은 DOUBLE이며, 유효 범위는 [-180, 180]입니다. |
<center_lat> | 원 중심의 위도입니다. 타입은 DOUBLE이며, 유효 범위는 [-90, 90]입니다. |
<radius> | 원의 반지름입니다. 타입은 DOUBLE이며, 단위는 미터입니다. |
반환 값
지구 구면상의 원을 GeoCircle 타입으로 반환합니다. WKT 표현은 CIRCLE ((<center_lng> <center_lat>),
ST_CIRCLE에는 다음과 같은 경계 사례가 있습니다.
- 입력 매개변수 중 하나라도 NULL이면 NULL을 반환합니다.
- <center_lng>가 [-180, 180] 범위를 벗어나거나 <center_lat>가 [-90, 90] 범위를 벗어나면 NULL을 반환합니다.
가 0이면 중심점만을 유일한 점으로 갖는 특수한 원을 반환합니다(WKT 표현: CIRCLE ((<center_lng> <center_lat>), 0)).
예제
기본 사용법(일반적인 원)
SELECT ST_AsText(ST_Circle(111, 64, 10000));
+--------------------------------------------+
| st_astext(st_circle(111.0, 64.0, 10000.0)) |
+--------------------------------------------+
| CIRCLE ((111 64), 10000) |
+--------------------------------------------+
적도 위의 원(위도 0°)
mysql> SELECT ST_AsText(ST_Circle(0, 0, 5000));
+----------------------------------+
| ST_AsText(ST_Circle(0, 0, 5000)) |
+----------------------------------+
| CIRCLE ((0 0), 5000) |
+----------------------------------+
반지름이 0인 원(점으로 퇴화)
mysql> SELECT ST_AsText(ST_Circle(120, 30, 0));
+----------------------------------+
| ST_AsText(ST_Circle(120, 30, 0)) |
+----------------------------------+
| CIRCLE ((120 30), 0) |
+----------------------------------+
유효하지 않은 매개변수(경도가 범위를 벗어남)
mysql> SELECT ST_AsText(ST_Circle(190, 30, 1000));
+-------------------------------------+
| ST_AsText(ST_Circle(190, 30, 1000)) |
+-------------------------------------+
| NULL |
+-------------------------------------+
NULL 매개변수
mysql> SELECT ST_AsText(ST_Circle(NULL, 30, 1000));
+--------------------------------------+
| ST_AsText(ST_Circle(NULL, 30, 1000)) |
+--------------------------------------+
| NULL |
+--------------------------------------+