Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/utils/DataUtil.java @ 7081:3c4efd4b2c19 generator-refactoring
Simplyfy / unify "invert axis" logic
- DataUtil now can check if two datasets are in the same direction
- In the case of WKM data a no means that the Water flows Right to Left
- If the water flows from right to left do inversion of diagrams
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Fri, 20 Sep 2013 17:36:11 +0200 |
parents | af13ceeba52a |
children | 5e38e2924c07 |
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/utils/DataUtil.java Fri Sep 20 17:04:37 2013 +0200 +++ b/artifacts/src/main/java/org/dive4elements/river/utils/DataUtil.java Fri Sep 20 17:36:11 2013 +0200 @@ -14,11 +14,20 @@ public class DataUtil { - public static boolean guessWaterIncreasing(TDoubleArrayList data) { - return guessWaterIncreasing(data, 0.05f); + public static boolean guessDataIncreasing(TDoubleArrayList data) { + return guessDataIncreasing(data, 0.05f); } - public static boolean guessWaterIncreasing(TDoubleArrayList data, float factor) { + /** Guess if data1 and data2 both grow in the same direction */ + public static boolean guessSameDirectionData(TDoubleArrayList data1, + TDoubleArrayList data2) { + boolean d1dir = DataUtil.guessDataIncreasing(data1, 0.05f); + boolean d2dir = DataUtil.guessDataIncreasing(data2, 0.05f); + int size = data1.size(); + return ((d1dir && d2dir) || (!d1dir && !d2dir)) && size > 1; + } + + public static boolean guessDataIncreasing(TDoubleArrayList data, float factor) { int N = data.size(); if (N < 2) return false;