Mercurial > dive4elements > river
view artifacts/src/main/java/org/dive4elements/river/utils/DataUtil.java @ 6317:294742a49c1c
Add gauge validity information to dischargecurve exporter
author | Andre Heinecke <aheinecke@intevation.de> |
---|---|
date | Wed, 12 Jun 2013 18:09:18 +0200 |
parents | af13ceeba52a |
children | 3c4efd4b2c19 |
line wrap: on
line source
/* Copyright (C) 2011, 2012, 2013 by Bundesanstalt für Gewässerkunde * Software engineering by Intevation GmbH * * This file is Free Software under the GNU AGPL (>=v3) * and comes with ABSOLUTELY NO WARRANTY! Check out the * documentation coming with Dive4Elements River for details. */ package org.dive4elements.river.utils; import java.util.Random; import gnu.trove.TDoubleArrayList; public class DataUtil { public static boolean guessWaterIncreasing(TDoubleArrayList data) { return guessWaterIncreasing(data, 0.05f); } public static boolean guessWaterIncreasing(TDoubleArrayList data, float factor) { int N = data.size(); if (N < 2) return false; int samples = (int)(factor*N) + 1; int up = 0; Random rand = new Random(); for (int i = 0; i < samples; ++i) { int pos2 = rand.nextInt(N-1) + 1; int pos1 = rand.nextInt(pos2); double w1 = data.getQuick(pos1); double w2 = data.getQuick(pos2); if (w2 > w1) ++up; } return up > samples/2; } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :