package de.fub.agg2graph.gpseval.data; import de.fub.agg2graph.gpseval.features.Feature; import java.util.HashMap; import java.util.Map; /** * An AggregatedData-instance contains aggregated data for a single GPS-track. * <p>These data is stored on a per-feature-basis. For example you may have a * feature "avgSpeed", which value was calculated based on each waypoint of a * GPS-track.</p> */ public class AggregatedData { private Map<String, Double> mData = new HashMap<>(); /** * Add data for a feature-id. * * <p>Mostly you would use * {@link de.fub.agg2graph.gpseval.data.AggregatedData#addData(Feature feature) addData} * to add new feature-data.</p> * * @param featureId * @param val */ public void addData(String featureId, double val) { mData.put(featureId, val); } /** * Add the data given by the Feature-instance. * * <p>The Feature's result-value will be added to the * AggregatedData-instance (for the Feature's identifier).</p> * * @param feature The Feature-instance to get data from */ public void addData(Feature feature) { mData.put(feature.getIdentifier(), feature.getResult()); } /** * Returns the data for a given Feature-id. * * @param featureId * @return */ public double getData(String featureId) { return mData.get(featureId); } }