メインコンテンツまでスキップ
バージョン: 4.x

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