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

ST_POLYGON

説明​

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

エイリアス​

  • st_polygonfromtext
  • st_polyfromtext

構文​

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