view flys-artifacts/src/main/java/de/intevation/flys/utils/DataUtil.java @ 4902:e1566938d04c

Added new functions to datacage templating language. * get minimum of location/distance: dc:fromValue($ld_mode, $ld_locations, $ld_from) - returns -Double.MAX_VALUE if no min exists. * get maximum of location/distance: dc:toValue($ld_mode, $ld_locations, $ld_to) - returns Double.MAX_VALUE if no max exists.
author Raimund Renkert <rrenkert@intevation.de>
date Tue, 29 Jan 2013 17:11:26 +0100
parents 5642a83420f2
children
line wrap: on
line source
package de.intevation.flys.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 :

http://dive4elements.wald.intevation.org