ST_MLineFromWKB
定义
ST_MLineFromWKB 以 ST_MultiLineString 类型的熟知二进制 (WKB) 表示和空间参考 ID 为输入参数,以创建 ST_MultiLineString 类型的对象。
语法
Oracle
sde.st_mlinefromwkb (wkb blob, srid integer)
PostgreSQL
sde.st_mlinefromwkb (wkb bytea, srid integer)
返回类型
ST_MultiLineString
示例
在以下示例中,对结果行进行了重新格式化,以增强可读性。结果中的间距将根据在线显示而有所不同。
本示例说明了如何使用 ST_MLineFromWKB 由熟知二进制表示创建多线串。几何是空间参考系统 1 中的一个多线串。在本示例中,多线串存储在 sample_mlines 表的几何列中且 ID = 10,然后利用熟知二进制表示对 wkb 列进行更新(使用 ST_AsBinary 函数)。最后,ST_MLineFromWKB 函数用于从 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 表具有一个几何列(用于存储多线串)和一个 wkb 列(用于存储多线串的 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))', 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 函数用于从 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 ))
3/7/2012