comparison artifacts/src/main/java/org/dive4elements/river/exports/minfo/BedQualityExporter.java @ 8653:dbec49147f54

(issue1755) Do not create interpolated themes and disable export of non interpolatable data. Due to the fact that data can contain NaN's which will be filtered out before creating the interpolator this requires the actual check for interpolatable data when data is set in the ResultValue
author Andre Heinecke <andre.heinecke@intevation.de>
date Wed, 01 Apr 2015 17:10:03 +0200
parents 0d15ebafbd0e
children 3a9ce890e4c7
comparison
equal deleted inserted replaced
8652:22f01b7e802e 8653:dbec49147f54
51 51
52 double[] kms = new RangeAccess((D4EArtifact) master).getKmSteps(); 52 double[] kms = new RangeAccess((D4EArtifact) master).getKmSteps();
53 53
54 int cols = 1; 54 int cols = 1;
55 for (BedQualityResult result: results) { 55 for (BedQualityResult result: results) {
56 cols += result.getValues().size(); 56 for (BedQualityResultValue value :result.getValues()) {
57 if (value.isInterpolateable()) {
58 /* Only add results that can be interpolated */
59 cols++;
60 }
61 }
57 } 62 }
58 if (cols == 1) { 63 if (cols == 1) {
59 return new ArrayList<double[]>(); 64 return new ArrayList<double[]>();
60 } 65 }
61 66
65 row[0] = km; 70 row[0] = km;
66 int resultOffset = 1; 71 int resultOffset = 1;
67 for (BedQualityResult result: results) { 72 for (BedQualityResult result: results) {
68 int i = resultOffset; 73 int i = resultOffset;
69 for (BedQualityResultValue value: result.getValues()) { 74 for (BedQualityResultValue value: result.getValues()) {
70 row[i++] = value.getDataInterpolated(km); 75 if (value.isInterpolateable()) {
76 row[i++] = value.getDataInterpolated(km);
77 }
71 } 78 }
72 resultOffset = i; 79 resultOffset = i;
73 } 80 }
74 rows.add(row); 81 rows.add(row);
75 } 82 }
133 DateFormat df = Formatter.getDateFormatter(context.getMeta(), "dd.MM.yyyy"); 140 DateFormat df = Formatter.getDateFormatter(context.getMeta(), "dd.MM.yyyy");
134 for (BedQualityResult result: results) { 141 for (BedQualityResult result: results) {
135 String d1 = df.format(result.getDateRange().getFrom()); 142 String d1 = df.format(result.getDateRange().getFrom());
136 String d2 = df.format(result.getDateRange().getTo()); 143 String d2 = df.format(result.getDateRange().getTo());
137 for (BedQualityResultValue value: result.getValues()) { 144 for (BedQualityResultValue value: result.getValues()) {
145 if (!value.isInterpolateable()) {
146 continue;
147 }
138 String i18n; 148 String i18n;
139 if (value.isDiameterResult()) { 149 if (value.isDiameterResult()) {
140 i18n = CSV_HEADER_BASE + ".diameter." + value.getType(); 150 i18n = CSV_HEADER_BASE + ".diameter." + value.getType();
141 header.add(msg(i18n, i18n) + 151 header.add(msg(i18n, i18n) +
142 " - " + value.getName() + " - " + d1 + "-" + d2); 152 " - " + value.getName() + " - " + d1 + "-" + d2);

http://dive4elements.wald.intevation.org