comparison schema/default_sysconfig.sql @ 4618:0f2c3cb139cc geoserver_sql_views

Merge default into geoserver_sql_views
author Tom Gottfried <tom@intevation.de>
date Fri, 20 Sep 2019 15:35:16 +0200
parents b605e91f08f0
children 4476ec4db818
comparison
equal deleted inserted replaced
4617:ae840f9eb4c8 4618:0f2c3cb139cc
41 g.source_organization, 41 g.source_organization,
42 g.erased, 42 g.erased,
43 r.rwls AS reference_water_levels, 43 r.rwls AS reference_water_levels,
44 wl.measure_date AS gm_measuredate, 44 wl.measure_date AS gm_measuredate,
45 wl.water_level AS gm_waterlevel, 45 wl.water_level AS gm_waterlevel,
46 wl_14d.n AS gm_n_14d, 46 wl.n AS gm_n_14d,
47 fca.forecast_accuracy_3d, 47 fca.forecast_accuracy_3d,
48 fca.forecast_accuracy_1d 48 fca.forecast_accuracy_1d
49 FROM waterway.gauges g 49 FROM waterway.gauges g
50 LEFT JOIN (SELECT location, validity, 50 LEFT JOIN (SELECT location, validity,
51 json_strip_nulls(json_object_agg( 51 json_strip_nulls(json_object_agg(
54 GROUP BY location, validity) AS r 54 GROUP BY location, validity) AS r
55 USING (location, validity) 55 USING (location, validity)
56 LEFT JOIN (SELECT DISTINCT ON (location) 56 LEFT JOIN (SELECT DISTINCT ON (location)
57 location, 57 location,
58 measure_date, 58 measure_date,
59 water_level 59 water_level,
60 FROM waterway.gauge_measurements 60 count(*) OVER (PARTITION BY location) AS n
61 ORDER BY location, measure_date DESC) AS wl
62 USING (location)
63 LEFT JOIN (SELECT location, count(water_level) AS n
64 FROM waterway.gauge_measurements 61 FROM waterway.gauge_measurements
65 -- consider all measurements within 14 days plus a tolerance 62 -- consider all measurements within 14 days plus a tolerance
66 WHERE measure_date 63 WHERE measure_date
67 >= current_timestamp - '14 days 00:15'::interval 64 >= current_timestamp - '14 days 00:15'::interval
68 GROUP BY location) AS wl_14d 65 ORDER BY location, measure_date DESC) AS wl
69 USING (location) 66 USING (location)
70 LEFT JOIN (SELECT location, 67 LEFT JOIN (SELECT DISTINCT ON (location)
71 max(acc) FILTER (WHERE 68 location,
72 measure_date <= current_timestamp + '1 day'::interval) 69 max(acc) FILTER (WHERE measure_date
73 AS forecast_accuracy_1d, 70 <= current_timestamp + '1 day'::interval)
74 max(acc) AS forecast_accuracy_3d 71 OVER loc_date_issue AS forecast_accuracy_1d,
75 FROM waterway.gauge_predictions, 72 max(acc) OVER loc_date_issue AS forecast_accuracy_3d
76 GREATEST(water_level - lower(conf_interval), 73 FROM (SELECT location, date_issue, measure_date,
77 upper(conf_interval) - water_level) AS acc (acc) 74 GREATEST(water_level - lower(conf_interval),
78 WHERE measure_date 75 upper(conf_interval) - water_level) AS acc
79 BETWEEN current_timestamp 76 FROM waterway.gauge_predictions
80 AND current_timestamp + '3 days'::interval 77 -- consider predictions made within last 14 days ...
81 GROUP BY location) AS fca 78 WHERE date_issue
79 >= current_timestamp - '14 days 00:15'::interval
80 -- ... for the next three days from now
81 AND measure_date BETWEEN current_timestamp
82 AND current_timestamp + '3 days'::interval) AS acc
83 WINDOW loc_date_issue AS (PARTITION BY location, date_issue)
84 ORDER BY location, date_issue DESC) AS fca
82 USING (location) 85 USING (location)
83 $$); 86 $$);
84 87
85 INSERT INTO sys_admin.published_services (schema, name, srid, view_def) VALUES 88 INSERT INTO sys_admin.published_services (schema, name, srid, view_def) VALUES
86 -- Directly accessed tables 89 -- Directly accessed tables
143 s.area::Geometry(MULTIPOLYGON, 4326), 146 s.area::Geometry(MULTIPOLYGON, 4326),
144 s.objnam, 147 s.objnam,
145 s.nobjnam, 148 s.nobjnam,
146 s.date_info, 149 s.date_info,
147 s.source_organization, 150 s.source_organization,
148 (SELECT string_agg(country_code, ', ') 151 (SELECT string_agg(country, ', ')
149 FROM waterway.stretch_countries 152 FROM users.stretch_countries
150 WHERE stretches_id = s.id) AS countries, 153 WHERE stretch_id = s.id) AS countries,
151 s.staging_done, 154 s.staging_done,
152 min(g.gm_measuredate) AS gm_measuredate, 155 min(g.gm_measuredate) AS gm_measuredate,
153 min(g.gm_n_14d) AS gm_n_14d, 156 min(g.gm_n_14d) AS gm_n_14d,
154 max(g.forecast_accuracy_3d) AS forecast_accuracy_3d, 157 max(g.forecast_accuracy_3d) AS forecast_accuracy_3d,
155 max(g.forecast_accuracy_1d) AS forecast_accuracy_1d 158 max(g.forecast_accuracy_1d) AS forecast_accuracy_1d
156 FROM waterway.stretches s 159 FROM users.stretches s
157 LEFT JOIN ( 160 LEFT JOIN (
158 $$ || (SELECT def FROM base_views WHERE name = 'gauges_base_view') || $$ 161 $$ || (SELECT def FROM base_views WHERE name = 'gauges_base_view') || $$
159 WHERE NOT erased) AS g 162 WHERE NOT erased) AS g
160 ON g.location <@ s.stretch 163 ON g.location <@ s.stretch
161 GROUP BY s.id 164 GROUP BY s.id