Mercurial > dive4elements > river
diff flys-artifacts/src/main/java/de/intevation/flys/exports/StyledSeriesBuilder.java @ 3176:cbaa49896eca
Fix issue663 (step curves for longitudinal_section Qs).
flys-artifacts/trunk@4791 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Mon, 25 Jun 2012 19:13:16 +0000 |
parents | 5642a83420f2 |
children | b2ea89a665bc |
line wrap: on
line diff
--- 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.