ST_MLineFromWKB

Определение

ST_MLineFromWKB принимает WKB-представление типа ST_MultiLineString и идентификатор пространственной привязки и создает ST_MultiLineString.

Синтаксис

Oracle

sde.st_mlinefromwkb (wkb blob, srid integer)

PostgreSQL

sde.st_mlinefromwkb (wkb bytea, srid integer)

Тип возврата

ST_MultiLineString

Пример

В следующем примере строки результаты были отформатированы для улучшения восприятия. Отступы в результатах будут зависеть от отображения на экране.

В этом примере показано, как можно использовать функцию ST_MLineFromWKB для создания строки multilinestring на основе его WKB-представления. Геометрия – строка multilinestring в системе пространственной привязки 1. В этом примере multilinestring сохраняется с идентификатором ID = 10 в столбце geometry таблицы sample_mlines, затем столбец wkb обновляется с использованием WKB-представления (с помощью функции ST_AsBinary). Наконец, функция ST_MLineFromWKB используется для возврата строки multilinestring из столбца 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, в которой сохраняется multilinestring, а также столбец wkb, в котором хранится WKB-представление строки multilinestring.

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 используется для получения строки multilinestring из столбца 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 ))
9/11/2013