본문으로 건너뛰기
최종 수정: 에

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 |
+--------------------------------------+