[postgis-users] ST_Split with Multilinestring

Marcone marconeperes at gmail.com
Tue Jun 14 06:37:40 PDT 2016


2016-06-14 9:52 GMT-03:00 Birgit Laggner <birgit.laggner at thuenen.de>:

> I would like to use the ST_Split function to split polygons from one table
> with all intersecting lines from another table. Unfortunately, I get the
> following error:
>
> ERROR: Splitting a Polygon by a MultiLineString is unsupported
> SQL Status:XX000
>
> This is my query:
>
> select betr_id, (cut).path[1], (cut).geom from (select betr_id,
> st_dump(st_split) as cut from (select a.betr_id, ST_Split(a.geom,
> st_union(b.geom)) from p_sam.nihb_2013_convex_hull_betr a left join
> p_sam.ni_dlm13_aaa_gew_sie_ver_l b on st_intersects(a.geom, b.geom) group
> by a.betr_id, a.geom) sel1) sel2;
>
> The Manual contains the following info regarding this problem:
>
> "The function supports splitting a line by (multi)point, (multi)line or
> (multi)polygon boundary, a (multi)polygon by line*.*"
>
> This might mean that I would be able to split a line by multilinestrings,
> but a polygon only by single linestrings - is that correct? Does anyone has
> a suggestion how I could work around this problem (aside from looping the
> ST_Split with some function, DO block or pgScript after selecting all
> intersecting linestrings per polygon)?
>
> Thanks a lot for any helpful suggestions!
>

I'm not sure if I understand your problem, but try use
ST_Split(st_multi(a.geom), st_union(b.geom)). I'm not test this, but I
think that will solve your problem.

Best regards.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20160614/23cc56a4/attachment.html>


More information about the postgis-users mailing list