Mercurial > dive4elements > river
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); |