All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opentrafficsim.kpi.sampling.indicator.MeanSpeed Maven / Gradle / Ivy

There is a newer version: 1.7.5
Show newest version
package org.opentrafficsim.kpi.sampling.indicator;

import java.util.List;

import org.djunits.value.vdouble.scalar.Speed;
import org.djunits.value.vdouble.scalar.Time;
import org.opentrafficsim.kpi.interfaces.GtuData;
import org.opentrafficsim.kpi.sampling.Query;
import org.opentrafficsim.kpi.sampling.TrajectoryGroup;

/**
 * Sum of trajectory lengths divided by sum of trajectory durations.
 * 

* Copyright (c) 2013-2023 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved.
* BSD-style license. See OpenTrafficSim License. *

* @author Alexander Verbraeck * @author Peter Knoppers * @author Wouter Schakel */ public class MeanSpeed extends AbstractIndicator { /** Travel distance indicator. */ private final TotalTravelDistance travelDistance; /** Travel time indicator. */ private final TotalTravelTime travelTime; /** * @param travelDistance TotalTravelDistance; travel distance indicator * @param travelTime TotalTravelTime; travel time indicator */ public MeanSpeed(final TotalTravelDistance travelDistance, final TotalTravelTime travelTime) { this.travelDistance = travelDistance; this.travelTime = travelTime; } /** {@inheritDoc} */ @Override protected Speed calculate(final Query query, final Time startTime, final Time endTime, final List> trajectoryGroups) { return this.travelDistance.getValue(query, startTime, endTime, trajectoryGroups) .divide(this.travelTime.getValue(query, startTime, endTime, trajectoryGroups)); } /** {@inheritDoc} */ @Override @SuppressWarnings("checkstyle:designforextension") public String toString() { return "MeanSpeed [travelDistance=" + this.travelDistance + ", travelTime=" + this.travelTime + "]"; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy