Mercurial > dive4elements > river
diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/Porosity.java @ 7846:e84726b48484
New Facet, datatype and data factory for porosities.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 30 Apr 2014 15:20:11 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/Porosity.java Wed Apr 30 15:20:11 2014 +0200 @@ -0,0 +1,56 @@ +/* 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 java.util.HashMap; +import java.util.Map; + + +public class Porosity +{ + + private Map<Double, Double> pairs; + + + public Porosity() { + pairs = new HashMap<Double, Double>(); + } + + public void add(double station, double porosity) { + this.pairs.put(station, porosity); + } + + public Map<Double, Double> getAll() { + return this.pairs; + } + + public double[][] getAsArray() { + double [][] array = new double[2][pairs.size()]; + Double[] kms = pairs.keySet().toArray(new Double[pairs.size()]); + Double[] porosity = pairs.values().toArray(new Double[pairs.size()]); + int realIndex = 0; + for (int i = 0; i < kms.length; i++) { + if (kms[i] == null || porosity[i] == null) { + continue; + } + array[0][realIndex] = kms[i]; + array[1][realIndex] = porosity[i]; + realIndex++; + } + return array; + } + + + public Double getWidth(double station) { + if (this.pairs.containsKey(station)) { + return this.pairs.get(station); + } + return null; + } +}