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

ST_POLYGON

概要

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

エイリアス

  • st_polygonfromtext
  • st_polyfromtext

構文

ST_POLYGON( <wkt>)

パラメータ

Parameterデスクリプション
<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 |
+------------------+