view flys-artifacts/src/main/java/de/intevation/flys/utils/DataUtil.java @ 1190:f514894ec2fd

merged flys-artifacts/2.5
author Thomas Arendsen Hein <thomas@intevation.de>
date Fri, 28 Sep 2012 12:14:17 +0200
parents 2e0739853807
children 03fbf1b30e72
line wrap: on
line source
package de.intevation.flys.utils;

import java.util.Random;

import de.intevation.flys.artifacts.model.WKms;

public class DataUtil
{
    // TODO: resolve duplicate in WQKms
    public static boolean guessWaterIncreasing(WKms wkms) {
        return guessWaterIncreasing(wkms, 0.05f);
    }

    // TODO: resolve duplicate in WQKms
    public static boolean guessWaterIncreasing(WKms wkms, float factor) {
        int N = wkms.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;
            if (pos2 == 0) continue;
            int    pos1 = rand.nextInt(pos2);
            double w1   = wkms.getW(pos1);
            double w2   = wkms.getW(pos2);
            if (w2 > w1) ++up;
        }
    
        return up > samples/2;
    }
}

http://dive4elements.wald.intevation.org