comparison artifacts/src/main/java/org/dive4elements/river/exports/MiddleBedHeightExporter.java @ 7994:3c1a16755e61 facet-metadata

Add meta data to middle bed height CSV export.
author Raimund Renkert <rrenkert@intevation.de>
date Wed, 02 Jul 2014 14:42:43 +0200
parents 62befca02480
children 3bdb9f99b4a0
comparison
equal deleted inserted replaced
7993:150d71261cad 7994:3c1a16755e61
61 "export.bedheight_middle.csv.header.width"; 61 "export.bedheight_middle.csv.header.width";
62 62
63 public static final String CSV_LOCATIONS = 63 public static final String CSV_LOCATIONS =
64 "export.bedheight_middle.csv.header.locations"; 64 "export.bedheight_middle.csv.header.locations";
65 65
66 public static final String CSV_META_YEAR =
67 "export.bedheight_middle.csv.header.year";
68
69 public static final String CSV_META_TYPE =
70 "export.bedheight_middle.csv.header.type";
71
72 public static final String CSV_META_CUR_ELEV_MODEL =
73 "export.bedheight_middle.csv.header.cur.elevation";
74
75 public static final String CSV_META_OLD_ELEV_MODEL =
76 "export.bedheight_middle.csv.header.old.elevation";
77
78 public static final String CSV_META_SOUNDING_WIDTH =
79 "export.bedheight_middle.csv.header.sounding.width";
80
81 public static final String CSV_META_RANGE =
82 "export.bedheight_middle.csv.header.range";
83
84 public static final String CSV_META_LOC_SYSTEM =
85 "export.bedheight_middle.csv.header.location.system";
86
87 public static final String CSV_META_EVAL_BY =
88 "export.bedheight_middle.csv.header.evalby";
66 89
67 protected List<MiddleBedHeightData> data; 90 protected List<MiddleBedHeightData> data;
68 91
69 public MiddleBedHeightExporter() { 92 public MiddleBedHeightExporter() {
70 data = new ArrayList<MiddleBedHeightData>(); 93 data = new ArrayList<MiddleBedHeightData>();
88 @Override 111 @Override
89 protected void writeCSVData(CSVWriter writer) { 112 protected void writeCSVData(CSVWriter writer) {
90 logger.info("MiddleBedHeightExporter.writeCSVData"); 113 logger.info("MiddleBedHeightExporter.writeCSVData");
91 logger.debug("CSV gets " + data.size() + " MiddleBedHeightData objects."); 114 logger.debug("CSV gets " + data.size() + " MiddleBedHeightData objects.");
92 115
93 writeCSVHeader(writer);
94 116
95 Collections.sort(data); 117 Collections.sort(data);
96 118
97 for (MiddleBedHeightData d: data) { 119 for (MiddleBedHeightData d: data) {
98 data2CSV(writer, d); 120 data2CSV(writer, d);
118 140
119 protected void data2CSV(CSVWriter writer, MiddleBedHeightData data) { 141 protected void data2CSV(CSVWriter writer, MiddleBedHeightData data) {
120 logger.debug("Add next MiddleBedHeightData to CSV"); 142 logger.debug("Add next MiddleBedHeightData to CSV");
121 143
122 D4EArtifact flys = (D4EArtifact) master; 144 D4EArtifact flys = (D4EArtifact) master;
145
146 writeMetaData(writer, data);
147
148 writeCSVHeader(writer);
123 149
124 NumberFormat kmF = Formatter.getMiddleBedHeightKM(context); 150 NumberFormat kmF = Formatter.getMiddleBedHeightKM(context);
125 NumberFormat heightF = Formatter.getMiddleBedHeightHeight(context); 151 NumberFormat heightF = Formatter.getMiddleBedHeightHeight(context);
126 NumberFormat uncertF = Formatter.getMiddleBedHeightUncert(context); 152 NumberFormat uncertF = Formatter.getMiddleBedHeightUncert(context);
127 NumberFormat gapF = Formatter.getMiddleBedHeightDataGap(context); 153 NumberFormat gapF = Formatter.getMiddleBedHeightDataGap(context);
174 200
175 } 201 }
176 } 202 }
177 203
178 204
205 private void writeMetaData(CSVWriter writer, MiddleBedHeightData data) {
206 writer.writeNext(new String[]{"#"});
207 writer.writeNext(new String[]{"# " + msg(CSV_META_YEAR) +
208 ": " + data.getStartYear()});
209 writer.writeNext(new String[]{"# " + msg(CSV_META_TYPE) +
210 ": " + data.getType()});
211 writer.writeNext(new String[]{"# " + msg(CSV_META_LOC_SYSTEM) +
212 ": " + data.getLocationSystem()});
213 writer.writeNext(new String[]{"# " + msg(CSV_META_CUR_ELEV_MODEL) +
214 ": " + data.getCurElevationModel()});
215 writer.writeNext(new String[]{"# " + msg(CSV_META_OLD_ELEV_MODEL) +
216 ": " + data.getOldElevationModel()});
217 writer.writeNext(new String[]{"# " + msg(CSV_META_SOUNDING_WIDTH) +
218 ": " + data.getSoundingWidth()});
219 writer.writeNext(new String[]{"# " + msg(CSV_META_RANGE) +
220 ": " + data.getStations().min() + " - " + data.getStations().max()});
221 writer.writeNext(new String[]{"# " + msg(CSV_META_EVAL_BY) +
222 ": " + data.getEvaluatedBy()});
223 writer.writeNext(new String[]{"#"});
224 }
225
179 @Override 226 @Override
180 protected void writePDF(OutputStream out) { 227 protected void writePDF(OutputStream out) {
181 logger.error("TODO: Implement FlowVelocityExporter.writePDF"); 228 logger.error("TODO: Implement FlowVelocityExporter.writePDF");
182 } 229 }
183 } 230 }

http://dive4elements.wald.intevation.org