Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/exports/sq/SQRelationExporter.java @ 6828:708416bb560c
(issue1347) Add new variables to SQ Relation output.
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 14 Aug 2013 15:23:36 +0200 |
parents | 8c976bb0362f |
children | eb4b123daaf7 |
comparison
equal
deleted
inserted
replaced
6827:2972a219743d | 6828:708416bb560c |
---|---|
14 import java.util.Map; | 14 import java.util.Map; |
15 import java.util.HashMap; | 15 import java.util.HashMap; |
16 import java.util.Date; | 16 import java.util.Date; |
17 import java.util.Locale; | 17 import java.util.Locale; |
18 import java.text.DateFormat; | 18 import java.text.DateFormat; |
19 import java.text.NumberFormat; | |
19 | 20 |
20 import org.w3c.dom.Document; | 21 import org.w3c.dom.Document; |
21 | 22 |
22 import net.sf.jasperreports.engine.JasperExportManager; | 23 import net.sf.jasperreports.engine.JasperExportManager; |
23 import net.sf.jasperreports.engine.JasperFillManager; | 24 import net.sf.jasperreports.engine.JasperFillManager; |
97 "export.sqrelation.csv.header.c.duan"; | 98 "export.sqrelation.csv.header.c.duan"; |
98 | 99 |
99 public static final String CSV_C_FERGUSON = | 100 public static final String CSV_C_FERGUSON = |
100 "export.sqrelation.csv.header.c.ferguson"; | 101 "export.sqrelation.csv.header.c.ferguson"; |
101 | 102 |
102 public static final String CSV_VARIANCE = | 103 public static final String CSV_QMAX = |
103 "export.sqrelation.csv.header.variance"; | 104 "export.sqrelation.csv.header.qmax"; |
105 | |
106 public static final String CSV_SD = | |
107 "export.sqrelation.csv.header.sd"; | |
104 | 108 |
105 public static final String PDF_TITLE= | 109 public static final String PDF_TITLE= |
106 "export.sqrelation.pdf.title"; | 110 "export.sqrelation.pdf.title"; |
107 | 111 |
108 public static final String PDF_HEADER_MODE = | 112 public static final String PDF_HEADER_MODE = |
134 writer.writeNext(new String[] { | 138 writer.writeNext(new String[] { |
135 msg(CSV_KM , CSV_KM), | 139 msg(CSV_KM , CSV_KM), |
136 msg(CSV_PARAMETER, CSV_PARAMETER), | 140 msg(CSV_PARAMETER, CSV_PARAMETER), |
137 msg(CSV_COEFF_A , CSV_COEFF_A), | 141 msg(CSV_COEFF_A , CSV_COEFF_A), |
138 msg(CSV_COEFF_B , CSV_COEFF_B), | 142 msg(CSV_COEFF_B , CSV_COEFF_B), |
143 msg(CSV_SD, CSV_SD), | |
144 msg(CSV_QMAX, CSV_QMAX), | |
145 msg(CSV_COEFF_R, CSV_COEFF_R), | |
139 msg(CSV_N_TOTAL , CSV_N_TOTAL), | 146 msg(CSV_N_TOTAL , CSV_N_TOTAL), |
140 msg(CSV_N_OUTLIERS, CSV_N_OUTLIERS), | 147 msg(CSV_N_OUTLIERS, CSV_N_OUTLIERS), |
141 msg(CSV_VARIANCE , CSV_VARIANCE) | 148 msg(CSV_C_DUAN, CSV_C_DUAN), |
149 msg(CSV_C_FERGUSON, CSV_C_FERGUSON) | |
142 }); | 150 }); |
143 } | 151 } |
144 | 152 |
145 @Override | 153 @Override |
146 protected void writeCSVData(CSVWriter writer) { | 154 protected void writeCSVData(CSVWriter writer) { |
158 protected List<String[]> data2StringArrays(SQResult result) { | 166 protected List<String[]> data2StringArrays(SQResult result) { |
159 String km = Formatter.getSQRelationKM(context | 167 String km = Formatter.getSQRelationKM(context |
160 ).format(result.getKm()); | 168 ).format(result.getKm()); |
161 List<String[]> retval = new ArrayList<String[]>(); | 169 List<String[]> retval = new ArrayList<String[]>(); |
162 | 170 |
171 NumberFormat sqAFormatter = Formatter.getSQRelationA(context); | |
172 NumberFormat sqBFormatter = Formatter.getSQRelationB(context); | |
173 NumberFormat fThreeFormatter = Formatter.getFormatter(context, 3, 3); | |
174 NumberFormat fTwoFormatter = Formatter.getFormatter(context, 2, 2); | |
175 NumberFormat fZeroFormatter = Formatter.getFormatter(context, 0, 0); | |
176 | |
163 for (int i = 0; i < SQResult.NUMBER_FRACTIONS; ++i) { | 177 for (int i = 0; i < SQResult.NUMBER_FRACTIONS; ++i) { |
164 SQFractionResult fraction = result.getFraction(i); | 178 SQFractionResult fraction = result.getFraction(i); |
165 | 179 |
166 String name = result.getFractionName(i); | 180 String name = result.getFractionName(i); |
167 | 181 |
169 | 183 |
170 if (parameters == null) { | 184 if (parameters == null) { |
171 continue; | 185 continue; |
172 } | 186 } |
173 | 187 |
174 String a, b, sd, o, t; | 188 String a, b, sd, o, t, max_q, c_ferguson, c_duan, r2; |
175 a = Formatter.getSQRelationA(context).format(parameters.getValue(0, "a")); | 189 a = sqAFormatter.format(parameters.getValue(0, "a")); |
176 b = Formatter.getSQRelationB(context).format(parameters.getValue(0, "b")); | 190 b = sqBFormatter.format(parameters.getValue(0, "b")); |
177 sd = Formatter.getVariance(context).format(Math.sqrt(parameters.getValue(0, "std_dev"))); | 191 |
192 /* The std_dev parameter contains the standard error actually */ | |
193 sd = fThreeFormatter.format(parameters.getValue(0, "std_dev")); | |
194 max_q = fZeroFormatter.format(parameters.getValue(0, "max_q")); | |
195 c_ferguson = fTwoFormatter.format(parameters.getValue(0, "c_ferguson")); | |
196 c_duan = fTwoFormatter.format(parameters.getValue(0, "c_duan")); | |
197 r2 = fTwoFormatter.format(parameters.getValue(0, "r2")); | |
198 | |
178 | 199 |
179 o = String.valueOf(fraction.totalNumOutliers()); | 200 o = String.valueOf(fraction.totalNumOutliers()); |
180 t = String.valueOf(fraction.numMeasurements() + o); | 201 t = String.valueOf(fraction.numMeasurements() + o); |
181 | 202 |
182 retval.add(new String[] { | 203 retval.add(new String[] { |
183 km, | 204 km, |
184 name, | 205 name, |
185 a, | 206 a, |
186 b, | 207 b, |
187 t, | 208 sd, // 4 |
188 o, | 209 max_q, // 5 |
189 sd | 210 r2, // 6 |
211 t, // 7 | |
212 o, // 8 | |
213 c_duan, // 9 | |
214 c_ferguson // 10 | |
190 }); | 215 }); |
191 } | 216 } |
192 return retval; | 217 return retval; |
193 } | 218 } |
194 | 219 |