comparison artifacts/src/main/java/org/dive4elements/river/exports/fixings/FixWQCurveGenerator.java @ 6474:6aac9ad1f8a8

issue1370: FixWQCurveGenerator: second y axis for fix-w/q diagrams.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 27 Jun 2013 12:02:09 +0200
parents 70185cd48058
children f3e5c6d6b0a2
comparison
equal deleted inserted replaced
6473:70185cd48058 6474:6aac9ad1f8a8
214 else if (LONGITUDINAL_W.equals(name) || STATIC_WQ.equals(name) 214 else if (LONGITUDINAL_W.equals(name) || STATIC_WQ.equals(name)
215 || STATIC_WKMS_INTERPOL.equals(name)) { 215 || STATIC_WKMS_INTERPOL.equals(name)) {
216 doWQOut(aaf.getData(context), aaf, doc, visible); 216 doWQOut(aaf.getData(context), aaf, doc, visible);
217 } 217 }
218 else if (name.equals(DISCHARGE_CURVE)) { 218 else if (name.equals(DISCHARGE_CURVE)) {
219 logger.debug("diso " + name);
219 doDischargeOut( 220 doDischargeOut(
220 (WINFOArtifact) aaf.getArtifact(), 221 (WINFOArtifact) aaf.getArtifact(),
221 aaf.getData(context), 222 aaf.getData(context),
222 aaf.getFacetDescription(), 223 aaf.getFacetDescription(),
223 doc, 224 doc,
373 aaf.getFacetDescription(), 374 aaf.getFacetDescription(),
374 500, // number of samples 375 500, // number of samples
375 0.0 , // start 376 0.0 , // start
376 maxQ); // end 377 maxQ); // end
377 378
378 addAxisSeries(series, YAXIS.W.idx, visible); 379 double gaugeDatum = getCurrentGaugeDatum();
380
381 double factor = (gaugeDatum == 0d) ? 1d : 100d;
382
383 if (gaugeDatum == 0d) {
384 addAxisSeries(series, YAXIS.W.idx, visible);
385 }
386 else {
387 // Use second axis at cm if at gauge.
388 for (int i = 0; i < series.getItemCount(); i++) {
389 series.updateByIndex(i, new Double(factor*(series.getY(i).doubleValue()-gaugeDatum)));
390 }
391 addAxisSeries(series, YAXIS.WCm.idx, visible);
392 }
379 } 393 }
380 else { 394 else {
381 logger.warn("doWQCurveOut: maxQ <= 0"); 395 logger.warn("doWQCurveOut: maxQ <= 0");
382 } 396 }
383 } 397 }

http://dive4elements.wald.intevation.org