felix@1163: package de.intevation.flys.utils; felix@1163: felix@1163: import java.util.Random; felix@1163: felix@1163: import de.intevation.flys.artifacts.model.WKms; felix@1163: felix@1163: public class DataUtil felix@1163: { felix@1163: // TODO: resolve duplicate in WQKms felix@1163: public static boolean guessWaterIncreasing(WKms wkms) { felix@1163: return guessWaterIncreasing(wkms, 0.05f); felix@1163: } felix@1163: felix@1163: // TODO: resolve duplicate in WQKms felix@1163: public static boolean guessWaterIncreasing(WKms wkms, float factor) { felix@1163: int N = wkms.size(); felix@1163: if (N < 2) return false; felix@1163: felix@1163: int samples = (int)(factor*N) + 1; felix@1163: felix@1163: int up = 0; felix@1163: felix@1163: Random rand = new Random(); felix@1163: felix@1163: for (int i = 0; i < samples; ++i) { felix@1163: int pos2 = rand.nextInt(N-1) + 1; felix@1163: if (pos2 == 0) continue; felix@1163: int pos1 = rand.nextInt(pos2); felix@1163: double w1 = wkms.getW(pos1); felix@1163: double w2 = wkms.getW(pos2); felix@1163: if (w2 > w1) ++up; felix@1163: } felix@1163: felix@1163: return up > samples/2; felix@1163: } felix@1163: }