Definition
Mit ST_MLineFromWKB wird anhand eines Well-known Binary-Formats (WKB) vom Typ ST_MultiLineString und einer Raumbezugs-ID ein ST_MultiLineString-Objekt zurückgegeben.
Syntax
Oracle
sde.st_mlinefromwkb (wkb blob, srid integer)
PostgreSQL
sde.st_mlinefromwkb (wkb bytea, srid integer)
SQLite
st_mlinefromwkb (wkb blob, srid int32)
Rückgabetyp
ST_MultiLineString
Beispiel
In diesem Beispiel wird veranschaulicht, wie ST_MLineFromWKB zum Erstellen eines Multilinestring aus einem Well-known Binary-Format verwendet werden kann. Die Geometrie ist ein Multilinestring im Raumbezugssystem 4326. In diesem Beispiel wird der Multilinestring mit der ID = 10 in der Spalte "geometry" der Tabelle "sample_mlines" gespeichert; anschließend wird die Spalte "wbk" mit einem Well-known Binary-Format (mithilfe der Funktion ST_AsBinary) aktualisiert. Zum Schluss wird mit der ST_MLineFromWKB-Funktion der Multilinestring aus der Spalte "wbk" zurückgegeben. Die Tabelle "sample_mlines" verfügt über die Spalte "geometry", in der der Multilinestring gespeichert wird, sowie über die Spalte "wbk", in der die WBK-Repräsentation des Multilinestrings gespeichert wird.
Die SELECT-Anweisung enthält die ST_MLineFromWKB-Funktion, mit der Multilinestring aus der Spalte "WBK" abgerufen wird.
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))', 4326)
);
UPDATE SAMPLE_MLINES
SET wkb = sde.st_asbinary (geometry)
WHERE id = 10;
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
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))', 4326)
);
UPDATE sample_mlines
SET wkb = sde.st_asbinary (geometry)
WHERE id = 10;
SELECT id, sde.st_astext (sde.st_mlinefromwkb (wkb,4326))
AS MULTI_LINE_STRING
FROM sample_mlines
WHERE id = 10;
id multi_line_string
10 MULTI_LINE_STRING ((61 2, 64 3, 65 6), (58 4, 59 5,61 8), (69 3, 67 4, 66 7, 68 9 ))
SQLite
CREATE TABLE sample_mlines (
id integer,
wkb blob);
SELECT AddGeometryColumn (
NULL,
'sample_mlines',
'geometry',
4326,
'multilinestring',
'xy',
'null'
);
INSERT INTO sample_mlines (id, geometry) VALUES (
10,
st_multilinestring ('multilinestring ((61 2, 64 3, 65 6), (58 4, 59 5, 61 8), (69 3, 67 4, 66 7, 68 9))', 4326)
);
UPDATE sample_mlines
SET wkb = st_asbinary (geometry)
WHERE id = 10;
SELECT id, st_astext (st_mlinefromwkb (wkb,4326))
AS MULTI_LINE_STRING
FROM sample_mlines
WHERE id = 10;
id multi_line_string
10 MULTI_LINE_STRING ((61.00000000 2.00000000, 64.00000000 3.00000000, 65.00000000 6.00000000),
(58.00000000 4.00000000, 59.00000000 5.00000000, 61.00000000 8.00000000),
(69.00000000 3.00000000, 67.00000000 4.00000000, 66.00000000 7.00000000, 68.00000000 9.00000000 ))