diff schema/geoserver_views.sql @ 3480:965b2fbb1890

Colorize gauge symbol based on availability of measurements
author Tom Gottfried <tom@intevation.de>
date Mon, 27 May 2019 15:45:55 +0200
parents 096968d5628f
children ef4803f87631
line wrap: on
line diff
--- a/schema/geoserver_views.sql	Mon May 27 15:08:44 2019 +0200
+++ b/schema/geoserver_views.sql	Mon May 27 15:45:55 2019 +0200
@@ -12,7 +12,9 @@
         g.date_info,
         g.source_organization,
         r.rwls AS reference_water_levels,
+        wl.measure_date AS gm_measuredate,
         wl.water_level AS gm_waterlevel,
+        wl_14d.n AS gm_n_14d,
         fca.forecast_accuracy_3d,
         fca.forecast_accuracy_1d
     FROM waterway.gauges g
@@ -22,10 +24,20 @@
                 FROM waterway.gauges_reference_water_levels
                 GROUP BY location, validity) AS r
             USING (location, validity)
-        LEFT JOIN (SELECT DISTINCT ON (location) location, water_level
+        LEFT JOIN (SELECT DISTINCT ON (location)
+                    location,
+                    measure_date,
+                    water_level
                 FROM waterway.gauge_measurements
                 ORDER BY location, measure_date DESC) AS wl
             USING (location)
+        LEFT JOIN (SELECT location, count(water_level) AS n
+                FROM waterway.gauge_measurements
+                -- consider all measurements within 14 days plus a tolerance
+                WHERE measure_date
+                    >= current_timestamp - '14 days 00:15'::interval
+                GROUP BY location) AS wl_14d
+            USING (location)
         LEFT JOIN (SELECT location,
                     max(acc) FILTER (WHERE
                         measure_date <= current_timestamp + '1 day'::interval)