In your original mail the image didn't attach as Darafei wrote. Because of that
i think that you should tell us how you need the split to be done.
Can it be done in "custom" direction, or you need it to be "perpendicular to the
river"?
1) If 1st - I would suggest to simply intersect your polygons with generated
lines (see code below).
2) If 2nd, then how you want this perpendicularity to be defined?
Is it supposed to be perpendicular to the river axis/side? How the right axis/side should
be determined? Can you draw a line "by hand" or does it have to be calculated?
Do you realize that lines generated this way, can and probably will intersect?
Take a look at SQL below. It's little long, but also clear (in my opinion), and
it shows my approach step by step.
WITH
floodplain AS (
SELECT ST_SetSRID(ST_MakePolygon(
ST_GeomFromText('LINESTRING(100000 100000,100004 100000,100004
100004,100000 100004,100000 100000)'),
ARRAY[ST_GeomFromText('LINESTRING(100002 100002,100002
100003,100003 100003,100003 100002,100002 100002)')]
),3035) geom
)
, river AS (
SELECT ST_SetSRID(ST_MakePolygon(
ST_GeomFromText('LINESTRING(100001 100000,100003 100000,100000
100003,100000 100002,100001 100000)')
),3035) geom
)
, min_max AS ( --I assume that floodplain polygon covers river polygon
(https://postgis.net/docs/ST_Covers.html).
SELECT ST_XMin(geom) xmin
, ST_XMax(geom) xmax
, ST_YMin(geom) ymin
, ST_YMax(geom) ymax
FROM floodplain
)
, gs AS (
SELECT generate_series(ymin::INT,ymax::INT,1) gs --last parameter is not
required, change 1 to 0.5 for "better looking" numeric results in my example
FROM min_max
)
, splitlines AS (
SELECT ST_SetSRID(ST_MakeLine(ST_MakePoint(xmin, gs),
ST_MakePoint(xmax, gs)),3035) geom
FROM gs
, min_max
)
SELECT ST_Length(ST_Intersection(r.geom,s.geom)) river_width
,ST_Length(ST_Intersection(f.geom,s.geom)) floodplain_width
,ST_Length(ST_Intersection(r.geom,s.geom))/ST_Length(ST_Intersection(f.geom,s.geom))
river_floodplain_ratio
FROM floodplain f
, river r
, splitlines s
Greetings,
Marcin
On Wed, 03 Oct 2018 15:18:19 +0200, Shane Carey <[email protected]> wrote:
Hi,
Just wondering did anyone have a chance to look at my issue with regards
the river and polygon dataset that I was trying to split up?
Thanks
Le gach dea ghui,
*Shane Carey*
_______________________________________________
postgis-users mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/postgis-users