【図解】MariaDBでジオメトリコレクションを作成:ST_GeometryCollectionFromWKB関数のステップバイステップ解説
構文
ST_GeometryCollectionFromWKB(
<WKB representation>
[, <SRID>]
)
引数
<SRID>
(オプション): ジオメトリの空間参照系識別子 (SRID)。省略すると、デフォルトの SRID が使用されます。<WKB representation>
: WKB 形式で表されたジオメトリコレクションの表現。
戻り値
GEOMETRYCOLLECTION 型のジオメトリ値。
例
SELECT ST_GeometryCollectionFromWKB(
0x0107000000040000000500000001000000050000000100000006000000010000000700000002000000080000000300000009000000040000000A0000000B0000000C0000000D0000000E0000000F
);
この例では、WKB 形式で表された 5 つのポイントからなるジオメトリコレクションが構築されます。
- ST_GeometryCollectionFromWKB 関数は、異なるタイプのジオメトリを組み合わせるために使用できます。
SELECT ST_GeometryCollectionFromWKB(
0x0107000000040000000500000001000000050000000100000006000000010000000700000002000000080000000300000009000000040000000A0000000B0000000C0000000D0000000E0000000F
);
説明
例 2: 異なるタイプのジオメトリを組み合わせる
SELECT ST_GeometryCollectionFromWKB(
0x0106000000010000000100000005000000010000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000A0000000A0000000B0000000B0000000C0000000C0000000D0000000D0000000E0000000E0000000F
);
説明
この例では、WKB 形式で表された 2 つのジオメトリが組み合わされます。最初のジオメトリは 5 つのポイントからなる LineString であり、2 番目のジオメトリは 5 つのポイントからなる Polygon です。
例 3: 空間参照系を指定する
SELECT ST_GeometryCollectionFromWKB(
0x0107000000040000000500000001000000050000000100000006000000010000000700000002000000080000000300000009000000040000000A0000000B0000000C0000000D0000000E0000000F,
4326
);
説明
この例では、WKB 形式で表された 5 つのポイントからなるジオメトリコレクションが構築されます。さらに、空間参照系として WGS 84 (SRID 4326) が指定されます。
代替方法
- ST_MultiPointFromWKB 関数: WKB 形式で表された複数のポイントの表現を使用して、マルチポイント型ジオメトリ値を作成します。
- ST_MultiLineFromWKB 関数: WKB 形式で表された複数のラインストリングの表現を使用して、マルチラインストリング型ジオメトリ値を作成します。
- ST_MultiPolygonFromWKB 関数: WKB 形式で表された複数のポリゴンの表現を使用して、マルチポリゴン型ジオメトリ値を作成します。
例
例 1: ST_GeomFromText と ST_MultiGeometryFromGeometry を使用してジオメトリコレクションを作成する
SELECT ST_MultiGeometryFromGeometry(
(
SELECT ST_GeomFromText('POLYGON((1 1, 2 1, 2 2, 1 2, 1 1))')
),
(
SELECT ST_GeomFromText('LINESTRING((0 0, 1 1, 2 2))')
)
);
説明
この例では、テキスト形式で表されたポリゴンとラインストリングを使用して、ジオメトリコレクションを作成します。
例 2: ST_MultiPolygonFromWKB を使用してマルチポリゴン型ジオメトリを作成する
SELECT ST_MultiPolygonFromWKB(
0x0106000000050000000100000005000000010000000200000003000000030000000400000004000000050000000500000006000000060000000700000007000000080000000800000009000000090000000A0000000A0000000B0000000B0000000C0000000C0000000D0000000D0000000E0000000E0000000F
);
説明
この例では、WKB 形式で表された 2 つのポリゴンの表現を使用して、マルチポリゴン型ジオメトリ値を作成します。
例 3: ST_MultiLineFromWKB を使用してマルチラインストリング型ジオメトリを作成する
SELECT ST_MultiLineFromWKB(
0x010600000003000000010000000100000002000000030000000400000005000000060000000700000008000000090000000A0000000B0000000C0000000D0000000E0000000F
);
説明
この例では、WKB 形式で表された 3 つのラインストリングの表現を使用して、マルチラインストリング型ジオメトリ値を作成します。
SELECT ST_MultiPointFromWKB(
0x01070000000400000005000000