1 package org.opentrafficsim.kpi.sampling.indicator;
2
3 import java.util.HashSet;
4 import java.util.List;
5 import java.util.Set;
6
7 import org.djunits.unit.LengthUnit;
8 import org.djunits.unit.TimeUnit;
9 import org.djunits.value.vdouble.scalar.Duration;
10 import org.djunits.value.vdouble.scalar.Length;
11 import org.djunits.value.vdouble.scalar.Time;
12 import org.opentrafficsim.kpi.interfaces.LinkDataInterface;
13 import org.opentrafficsim.kpi.sampling.Query;
14 import org.opentrafficsim.kpi.sampling.TrajectoryGroup;
15
16
17
18
19
20
21
22
23
24
25
26
27 public class MeanTravelTimePerDistance extends AbstractIndicator<Duration>
28 {
29
30
31 private final MeanSpeed meanSpeed;
32
33
34
35
36 public MeanTravelTimePerDistance(final MeanSpeed meanSpeed)
37 {
38 this.meanSpeed = meanSpeed;
39 }
40
41
42 @Override
43 public final Duration calculate(final Query query, final Time startTime, final Time endTime,
44 final List<TrajectoryGroup> trajectoryGroups)
45 {
46 return new Duration(1.0 / this.meanSpeed.getValue(query, startTime, endTime, trajectoryGroups).si, TimeUnit.SI);
47 }
48
49
50 @Override
51 @SuppressWarnings("checkstyle:designforextension")
52 public String toString()
53 {
54 return "MeanTravelTime [meanTravelTime=" + this.meanSpeed + " (per km)]";
55 }
56
57 }