view artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/BedDiffYearResult.java @ 8098:09725b65955a

Add new and simplyfied SedimentLoadFacet The SedimentLoadFacet is intended to work with the Measurement stations. It uses the same mechanismn to access the Mesurement station values as the calculation does. SedimentLoadLS values need a different facet that will come soon.
author Andre Heinecke <andre.heinecke@intevation.de>
date Fri, 15 Aug 2014 18:27:19 +0200
parents 76b5add4f268
children 856701739443
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.artifacts.model.minfo;

import gnu.trove.TDoubleArrayList;


/** Result of a bed diff year calculation. */
public class BedDiffYearResult
extends BedDifferencesResult
{
    protected TDoubleArrayList bedHeights;
    protected TDoubleArrayList dataGap;
    protected TDoubleArrayList soundingWidth;
    protected TDoubleArrayList morphWidth1;
    protected TDoubleArrayList morphWidth2;
    protected int start;
    protected int end;
    protected String nameFirst;
    protected String nameSecond;

    public BedDiffYearResult () {
        super();
        this.bedHeights = new TDoubleArrayList();
        this.dataGap = new TDoubleArrayList();
        this.soundingWidth = new TDoubleArrayList();
        this.morphWidth1 = new TDoubleArrayList();
        this.morphWidth2 = new TDoubleArrayList();
        this.start = -1;
        this.end = -1;
    }

    /**
     * @param kms the stations the following parameters are connected to.
     * @param differences the height differences
     * @param heights1 the heights
     * @param heights2 the other heights
     * @param bedHeights the differences normalized per year in m.
     */
    public BedDiffYearResult(
        TDoubleArrayList kms,
        TDoubleArrayList differences,
        TDoubleArrayList heights1,
        TDoubleArrayList heights2,
        TDoubleArrayList morphWidth1,
        TDoubleArrayList morphWidth2,
        TDoubleArrayList soundingWidth,
        TDoubleArrayList bedHeights,
        TDoubleArrayList dataGap,
        int start,
        int end,
        String nameFirst,
        String nameSecond
    ) {
        super(kms, differences, heights1, heights2);
        this.bedHeights = bedHeights;
        this.dataGap = dataGap;
        this.soundingWidth = soundingWidth;
        this.morphWidth1 = morphWidth1;
        this.morphWidth2 = morphWidth2;
        this.start = start;
        this.end = end;
        this.nameFirst = nameFirst;
        this.nameSecond = nameSecond;
    }

    public TDoubleArrayList getBedHeights() {
        return this.bedHeights;
    }

    public TDoubleArrayList getDataGap() {
        return this.dataGap;
    }

    public TDoubleArrayList getMorphWidth1() {
        return this.morphWidth1;
    }

    public TDoubleArrayList getMorphWidth2() {
        return this.morphWidth2;
    }

    public TDoubleArrayList getSoundingWidth() {
        return this.soundingWidth;
    }

    public int getStart() {
        return this.start;
    }

    public void setStart(int value) {
        this.start = value;
    }

    public void setEnd(int value) {
        this.end = value;
    }

    public int getEnd() {
        return this.end;
    }

    /** Get name of the first BedHeight (minuend). */
    public String getNameFirst() {
        return this.nameFirst;
    }

    /** Get name of the second BedHeight (subtrahend). */
    public String getNameSecond() {
        return this.nameSecond;
    }

    public void addMorphWidth1(double value) {
        this.morphWidth1.add(value);
    }

    public void addMorphWidth2(double value) {
        this.morphWidth2.add(value);
    }

    public void addSoundingWidth(double value) {
        this.soundingWidth.add(value);
    }

    public void addBedHeights(double value) {
        this.bedHeights.add(value);
    }

    public double[][] getMorphWidth1Data() {
        return new double[][] {
            kms.toNativeArray(),
            morphWidth1.toNativeArray()
        };
    }

    public double[][] getMorphWidth2Data() {
        return new double[][] {
            kms.toNativeArray(),
            morphWidth2.toNativeArray()
        };
    }

    public double[][] getSoundingWidthData() {
        return new double[][] {
            kms.toNativeArray(),
            soundingWidth.toNativeArray()
        };
    }

    public double[][] getHeightPerYearData() {
        return new double[][] {
            kms.toNativeArray(),
            bedHeights.toNativeArray()
        };
    }

    @Override
    public String getDiffDescription() {
        return nameFirst + " - " + nameSecond;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org