สองทางเลือกที่อยู่ในใจ หากคุณต้องการที่เฉพาะเจาะจงLINESTRING
แล้วคุณสามารถใช้ST_NumGeometries ()และST_GeometryN () หรือถ้าคุณต้องการรูปทรงย่อยทั้งหมดST_Dump ()เป็นวิธีที่จะไป
หลังจากอ่านคำถามคุณจะต้องทำสิ่งที่คล้ายกับโพสต์นี้จากรายการผู้ใช้ postgis :
SELECT ST_AsText( ST_MakeLine(sp,ep) )
FROM
-- extract the endpoints for every 2-point line segment for each linestring
(SELECT
ST_PointN(geom, generate_series(1, ST_NPoints(geom)-1)) as sp,
ST_PointN(geom, generate_series(2, ST_NPoints(geom) )) as ep
FROM
-- extract the individual linestrings
(SELECT (ST_Dump(ST_Boundary(geom))).geom
FROM mypolygontable
-- eliminate 0 length linestring
where st_x(st_startpoint(geom))<> st_x(st_endpoint(geom))
) AS linestrings
) AS segments;
LINESTRING
'sMULTILINESTRING
จาก แต่ผมต้องการที่จะไปในระดับที่ลึกฉันต้องการกลุ่มสายของแต่ละบุคคลซึ่งเมื่อรวมรูปแบบLINESTRING
'sMULTILINESTRING
อีกครั้งซึ่งเมื่อรวมรูปแบบเดิม มันสมเหตุสมผลไหม