view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/WKmsImpl.java @ 5622:b28a6d05e969

Add a new mechanism in mapfish print call to add arbitary data maps Data properties are identified by starting with mapfish-data and they are then split in info value pairs where info can be the description of the information and value the value of the information to be transported in the data map.
author Andre Heinecke <aheinecke@intevation.de>
date Tue, 09 Apr 2013 19:04:32 +0200
parents 44dc117aa2b7
children
line wrap: on
line source
package de.intevation.flys.artifacts.model;

import gnu.trove.TDoubleArrayList;

import de.intevation.flys.utils.DataUtil;


public class WKmsImpl
extends      NamedObjectImpl
implements   WKms
{
    protected TDoubleArrayList kms;
    protected TDoubleArrayList ws;

    public WKmsImpl() {
        super("");
        kms = new TDoubleArrayList();
        ws  = new TDoubleArrayList();
    }


    /**
     * Create named, empty WKms.
     */
    public WKmsImpl(String name) {
        super(name);
        kms = new TDoubleArrayList();
        ws  = new TDoubleArrayList();
    }


    public WKmsImpl(int capacity) {
        super("");
        kms = new TDoubleArrayList(capacity);
        ws  = new TDoubleArrayList(capacity);
    }


    public WKmsImpl(TDoubleArrayList kms, TDoubleArrayList ws) {
        this(kms, ws, "");
    }


    public WKmsImpl(
        TDoubleArrayList kms,
        TDoubleArrayList ws,
        String           name
    ) {
        super(name);
        this.kms = kms;
        this.ws  = ws;
    }


    /**
     * Add a W (in NN+m) for a km (in km).
     */
    public void add(double km, double w) {
        kms.add(km);
        ws .add(w);
    }


    @Override
    public double getW(int index) {
        return ws.getQuick(index);
    }


    @Override
    public double getKm(int index) {
        return kms.getQuick(index);
    }

    @Override
    public boolean guessWaterIncreasing() {
        return guessWaterIncreasing(0.05f);
    }

    protected boolean guessWaterIncreasing(float factor) {
        return DataUtil.guessWaterIncreasing(ws, factor);
    }

    @Override
    public int size() {
        return kms.size();
    }

    @Override
    public TDoubleArrayList allKms() {
        return kms;
    }

    @Override
    public TDoubleArrayList allWs() {
        return ws;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf-8 :

http://dive4elements.wald.intevation.org