From 701239087a092f2f2157259ad7fe67578edbd27f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Motiejus=20Jak=C5=A1tys?= Date: Wed, 19 May 2021 22:57:49 +0300 Subject: [PATCH] fix wm_exaggerate st_union drops M; use st_collect instead. --- test.sql | 6 +++--- wm.sql | 3 ++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/test.sql b/test.sql index 84d72b9..41d2715 100644 --- a/test.sql +++ b/test.sql @@ -21,7 +21,7 @@ create function dbg_geomsummary(geoms geometry[]) returns void as $$ begin raise notice 'len: %', array_length(geoms, 1); for i in 1..array_length(geoms, 1) loop - raise notice '%: %', lpad(i::text, 2, '0'), st_astext(geoms[i]); + raise notice '% %: %', st_geometrytype(geoms[i]), lpad(i::text, 2, '0'), st_astext(geoms[i]); end loop; end $$ language plpgsql; @@ -198,6 +198,6 @@ declare begin select way from wm_debug where name='fig3' and stage='bbends' and gen=1 and nbend=2 into fig3b2; size = wm_adjsize(fig3b2); - --bend = wm_exaggerate(fig3b2, size, 50.); - --insert into wm_debug(stage, name, gen, nbend, way) values('manual', 'fig3', 1, 1, bend); + bend = wm_exaggerate(fig3b2, size, 50.); + insert into wm_debug(stage, name, gen, nbend, way) values('manual', 'fig3', 1, 1, bend); end $$ language plpgsql; diff --git a/wm.sql b/wm.sql index 53d8323..c5e93be 100644 --- a/wm.sql +++ b/wm.sql @@ -442,7 +442,7 @@ begin -- Uses linear interpolation; can be updated to gaussian or similar; -- then interpolate manually instead of relying on st_addmeasure. - bendm = st_union( + bendm = st_collect( st_addmeasure(st_geometryn(splitbend, 1), 1, scale), st_addmeasure(st_geometryn(splitbend, 2), scale, 1) ); @@ -456,6 +456,7 @@ begin from st_dumppoints(bendm) order by path[1], path[2] )); + bend = st_makeline(points); size = wm_adjsize(bend);