comparison artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java @ 8541:c0334399625b

(issue1753) Add measurements to CSV export
author Andre Heinecke <andre.heinecke@intevation.de>
date Fri, 13 Feb 2015 12:35:18 +0100
parents e4606eae8ea5
children 4eb1a3c71579
comparison
equal deleted inserted replaced
8540:422a78fbb4df 8541:c0334399625b
28 import org.dive4elements.artifacts.CallMeta; 28 import org.dive4elements.artifacts.CallMeta;
29 29
30 import org.dive4elements.river.artifacts.model.CalculationResult; 30 import org.dive4elements.river.artifacts.model.CalculationResult;
31 import org.dive4elements.river.artifacts.model.sq.SQFractionResult; 31 import org.dive4elements.river.artifacts.model.sq.SQFractionResult;
32 import org.dive4elements.river.artifacts.model.sq.SQResult; 32 import org.dive4elements.river.artifacts.model.sq.SQResult;
33 import org.dive4elements.river.artifacts.model.sq.SQ;
33 import org.dive4elements.river.artifacts.model.sq.SQRelationJRDataSource; 34 import org.dive4elements.river.artifacts.model.sq.SQRelationJRDataSource;
34 import org.dive4elements.river.artifacts.model.Parameters; 35 import org.dive4elements.river.artifacts.model.Parameters;
35 import org.dive4elements.river.artifacts.model.DateRange; 36 import org.dive4elements.river.artifacts.model.DateRange;
36 import org.dive4elements.river.artifacts.access.SQRelationAccess; 37 import org.dive4elements.river.artifacts.access.SQRelationAccess;
37 38
100 "export.sqrelation.csv.info.param.e"; 101 "export.sqrelation.csv.info.param.e";
101 102
102 public static final String INFO_PARAM_F = 103 public static final String INFO_PARAM_F =
103 "export.sqrelation.csv.info.param.f"; 104 "export.sqrelation.csv.info.param.f";
104 105
106 public static final String INFO_Q =
107 "export.sqrelation.csv.info.q";
108
109 public static final String INFO_S_KG =
110 "export.sqrelation.csv.info.s_kg";
111
112 public static final String INFO_DATE =
113 "export.sqrelation.csv.info.date";
114
105 public static final String CSV_PARAMETER = 115 public static final String CSV_PARAMETER =
106 "export.sqrelation.csv.header.parameter"; 116 "export.sqrelation.csv.header.parameter";
107 117
108 public static final String CSV_STATION = 118 public static final String CSV_STATION =
109 "export.sqrelation.csv.header.station"; 119 "export.sqrelation.csv.header.station";
144 public static final String CSV_QMAX = 154 public static final String CSV_QMAX =
145 "export.sqrelation.csv.header.qmax"; 155 "export.sqrelation.csv.header.qmax";
146 156
147 public static final String CSV_SD = 157 public static final String CSV_SD =
148 "export.sqrelation.csv.header.sd"; 158 "export.sqrelation.csv.header.sd";
159
160 public static final String CSV_S_KG =
161 "export.sqrelation.csv.header.s_kg";
162
163 public static final String CSV_Q =
164 "export.sqrelation.csv.header.q";
165
166 public static final String CSV_DATE =
167 "export.sqrelation.csv.header.date";
149 168
150 public static final String PDF_TITLE= 169 public static final String PDF_TITLE=
151 "export.sqrelation.pdf.title"; 170 "export.sqrelation.pdf.title";
152 171
153 public static final String PDF_HEADER_MODE = 172 public static final String PDF_HEADER_MODE =
182 msg(CSV_QMAX), 201 msg(CSV_QMAX),
183 msg(CSV_COEFF_R), 202 msg(CSV_COEFF_R),
184 msg(CSV_N_TOTAL), 203 msg(CSV_N_TOTAL),
185 msg(CSV_N_OUTLIERS), 204 msg(CSV_N_OUTLIERS),
186 msg(CSV_C_DUAN), 205 msg(CSV_C_DUAN),
187 msg(CSV_C_FERGUSON) 206 msg(CSV_C_FERGUSON),
207 msg(CSV_S_KG),
208 msg(CSV_Q),
209 msg(CSV_DATE)
188 }); 210 });
189 } 211 }
190 212
191 @Override 213 @Override
192 protected void writeCSVData(CSVWriter writer) { 214 protected void writeCSVData(CSVWriter writer) {
205 msg(INFO_PARAM_A), 227 msg(INFO_PARAM_A),
206 msg(INFO_PARAM_B), 228 msg(INFO_PARAM_B),
207 msg(INFO_PARAM_C), 229 msg(INFO_PARAM_C),
208 msg(INFO_PARAM_D), 230 msg(INFO_PARAM_D),
209 msg(INFO_PARAM_E), 231 msg(INFO_PARAM_E),
210 msg(INFO_PARAM_F) 232 msg(INFO_PARAM_F),
233 msg(INFO_S_KG),
234 msg(INFO_Q),
235 msg(INFO_DATE)
211 }); 236 });
212 237
213 writeCSVHeader(writer); 238 writeCSVHeader(writer);
214 239
215 for (SQResult [] results: data) { 240 for (SQResult [] results: data) {
227 NumberFormat sqAFormatter = Formatter.getSQRelationA(context); 252 NumberFormat sqAFormatter = Formatter.getSQRelationA(context);
228 NumberFormat sqBFormatter = Formatter.getSQRelationB(context); 253 NumberFormat sqBFormatter = Formatter.getSQRelationB(context);
229 NumberFormat fThreeFormatter = Formatter.getFormatter(context, 3, 3); 254 NumberFormat fThreeFormatter = Formatter.getFormatter(context, 3, 3);
230 NumberFormat fTwoFormatter = Formatter.getFormatter(context, 2, 2); 255 NumberFormat fTwoFormatter = Formatter.getFormatter(context, 2, 2);
231 NumberFormat fZeroFormatter = Formatter.getFormatter(context, 0, 0); 256 NumberFormat fZeroFormatter = Formatter.getFormatter(context, 0, 0);
257 DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT,
258 Resources.getLocale(context.getMeta()));
232 259
233 for (int i = 0; i < SQResult.NUMBER_FRACTIONS; ++i) { 260 for (int i = 0; i < SQResult.NUMBER_FRACTIONS; ++i) {
234 SQFractionResult fraction = result.getFraction(i); 261 SQFractionResult fraction = result.getFraction(i);
235 262
236 String name = result.getFractionName(i); 263 String name = result.getFractionName(i);
254 281
255 282
256 o = String.valueOf(fraction.totalNumOutliers()); 283 o = String.valueOf(fraction.totalNumOutliers());
257 t = String.valueOf(fraction.numMeasurements()); 284 t = String.valueOf(fraction.numMeasurements());
258 285
259 retval.add(new String[] { 286 for (SQ sq: fraction.getMeasurements()) {
260 km, 287 retval.add(new String[] {
261 name, 288 km,
262 a, 289 name,
263 b, 290 a,
264 sd, // 4 291 b,
265 max_q, // 5 292 sd, // 4
266 r2, // 6 293 max_q, // 5
267 t, // 7 294 r2, // 6
268 o, // 8 295 t, // 7
269 c_duan, // 9 296 o, // 8
270 c_ferguson // 10 297 c_duan, // 9
271 }); 298 c_ferguson, // 10
299 sqAFormatter.format(sq.getS()),
300 fZeroFormatter.format(sq.getQ()),
301 df.format(sq.getDate())
302 });
303 }
304
272 } 305 }
273 return retval; 306 return retval;
274 } 307 }
275 308
276 309

http://dive4elements.wald.intevation.org