Mercurial > dive4elements > river
annotate etl/src/main/resources/sql/flys-common.properties @ 6229:3fea9701d58d
Fix gauge determination.
If we look upstream ( a > b ) we still have to compare
the start value of our range against the gauge and not the end
value. The start value is always the relevant value as we
handle the direction by checking this against A or B of the gauge.
Also:
I will never compare doubles with == again.
I will never compare doubles with == again.
I will never compare doubles with == again.
I will never compare doubles with == again.
I will never compare doubles with == again.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Thu, 06 Jun 2013 18:23:17 +0200 |
parents | 3bb6c2a3ef72 |
children | 60f39ee19473 |
rev | line source |
---|---|
4753
a310aceb2e51
Fetch calculation range (Berechnungsstrecke) for FLYS rivers, too.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4109
diff
changeset
|
1 select.rivers = \ |
a310aceb2e51
Fetch calculation range (Berechnungsstrecke) for FLYS rivers, too.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4109
diff
changeset
|
2 SELECT r.id AS id, r.name AS name, min(wcv.position) AS min_km, max(wcv.position) AS max_km \ |
a310aceb2e51
Fetch calculation range (Berechnungsstrecke) for FLYS rivers, too.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4109
diff
changeset
|
3 FROM rivers r \ |
a310aceb2e51
Fetch calculation range (Berechnungsstrecke) for FLYS rivers, too.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4109
diff
changeset
|
4 JOIN wsts w ON r.id = w.river_id \ |
a310aceb2e51
Fetch calculation range (Berechnungsstrecke) for FLYS rivers, too.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4109
diff
changeset
|
5 JOIN wst_columns wc ON w.id = wc.wst_id \ |
a310aceb2e51
Fetch calculation range (Berechnungsstrecke) for FLYS rivers, too.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4109
diff
changeset
|
6 JOIN wst_column_values wcv ON wcv.wst_column_id = wc.id \ |
a310aceb2e51
Fetch calculation range (Berechnungsstrecke) for FLYS rivers, too.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4109
diff
changeset
|
7 WHERE w.kind = 0 \ |
a310aceb2e51
Fetch calculation range (Berechnungsstrecke) for FLYS rivers, too.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4109
diff
changeset
|
8 GROUP BY r.id, r.name |
5257
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
9 select.gauges = \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
10 SELECT id, name, official_number \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
11 FROM gauges \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
12 WHERE river_id = :river_id |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
13 next.gauge.id = \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
14 SELECT NEXTVAL('GAUGES_ID_SEQ') AS gauge_id |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
15 insert.gauge = \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
16 INSERT INTO gauges (id, name, river_id, station, aeo, official_number, datum) \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
17 VALUES(:id, :name, :river_id, :station, :aeo, :official_number, :datum) |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
18 select.timeintervals = \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
19 SELECT id, start_time, stop_time FROM time_intervals |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
20 next.timeinterval.id = \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
21 SELECT NEXTVAL('TIME_INTERVALS_ID_SEQ') AS time_interval_id |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
22 insert.timeinterval = \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
23 INSERT INTO time_intervals (id, start_time, stop_time) \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
24 VALUES (:id, :start_time, :stop_time) |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
25 next.discharge.id = \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
26 SELECT NEXTVAL('DISCHARGE_TABLES_ID_SEQ') AS discharge_table_id |
4775
d9f1202cef78
Do the pairing of FLYS and AFT discharge tables by the field 'ABFLUSSTAFEL.BFG_ID' in
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4753
diff
changeset
|
27 insert.dischargetable = \ |
d9f1202cef78
Do the pairing of FLYS and AFT discharge tables by the field 'ABFLUSSTAFEL.BFG_ID' in
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4753
diff
changeset
|
28 INSERT INTO discharge_tables \ |
d9f1202cef78
Do the pairing of FLYS and AFT discharge tables by the field 'ABFLUSSTAFEL.BFG_ID' in
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4753
diff
changeset
|
29 (id, gauge_id, description, bfg_id, kind, time_interval_id) \ |
d9f1202cef78
Do the pairing of FLYS and AFT discharge tables by the field 'ABFLUSSTAFEL.BFG_ID' in
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4753
diff
changeset
|
30 VALUES (:id, :gauge_id, :description, :bfg_id, 1, :time_interval_id) |
5257
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
31 select.discharge.table.values = \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
32 SELECT id, w, q FROM discharge_table_values WHERE table_id = :table_id |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
33 next.discharge.table.values.id = \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
34 SELECT NEXTVAL('DISCHARGE_TABLE_VALUES_ID_SEQ') AS discharge_table_values_id |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
35 insert.discharge.table.value = \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
36 INSERT INTO discharge_table_values (id, table_id, w, q) \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
37 VALUES (:id, :table_id, :w, :q) |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
38 delete.discharge.table.value = \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
39 DELETE FROM discharge_table_values WHERE id = :id |
4775
d9f1202cef78
Do the pairing of FLYS and AFT discharge tables by the field 'ABFLUSSTAFEL.BFG_ID' in
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4753
diff
changeset
|
40 select.gauge.discharge.tables = \ |
d9f1202cef78
Do the pairing of FLYS and AFT discharge tables by the field 'ABFLUSSTAFEL.BFG_ID' in
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4753
diff
changeset
|
41 SELECT \ |
5257
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
42 dt.id AS id, \ |
4775
d9f1202cef78
Do the pairing of FLYS and AFT discharge tables by the field 'ABFLUSSTAFEL.BFG_ID' in
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4753
diff
changeset
|
43 dt.description AS description, \ |
5257
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
44 ti.start_time AS start_time, \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
45 ti.stop_time AS stop_time, \ |
46e984a3d576
Break long lines in FLYS statements.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4775
diff
changeset
|
46 dt.bfg_id AS bfg_id \ |
4775
d9f1202cef78
Do the pairing of FLYS and AFT discharge tables by the field 'ABFLUSSTAFEL.BFG_ID' in
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4753
diff
changeset
|
47 FROM discharge_tables dt \ |
d9f1202cef78
Do the pairing of FLYS and AFT discharge tables by the field 'ABFLUSSTAFEL.BFG_ID' in
Sascha L. Teichmann <teichmann@intevation.de>
parents:
4753
diff
changeset
|
48 LEFT OUTER JOIN time_intervals ti ON dt.time_interval_id = ti.id \ |
5995
3bb6c2a3ef72
River ETL: Limit the discharge tables to load to the historical (kind = 1) ones. This prevents the wrong tables (values) to be deleted.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5930
diff
changeset
|
49 WHERE dt.gauge_id = :gauge_id AND dt.kind = 1 |
5258
da1e897c7224
Set the BFG_ID for current discharge tables in FLYS.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5257
diff
changeset
|
50 select.gauge.master.discharge.table = \ |
da1e897c7224
Set the BFG_ID for current discharge tables in FLYS.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5257
diff
changeset
|
51 SELECT \ |
da1e897c7224
Set the BFG_ID for current discharge tables in FLYS.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5257
diff
changeset
|
52 dt.id AS id, \ |
da1e897c7224
Set the BFG_ID for current discharge tables in FLYS.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5257
diff
changeset
|
53 dt.bfg_id AS bfg_id \ |
da1e897c7224
Set the BFG_ID for current discharge tables in FLYS.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5257
diff
changeset
|
54 FROM discharge_tables dt JOIN gauges g ON dt.gauge_id = g.id \ |
5479
11fba4dabe05
AFT/DIPS: Fixed wrond SQL statement.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5258
diff
changeset
|
55 WHERE g.id = :gauge_id AND dt.kind = 0 |
5258
da1e897c7224
Set the BFG_ID for current discharge tables in FLYS.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5257
diff
changeset
|
56 update.bfg.id.discharge.table = \ |
da1e897c7224
Set the BFG_ID for current discharge tables in FLYS.
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5257
diff
changeset
|
57 UPDATE discharge_tables SET bfg_id = :bfg_id WHERE id = :id |
5930
33e514a0c6b7
Delete discharge tables which are in AFT but not in FLYS. Fixed Oracle specific pom.xml
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
58 delete.discharge.table.values = \ |
33e514a0c6b7
Delete discharge tables which are in AFT but not in FLYS. Fixed Oracle specific pom.xml
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
59 DELETE from discharge_table_values where table_id = :id |
33e514a0c6b7
Delete discharge tables which are in AFT but not in FLYS. Fixed Oracle specific pom.xml
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
60 delete.discharge.table = \ |
33e514a0c6b7
Delete discharge tables which are in AFT but not in FLYS. Fixed Oracle specific pom.xml
Sascha L. Teichmann <teichmann@intevation.de>
parents:
5838
diff
changeset
|
61 DELETE from discharge_tables where id = :id and kind = 1 |