に最終更新
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 |
+--------------------------------------+