# HG changeset patch # User Felix Wolfsteller # Date 1340651596 0 # Node ID cbaa49896eca935435ee7f4bdd060a1ecc7c49af # Parent 4616436a84f4e778115ca680062cd03636e084f4 Fix issue663 (step curves for longitudinal_section Qs). flys-artifacts/trunk@4791 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 4616436a84f4 -r cbaa49896eca flys-artifacts/ChangeLog --- a/flys-artifacts/ChangeLog Mon Jun 25 18:12:19 2012 +0000 +++ b/flys-artifacts/ChangeLog Mon Jun 25 19:13:16 2012 +0000 @@ -1,3 +1,13 @@ +2012-06-25 Felix Wolfsteller + + Fix issue663 ("step" curves for Q). + + * src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java + (addStepPointsKmQ): New, add "step" points for series. + + * src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java: + Use new StyledSeriesBuilder function. + 2012-06-25 Felix Wolfsteller * src/main/java/de/intevation/flys/exports/XYChartGenerator.java: diff -r 4616436a84f4 -r cbaa49896eca flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java Mon Jun 25 18:12:19 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/LongitudinalSectionGenerator.java Mon Jun 25 19:13:16 2012 +0000 @@ -42,11 +42,11 @@ { public enum YAXIS { W(0), - Q(1), - D(2); + D(1), + Q(2); protected int idx; private YAXIS(int c) { - idx = c; + idx = c; } } @@ -473,7 +473,6 @@ } - /** * Process the output for Q facets in a longitudinal section curve. * @@ -494,7 +493,7 @@ XYSeries series = new StyledXYSeries(aandf.getFacetDescription(), theme); - StyledSeriesBuilder.addPointsKmQ(series, wqkms); + StyledSeriesBuilder.addStepPointsKmQ(series, wqkms); addAxisSeries(series, YAXIS.Q.idx, visible); diff -r 4616436a84f4 -r cbaa49896eca flys-artifacts/src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java --- a/flys-artifacts/src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java Mon Jun 25 18:12:19 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java Mon Jun 25 19:13:16 2012 +0000 @@ -95,6 +95,37 @@ /** + * Add points to series (km to 1st dim, q to 2nd dim), adding points + * to achieve a step-like curve. + * + * @param series Series to add points to. + * @param points Points to add to series. + */ + public static void addStepPointsKmQ(XYSeries series, WQKms wqkms) { + if (wqkms == null) { + return; + } + + int size = wqkms.size(); + + for (int i = 0; i < size; i++) { + if (i==0) { + series.add(wqkms.getKm(i), wqkms.getQ(i), false); + } + else { + //Add two points. + double halveX = (wqkms.getKm(i-1) + wqkms.getKm(i)) / 2d; + series.add(halveX, wqkms.getQ(i-1)); + series.add(halveX, wqkms.getQ(i)); + } + if (i == size-1) { + series.add(wqkms.getKm(i), wqkms.getQ(i), false); + } + } + } + + + /** * Add points to series (q to 1st dim, w to 2nd dim). * * @param series Series to add points to.