comparison artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedDifferenceExporter.java @ 7831:b4f806999173 minfo-opt

Added new columns for morph active width.
author Raimund Renkert <rrenkert@intevation.de>
date Fri, 28 Mar 2014 11:22:18 +0100
parents e79e231c864d
children 57cb1b7ec547
comparison
equal deleted inserted replaced
7830:d9791fa3c8ad 7831:b4f806999173
31 import org.dive4elements.river.artifacts.D4EArtifact; 31 import org.dive4elements.river.artifacts.D4EArtifact;
32 import org.dive4elements.river.artifacts.access.BedDifferencesAccess; 32 import org.dive4elements.river.artifacts.access.BedDifferencesAccess;
33 import org.dive4elements.artifacts.common.utils.Config; 33 import org.dive4elements.artifacts.common.utils.Config;
34 import org.dive4elements.river.artifacts.resources.Resources; 34 import org.dive4elements.river.artifacts.resources.Resources;
35 import org.dive4elements.river.artifacts.model.CalculationResult; 35 import org.dive4elements.river.artifacts.model.CalculationResult;
36 import org.dive4elements.river.artifacts.model.minfo.BedDiffYearResult;
36 import org.dive4elements.river.artifacts.model.minfo.BedDifferencesResult; 37 import org.dive4elements.river.artifacts.model.minfo.BedDifferencesResult;
37 import org.dive4elements.river.artifacts.model.minfo.BedDifferenceJRDataSource; 38 import org.dive4elements.river.artifacts.model.minfo.BedDifferenceJRDataSource;
38 import org.dive4elements.river.exports.AbstractExporter; 39 import org.dive4elements.river.exports.AbstractExporter;
39 import org.dive4elements.river.utils.Formatter; 40 import org.dive4elements.river.utils.Formatter;
40 import org.dive4elements.river.utils.RiverUtils; 41 import org.dive4elements.river.utils.RiverUtils;
53 "export.minfo.beddifference.km"; 54 "export.minfo.beddifference.km";
54 55
55 private static final String CSV_HEADER_DIFF = 56 private static final String CSV_HEADER_DIFF =
56 "export.minfo.beddifference.diff"; 57 "export.minfo.beddifference.diff";
57 58
59 private static final String CSV_HEADER_MORPH1 =
60 "export.minfo.beddifference.morph1";
61
62 private static final String CSV_HEADER_MORPH2 =
63 "export.minfo.beddifference.morph2";
64
58 public static final String JASPER_FILE = 65 public static final String JASPER_FILE =
59 "export.minfo.beddifference.pdf.file"; 66 "export.minfo.beddifference.pdf.file";
60 67
61 public static final String PDF_TITLE= 68 public static final String PDF_TITLE=
62 "export.minfo.beddifference.pdf.title"; 69 "export.minfo.beddifference.pdf.title";
75 writeCSVHeader(writer); 82 writeCSVHeader(writer);
76 83
77 NumberFormat kmf = Formatter.getCalculationKm(context.getMeta()); 84 NumberFormat kmf = Formatter.getCalculationKm(context.getMeta());
78 NumberFormat mf = Formatter.getMeterFormat(context); 85 NumberFormat mf = Formatter.getMeterFormat(context);
79 for (BedDifferencesResult result : results) { 86 for (BedDifferencesResult result : results) {
80 double[][] kms = result.getDifferencesData(); 87 if (result instanceof BedDiffYearResult) {
81 for (int j = 0; j < kms[0].length; j++) { 88 BedDiffYearResult yResult = (BedDiffYearResult) result;
82 writer.writeNext(new String[] { 89 double[][] kms = yResult.getDifferencesData();
83 kmf.format(kms[0][j]), mf.format(kms[1][j])}); 90 double[][] morph1 = yResult.getMorphWidth1Data();
91 double[][] morph2 = yResult.getMorphWidth2Data();
92 for (int j = 0; j < kms[0].length; j++) {
93 writer.writeNext(new String[] {
94 kmf.format(kms[0][j]),
95 mf.format(kms[1][j]),
96 mf.format(morph1[1][j]),
97 mf.format(morph2[1][j])});
98 }
99 }
100 else {
101 double[][] kms = result.getDifferencesData();
102 for (int j = 0; j < kms[0].length; j++) {
103 writer.writeNext(new String[] {
104 kmf.format(kms[0][j]),
105 mf.format(kms[1][j])});
106 }
84 } 107 }
85 } 108 }
86 } 109 }
87 110
88 @Override 111 @Override
134 157
135 List<String> header = new LinkedList<String>(); 158 List<String> header = new LinkedList<String>();
136 if (results != null) { 159 if (results != null) {
137 header.add(msg(CSV_HEADER_KM, "km")); 160 header.add(msg(CSV_HEADER_KM, "km"));
138 header.add(msg(CSV_HEADER_DIFF, "m")); 161 header.add(msg(CSV_HEADER_DIFF, "m"));
162 if (results.length > 0 &&
163 results[0] instanceof BedDiffYearResult) {
164 header.add(msg(CSV_HEADER_MORPH1, "morph width minuend [m]"));
165 header.add(msg(CSV_HEADER_MORPH2, "morph width subtrahend [m]"));
166 }
139 } 167 }
140 writer.writeNext(header.toArray(new String[header.size()])); 168 writer.writeNext(header.toArray(new String[header.size()]));
141 } 169 }
142 170
143 protected BedDifferenceJRDataSource createJRData() { 171 protected BedDifferenceJRDataSource createJRData() {

http://dive4elements.wald.intevation.org