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

ST_GEOMETRYFROMWKB

説明​

標準的な図形の WKB(Well-known binary)を、対応するメモリ上のジオメトリに変換します。

別名​

  • ST_GEOMFROMWKB

構文​

ST_GEOMETRYFROMWKB( <wkb>)

パラメータ​

パラメータ説明
<wkb>ジオメトリのバイナリ表現。通常は ST_AsBinary などの WKB を生成する関数によって作成されます。サポートされるジオメトリ型には、POINT、LINESTRING、LINE、POLYGON の標準型が含まれます。

戻り値​

入力された WKB に対応するジオメトリオブジェクトを返します。入力が NULL または無効な WKB 形式の場合は NULL を返します。

例​

POINT 型の引数

select ST_AsText(ST_GeometryFromWKB(ST_AsBinary(ST_Point(24.7, 56.7))));
+------------------------------------------------------------------+
| st_astext(st_geometryfromwkb(st_asbinary(st_point(24.7, 56.7)))) |
+------------------------------------------------------------------+
| POINT (24.7 56.7) |
+------------------------------------------------------------------+
select ST_AsText(ST_GeomFromWKB(ST_AsBinary(ST_Point(24.7, 56.7))));
+--------------------------------------------------------------+
| st_astext(st_geomfromwkb(st_asbinary(st_point(24.7, 56.7)))) |
+--------------------------------------------------------------+
| POINT (24.7 56.7) |
+--------------------------------------------------------------+

LINESTRING 型の引数

select ST_AsText(ST_GeometryFromWKB(ST_AsBinary(ST_GeometryFromText("LINESTRING (1 1, 2 2)"))));
+------------------------------------------------------------------------------------------+
| st_astext(st_geometryfromwkb(st_asbinary(st_geometryfromtext('LINESTRING (1 1, 2 2)')))) |
+------------------------------------------------------------------------------------------+
| LINESTRING (1 1, 2 2) |
+------------------------------------------------------------------------------------------+

POLYGON 型の引数

select ST_AsText(ST_GeometryFromWKB(ST_AsBinary(ST_Polygon("POLYGON ((114.104486 22.547119,114.093758 22.547753,114.096504 22.532057,114.104229 22.539826,114.106203 22.542680,114.104486 22.547119))"))));
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| st_astext(st_geometryfromwkb(st_asbinary(st_polygon('POLYGON ((114.104486 22.547119,114.093758 22.547753,114.096504 22.532057,114.104229 22.539826,114.106203 22.542680,114.104486 22.547119))')))) |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| POLYGON ((114.104486 22.547119, 114.093758 22.547753, 114.096504 22.532057, 114.104229 22.539826, 114.106203 22.54268, 114.104486 22.547119)) |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
select ST_AsText(ST_GeomFromWKB(ST_AsBinary(ST_Polygon("POLYGON ((114.104486 22.547119,114.093758 22.547753,114.096504 22.532057,114.104229 22.539826,114.106203 22.542680,114.104486 22.547119))"))));
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| st_astext(st_geomfromwkb(st_asbinary(st_polygon('POLYGON ((114.104486 22.547119,114.093758 22.547753,114.096504 22.532057,114.104229 22.539826,114.106203 22.542680,114.104486 22.547119))')))) |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| POLYGON ((114.104486 22.547119, 114.093758 22.547753, 114.096504 22.532057, 114.104229 22.539826, 114.106203 22.54268, 114.104486 22.547119)) |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

NULL 入力

mysql> SELECT ST_AsText(ST_GeometryFromWKB(NULL));
+-------------------------------------+
| ST_AsText(ST_GeometryFromWKB(NULL)) |
+-------------------------------------+
| NULL |
+-------------------------------------+

有効な WKB


mysql> select ST_AsText(ST_GeometryFromWKB("\x010300000001000000050000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000024400000000000000000"));
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ST_AsText(ST_GeometryFromWKB("\x010300000001000000050000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000024400000000000000000")) |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| POLYGON ((10 0, 10 10, 0 10, 0 0, 10 0)) |
+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

無効な WKB


mysql> select ST_AsText(ST_GeometryFromWKB("\010300000001000000050000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000024400000000000000000"));
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ST_AsText(ST_GeometryFromWKB("\010300000001000000050000000000000000002440000000000000000000000000000024400000000000002440000000000000000000000000000024400000000000000000000000000000000000000000000024400000000000000000")) |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| NULL |
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+