メインコンテンツまでスキップ
に最終更新

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