view gnv-artifacts/src/main/java/de/intevation/gnv/statistics/AbstractStatistics.java @ 501:70adafe2b9d5

Speed up the "Horizontalschnitte" gnv-artifacts/trunk@584 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Wed, 20 Jan 2010 14:47:30 +0000
parents f7038820df2e
children 9a828e5a2390
line wrap: on
line source
package de.intevation.gnv.statistics;

import org.apache.commons.math.stat.descriptive.DescriptiveStatistics;

import org.apache.commons.math.stat.regression.SimpleRegression;

import org.apache.log4j.Logger;

/**
 * @author Sascha L. Teichmann (sascha.teichmann@intevation.de)
 */
public abstract class AbstractStatistics
implements            Statistics
{
    private static Logger log = Logger.getLogger(
        AbstractStatistics.class);

    public AbstractStatistics() {
    }

    protected StatisticSet generateStatisticsValues(
        DescriptiveStatistics lStatistics,
        SimpleRegression      lRegression, 
        String                statisticName
    ) {
        StatisticSet statisticSet = new StatisticSet(statisticName);
        
        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.arithmeticMean",
                lStatistics.getMean()));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.kurtosis", 
                lStatistics.getKurtosis()));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.max",
                lStatistics.getMax()));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.min",
                lStatistics.getMin()));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.n",
                lStatistics.getN()));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.percentile.90",
                lStatistics.getPercentile(90)));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.percentile.75",
                lStatistics.getPercentile(75)));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.percentile.50",
                lStatistics.getPercentile(50)));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.percentile.10",
                lStatistics.getPercentile(10)));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.deviation",
                lStatistics.getStandardDeviation()));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.variance",
                lStatistics.getVariance()));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.intercept", 
                lRegression.getIntercept()));

        statisticSet.addStatistic(
            new Statistic(
                "gnviewer.statistics.descriptive.slope",
                lRegression.getSlope()));

        return statisticSet;
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org