ST_MLineFromWKB

Definición

ST_MLineFromWKB toma una representación binaria conocida (WKB) de tipo ST_MultiLineString y un Id. de referencia espacial y crea un ST_MultiLineString.

Sintaxis

Oracle

sde.st_mlinefromwkb (wkb blob, srid integer)

PostgreSQL

sde.st_mlinefromwkb (wkb bytea, srid integer)

SQLite

st_mlinefromwkb (wkb blob, srid int32)

Tipo de devolución

ST_MultiLineString

Ejemplo

En este ejemplo se muestra cómo se puede utilizar ST_MLineFromWKB para crear una cadena de texto multilínea desde su representación binaria conocida. La geometría es una cadena de texto multilínea en el sistema de referencia espacial 4326. En este ejemplo, la cadena de texto multilínea se almacena con la Id. = 10 en la columna de geometría de la tabla sample_mlines, y la columna wkb se actualiza con su representación binaria conocida (utilizando la función ST_AsBinary). Por último, la función ST_MLineFromWKB se utiliza para devolver la cadena de texto multilínea desde la columna wkb. La tabla sample_mlines tiene una columna de geometría, donde se almacena la cadena de texto multilínea y una columna wkb, donde la representación de WKB de cadena de texto multilínea está almacenada.

La declaración SELECT incluye la función ST_MLineFromWKB, que se utiliza para recuperar la cadena de texto multilínea desde la columna 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 ))

Temas relacionados

5/10/2014