Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/states/fixation/FixRealizingCompute.java @ 7525:6650485c2c9b
Part fix for flys/issue1585: Use result from fitting to display interpolated W/Q points, too. TODO: Draw interpolated as circles.
author | Sascha L. Teichmann <teichmann@intevation.de> |
---|---|
date | Wed, 06 Nov 2013 19:12:46 +0100 |
parents | ed0e4208facd |
children | e4606eae8ea5 |
comparison
equal
deleted
inserted
replaced
7524:25d890e3eb69 | 7525:6650485c2c9b |
---|---|
6 * documentation coming with Dive4Elements River for details. | 6 * documentation coming with Dive4Elements River for details. |
7 */ | 7 */ |
8 | 8 |
9 package org.dive4elements.river.artifacts.states.fixation; | 9 package org.dive4elements.river.artifacts.states.fixation; |
10 | 10 |
11 import java.text.DateFormat; | |
12 import java.util.Collection; | |
13 import java.util.Date; | |
11 import java.util.List; | 14 import java.util.List; |
12 | 15 |
13 import org.apache.log4j.Logger; | 16 import org.apache.log4j.Logger; |
14 | 17 |
15 import org.dive4elements.artifactdatabase.state.Facet; | 18 import org.dive4elements.artifactdatabase.state.Facet; |
22 import org.dive4elements.river.artifacts.model.DataFacet; | 25 import org.dive4elements.river.artifacts.model.DataFacet; |
23 import org.dive4elements.river.artifacts.model.FacetTypes; | 26 import org.dive4elements.river.artifacts.model.FacetTypes; |
24 import org.dive4elements.river.artifacts.model.ReportFacet; | 27 import org.dive4elements.river.artifacts.model.ReportFacet; |
25 import org.dive4elements.river.artifacts.model.WQCKms; | 28 import org.dive4elements.river.artifacts.model.WQCKms; |
26 import org.dive4elements.river.artifacts.model.WQKms; | 29 import org.dive4elements.river.artifacts.model.WQKms; |
27 import org.dive4elements.river.artifacts.model.WQKmsFactory; | |
28 import org.dive4elements.river.artifacts.model.fixings.FixOutlierFacet; | 30 import org.dive4elements.river.artifacts.model.fixings.FixOutlierFacet; |
29 import org.dive4elements.river.artifacts.model.fixings.FixRealizingCalculation; | 31 import org.dive4elements.river.artifacts.model.fixings.FixRealizingCalculation; |
30 import org.dive4elements.river.artifacts.model.fixings.FixRealizingResult; | 32 import org.dive4elements.river.artifacts.model.fixings.FixRealizingResult; |
31 import org.dive4elements.river.artifacts.model.fixings.FixEventFacet; | 33 import org.dive4elements.river.artifacts.model.fixings.FixReferenceEventsFacet; |
32 import org.dive4elements.river.artifacts.model.fixings.FixWQCurveFacet; | 34 import org.dive4elements.river.artifacts.model.fixings.FixWQCurveFacet; |
33 import org.dive4elements.river.artifacts.model.fixings.FixWaterlevelFacet; | 35 import org.dive4elements.river.artifacts.model.fixings.FixWaterlevelFacet; |
34 import org.dive4elements.river.artifacts.resources.Resources; | 36 import org.dive4elements.river.artifacts.resources.Resources; |
35 import org.dive4elements.river.artifacts.states.DefaultState; | 37 import org.dive4elements.river.artifacts.states.DefaultState; |
38 import org.dive4elements.river.utils.Formatter; | |
39 import org.dive4elements.river.utils.UniqueDateFormatter; | |
36 | 40 |
37 /** | 41 /** |
38 * State to compute the fixation realizing (vollmer) results. | 42 * State to compute the fixation realizing (vollmer) results. |
39 * | 43 * |
40 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> | 44 * @author <a href="mailto:raimund.renkert@intevation.de">Raimund Renkert</a> |
45 private static Logger logger = Logger.getLogger(FixRealizingCompute.class); | 49 private static Logger logger = Logger.getLogger(FixRealizingCompute.class); |
46 | 50 |
47 public static final String I18N_WQ_CURVE = "fix.vollmer.wq.curve"; | 51 public static final String I18N_WQ_CURVE = "fix.vollmer.wq.curve"; |
48 | 52 |
49 public static final String I18N_WQ_OUTLIER = "fix.vollmer.wq.outliers"; | 53 public static final String I18N_WQ_OUTLIER = "fix.vollmer.wq.outliers"; |
50 | |
51 public static final String I18N_WQ_EVENTS = "fix.vollmer.wq.events"; | |
52 | |
53 | 54 |
54 /** | 55 /** |
55 * The default constructor that initializes an empty State object. | 56 * The default constructor that initializes an empty State object. |
56 */ | 57 */ |
57 public FixRealizingCompute() { | 58 public FixRealizingCompute() { |
120 facets.add(wq); | 121 facets.add(wq); |
121 facets.add(w); | 122 facets.add(w); |
122 facets.add(q); | 123 facets.add(q); |
123 facets.add(csFacet); | 124 facets.add(csFacet); |
124 | 125 |
126 // XXX: THIS CAN NOT HAPPEN! REMOVE IT! | |
125 if (wqkms[i] instanceof WQCKms) { | 127 if (wqkms[i] instanceof WQCKms) { |
126 String nameC = nameW.replace( | 128 String nameC = nameW.replace( |
127 "benutzerdefiniert", | 129 "benutzerdefiniert", |
128 "benutzerdefiniert [korrigiert]"); | 130 "benutzerdefiniert [korrigiert]"); |
129 | 131 |
132 | 134 |
133 facets.add(c); | 135 facets.add(c); |
134 } | 136 } |
135 } | 137 } |
136 | 138 |
137 // Add one facet per event. | 139 DateFormat df = Formatter.getDateFormatter(context.getMeta(), "dd.MM.yyyy"); |
140 DateFormat lf = Formatter.getDateFormatter(context.getMeta(), "dd.MM.yyyy'T'HH:mm"); | |
141 | |
142 Collection<Date> reds = fixRes.getReferenceEventsDates(); | |
143 UniqueDateFormatter cf = new UniqueDateFormatter(df, lf, reds); | |
144 | |
138 int i = 0; | 145 int i = 0; |
139 for (int event: access.getEvents()) { | 146 for (Date d: reds) { |
140 facets.add(new FixEventFacet(i, FIX_EVENTS, WQKmsFactory.getWQKmsName(event))); | 147 facets.add(new FixReferenceEventsFacet( |
148 (1 << 9) | i, | |
149 FIX_EVENTS, | |
150 cf.format(d))); | |
141 i++; | 151 i++; |
142 } | 152 } |
143 | 153 |
144 if (wqkms.length > 0) { | 154 if (wqkms.length > 0) { |
145 facets.add( | 155 facets.add( |