ST_MLineFromWKB

定義

ST_MLineFromWKB は、ST_MultiLineString タイプの WKB 表現と空間参照 ID を使用して、ST_MultiLineString を作成します。

構文

Oracle

sde.st_mlinefromwkb (wkb blob, srid integer)

PostgreSQL

sde.st_mlinefromwkb (wkb bytea, srid integer)

戻り値のタイプ

ST_MultiLineString

以下の例では、読みやすいように結果の書式を再設定しています。結果で表示される間隔は、各自のオンライン表示によって異なります。

この例は、ST_MLineFromWKB を使用して、WKB 表現からマルチラインストリングを作成する方法を示したものです。ジオメトリは、空間参照系 1 のマルチラインストリングです。この例では、マルチラインストリングを sample_mlines テーブルの geometry 列に ID = 10 で格納した後、wkb 列を(ST_AsBinary 関数を使用して)WKB表現で更新しています。最後に、ST_MLineFromWKB 関数を使用して、wkb 列からマルチラインストリングを返します。このジオメトリの X および Y 座標は、ライン 1:(61, 2)、(64, 3)、(65, 6)、ライン 2:(58, 4)、(59, 5)、(61, 8)、ライン 3:(69, 3)、(67, 4)、(66, 7)、(68, 9)です。sample_mlines テーブルには、マルチラインストリングを格納する geometry 列と、マルチラインストリングの WKB 表現を格納する wkb 列があります。

Oracle

CREATE TABLE sample_mlines (id integer, geometry sde.st_geometry, wkb blob);

INSERT INTO SAMPLE_MLINES (id, geometry) VALUES (
10,
sde.st_multilinestring ('multilinestring ((61 2, 64 3, 65 6), (58 4, 59 5, 61 8), (69 3, 67 4, 66 7, 68 9))', 0)
);

UPDATE SAMPLE_MLINES
SET wkb = sde.st_asbinary (geometry)
WHERE id = 10;

PostgreSQL

CREATE TABLE sample_mlines (id integer, geometry sde.st_geometry, wkb bytea);

INSERT INTO sample_mlines (id, geometry) VALUES (
10,
sde.st_multilinestring ('multilinestring ((61 2, 64 3, 65 6), (58 4, 59 5, 61 8), (69 3, 67 4, 66 7, 68 9))', 0)
);

UPDATE sample_mlines
SET wkb = sde.st_asbinary (geometry)
WHERE id = 10;

次の SELECT ステートメントで、ST_MLineFromWKB 関数を使用して、wkb 列からマルチラインストリングを取得します。

Oracle

SELECT id, sde.st_astext (sde.st_mlinefromwkb (wkb,0)) MULTI_LINE_STRING
FROM SAMPLE_MLINES
WHERE id = 10;

ID    MULTI_LINE_STRING

10    MULTILINESTRING ((61.00000000 2.00000000, 64.00000000 3.00000000, 65.00000000 6.00000000), (58.00000000 4.00000000, 59.00000000 5.00000000, 61.00000000 8.0000000), (69.00000000 3.00000000, 67.00000000 4.00000000, 66.00000000 7.00000000, 68.00000000 9.00000000 )) 

PostgreSQL

SELECT id, sde.st_astext (sde.st_mlinefromwkb (wkb,0)) 
AS MULTI_LINE_STRING
FROM sample_mlines
WHERE id = 10;

id   multi_line_string

10    MULTILINESTRING ((61 2, 64 3, 65 6), (58 4, 59 5.,
 61 8), (69 3, 67 4, 66 7, 68 9 )) 

7/10/2012