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 ))