Mercurial > gemma
comparison pkg/imports/dma.go @ 2912:93fa55bce126
Add utility function to get users area of responsibility
author | Tom Gottfried <tom@intevation.de> |
---|---|
date | Tue, 02 Apr 2019 19:25:17 +0200 |
parents | 1b6840093eac |
children | 899b591493b4 |
comparison
equal
deleted
inserted
replaced
2911:a75c546ef498 | 2912:93fa55bce126 |
---|---|
75 } | 75 } |
76 | 76 |
77 const ( | 77 const ( |
78 deleteDistanceMarksSQL = ` | 78 deleteDistanceMarksSQL = ` |
79 WITH resp AS ( | 79 WITH resp AS ( |
80 SELECT best_utm(area) AS t, | 80 SELECT users.current_user_area_utm() AS a |
81 ST_Transform(area::geometry, best_utm(area)) AS a | |
82 FROM users.responsibility_areas | |
83 WHERE country = users.current_user_country() | |
84 ) | 81 ) |
85 DELETE FROM waterway.distance_marks | 82 DELETE FROM waterway.distance_marks |
86 WHERE ST_Covers( | 83 WHERE ST_Covers( |
87 (SELECT a FROM resp), | 84 (SELECT a FROM resp), |
88 ST_Transform(geom::geometry, (SELECT t FROM resp))) | 85 ST_Transform(geom::geometry, (SELECT ST_SRID(a) FROM resp))) |
89 ` | 86 ` |
90 insertDistanceMarksSQL = ` | 87 insertDistanceMarksSQL = ` |
91 WITH resp AS ( | 88 WITH resp AS ( |
92 SELECT best_utm(area) AS t, | 89 SELECT users.current_user_area_utm() AS a |
93 ST_Transform(area::geometry, best_utm(area)) AS a | |
94 FROM users.responsibility_areas | |
95 WHERE country = users.current_user_country() | |
96 ) | 90 ) |
97 INSERT INTO waterway.distance_marks (geom, catdis) | 91 INSERT INTO waterway.distance_marks (geom, catdis) |
98 SELECT ST_Transform(clipped.geom, 4326)::geography, $3 FROM ( | 92 SELECT ST_Transform(clipped.geom, 4326)::geography, $3 FROM ( |
99 SELECT (ST_Dump( | 93 SELECT (ST_Dump( |
100 ST_Intersection( | 94 ST_Intersection( |
101 (SELECT a FROM resp), | 95 (SELECT a FROM resp), |
102 ST_Transform( | 96 ST_Transform( |
103 ST_GeomFromWKB($1, $2::integer), | 97 ST_GeomFromWKB($1, $2::integer), |
104 (SELECT t FROM resp) | 98 (SELECT ST_SRID(a) FROM resp) |
105 ) | 99 ) |
106 ) | 100 ) |
107 )).geom AS geom | 101 )).geom AS geom |
108 ) AS clipped | 102 ) AS clipped |
109 WHERE clipped.geom IS NOT NULL | 103 WHERE clipped.geom IS NOT NULL |