view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/minfo/BedQualityResult.java @ 3769:728ecd2afa20

Implemented bed quality calculation in minfo module. flys-artifacts/trunk@5474 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Raimund Renkert <raimund.renkert@intevation.de>
date Fri, 14 Sep 2012 14:20:42 +0000
parents d29cebf371ba
children 5a8f8fd5310c
line wrap: on
line source
package de.intevation.flys.artifacts.model.minfo;

import gnu.trove.TDoubleArrayList;

import java.io.Serializable;

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

public class BedQualityResult implements Serializable {

    public static enum DIAMETER_TYPE {
        D90,
        D84,
        D80,
        D75,
        D70,
        D60,
        D50,
        D40,
        D30,
        D25,
        D20,
        D16,
        D10,
        DMIN,
        DMAX
    }

    protected DIAMETER_TYPE type;
    protected TDoubleArrayList diameter;
    protected TDoubleArrayList kms;
    protected DateRange dateRange;
    protected boolean empty;

    public BedQualityResult () {
        empty = true;
    }

    public BedQualityResult (
        String type,
        TDoubleArrayList diameter,
        TDoubleArrayList km,
        DateRange range
    ) {
        if (km.size() > 0) {
            empty = false;
        }
        this.type = DIAMETER_TYPE.valueOf(type.toUpperCase());
        this.diameter = diameter;
        this.kms = km;
        this.dateRange = range;
    }

    public DIAMETER_TYPE getType() {
        return this.type;
    }

    public TDoubleArrayList getKms() {
        return this.kms;
    }

    public double getDiameter(int ndx) {
        if (diameter != null) {
            return this.diameter.get(ndx);
        }
        return Double.NaN;
    }

    public DateRange getDateRange() {
        return this.dateRange;
    }

    public void setType(DIAMETER_TYPE type) {
        this.type = type;
    }

    public boolean isEmpty() {
        return empty;
    }
    
    public double[][] getDiameterData() {
        return new double[][] {
            kms.toNativeArray(),
            diameter.toNativeArray()
        };
    }
}

http://dive4elements.wald.intevation.org