changeset 5019:dc3d648bdf4a

Avoid needless geometry processing Mangling every geometry in the intersection machinery when importing as waterway admin leads to slightly different geometries compared to the same geometries imported by a sys_admin, thus creating artificial history of entries when importing alternately as waterway admin and sys admin, respectively.
author Tom Gottfried <tom@intevation.de>
date Fri, 13 Mar 2020 19:14:45 +0100
parents d6873fa95ed6
children e4ab338e7ba9
files pkg/imports/wx.go
diffstat 1 files changed, 2 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/pkg/imports/wx.go	Fri Mar 13 18:08:41 2020 +0100
+++ b/pkg/imports/wx.go	Fri Mar 13 19:14:45 2020 +0100
@@ -50,6 +50,8 @@
   FROM ST_GeomFromWKB($1, $2::integer) AS new_line (new_line),
     LATERAL (SELECT
       CASE WHEN pg_has_role('sys_admin', 'MEMBER')
+          OR ST_Covers((SELECT a FROM resp),
+            ST_Transform(new_line, (SELECT ST_SRID(a) FROM resp)))
         THEN new_line
         ELSE ST_Intersection((SELECT ST_Buffer(a, -0.0001) FROM resp),
           ST_Node(ST_Transform(new_line, (SELECT ST_SRID(a) FROM resp))))