ST_MLineFromWKB

Définition

ST_MLineFromWKB accepte une représentation binaire connue (WKB) de type ST_MultiLineString et un ID de référence spatiale et crée un objet ST_MultiLineString.

Syntaxe

Oracle

sde.st_mlinefromwkb (wkb blob, srid integer)

PostgreSQL

sde.st_mlinefromwkb (wkb bytea, srid integer)

SQLite

st_mlinefromwkb (wkb blob, srid int32)

Type de retour

ST_MultiLineString

Exemple

Cet exemple illustre l'utilisation de la fonction ST_MLineFromWKB pour la création d'un objet multilinestring à partir de sa représentation binaire connue. La géométrie est un objet multilinestring dans le système de référence spatiale 4326. Dans cet exemple, l'objet multilinestring est stocké avec l'ID = 10 dans la colonne geometry de la table sample_mlines, puis la colonne wkb est mise à jour avec sa représentation binaire connue (à l'aide de la fonction ST_AsBinary). Enfin, la fonction ST_MLineFromWKB est utilisée pour retourner l'objet multilinestring à partir de la colonne wkb. La table sample_mlines comporte une colonne geometry, dans laquelle l'objet multilinestring est stocké, et une colonne wkb dans laquelle la représentation WKB de l'objet multilinestring est stockée.

L'instruction SELECT inclut la fonction ST_MLineFromWKB, qui permet d'extraire l'objet multilinestring de la colonne 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))', 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 ))

Thèmes connexes

5/10/2014