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

ST_POLYGON

デスクリプション

WKT (Well-Known Text) 形式の文字列をメモリ内の Polygon ジオメトリオブジェクトに変換します。

Alias

  • st_polygonfromtext
  • st_polyfromtext

Sytax

ST_POLYGON( <wkt>)

パラメータ

パラメータ説明
<wkt>POLYGON関数によって生成されたポリゴンのWKTテキスト

戻り値

Polygon型の幾何オブジェクトを返します。これはDorisの内部空間データ形式でメモリに格納され、他の空間関数(ST_AREA、ST_CONTAINSなど)のパラメータとして直接渡して計算することができます。

  • 入力されたWKT文字列が無効な場合(例:閉じられていないリング、構文エラー)、NULLを返します。
  • 入力されたがNULLまたは空文字列の場合、NULLを返します。

基本的なポリゴン

SELECT ST_AsText(ST_Polygon("POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0))"));
+------------------------------------------------------------------+
| st_astext(st_polygon('POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0))')) |
+------------------------------------------------------------------+
| POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0)) |
+------------------------------------------------------------------+

自己交差ポリゴン(無効)

mysql> select st_polygon('POLYGON ((0 0, 1 1, 0 1, 1 0, 0 0))');
+---------------------------------------------------+
| st_polygon('POLYGON ((0 0, 1 1, 0 1, 1 0, 0 0))') |
+---------------------------------------------------+
| NULL |
+---------------------------------------------------+

無効なWKT(閉じられていないリング)

mysql> SELECT ST_Polygon("POLYGON ((0 0, 10 0, 10 10, 0 10))");
+--------------------------------------------------+
| ST_Polygon("POLYGON ((0 0, 10 0, 10 10, 0 10))") |
+--------------------------------------------------+
| NULL |
+--------------------------------------------------+

無効なWKT(構文エラー)


mysql> SELECT ST_Polygon("POLYGON (0 0, 10 0, 10 10, 0 10, 0 0)");
+-----------------------------------------------------+
| ST_Polygon("POLYGON (0 0, 10 0, 10 10, 0 10, 0 0)") |
+-----------------------------------------------------+
| NULL |
+-----------------------------------------------------+

入力がNULL

mysql> SELECT ST_Polygon(NULL);
+------------------+
| ST_Polygon(NULL) |
+------------------+
| NULL |
+------------------+