ST_CIRCLE
説明
WKT(Well-Known Text)を地球の球面上の円に変換します。
構文
ST_CIRCLE( <center_lng>, <center_lat>, <radius>)
パラメータ
| Parameter | デスクリプション |
|---|---|
<center_lng> | 円の中心の経度、DOUBLE型、有効範囲は[-180, 180] |
<center_lat> | 円の中心の緯度、DOUBLE型、有効範囲は[-180, 180] |
<radius> | 円の半径、DOUBLE型、単位はメートル |
戻り値
地球の球面上の円を返します。型はGeoCircleです。WKT表現はCIRCLE ((<center_lng> <center_lat>),
ST_CIRCLEには以下のエッジケースがあります:
- 入力パラメータのいずれかがNULLの場合、NULLを返します。
<center_lng>が[-180, 180]の範囲外、または<center_lat>が[-90, 90]の範囲外の場合、NULLを返します。<radius>が0の場合、中心を唯一の点とする特別な円を返します(WKT表現:CIRCLE ((<center_lng> <center_lat>), 0))。
Example
基本的な使用方法(通常の円)
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 |
+--------------------------------------+