21 package org.matsim.pt.analysis;
23 import java.util.ArrayList;
24 import java.util.HashMap;
25 import java.util.LinkedHashMap;
26 import java.util.List;
50 private final Map<Departure, Map<Id, Integer>>
accessCounters =
new LinkedHashMap<Departure, Map<Id, Integer>>();
51 private final Map<Departure, Map<Id, Integer>>
egressCounters =
new LinkedHashMap<Departure, Map<Id, Integer>>();
56 this.vehTracker = vehicleTracker;
60 if (this.headings == null) {
67 Integer count = counter.get(fId);
69 counter.put(fId, Integer.valueOf(1));
71 counter.put(fId, Integer.valueOf(1 + count.intValue()));
77 if (this.headings == null) {
84 Integer count = counter.get(fId);
86 counter.put(fId, Integer.valueOf(1));
88 counter.put(fId, Integer.valueOf(1 + count.intValue()));
93 public void reset(
final int iteration) {
95 this.accessCounters.clear();
96 this.egressCounters.clear();
100 List<Id> stopFacilityIds =
new ArrayList<Id>(this.transitRoute.
getStops().size());
102 stopFacilityIds.add(stop.getStopFacility().getId());
105 System.out.print(
"stops/departure");
106 for (
Id id : stopFacilityIds) {
107 System.out.print(
"\t" +
id);
109 System.out.println();
110 for (
Departure departure : this.headings.values()) {
111 System.out.print(
Time.
writeTime(departure.getDepartureTime()));
113 for (
Id id : stopFacilityIds) {
114 Integer value = accessCounter.get(
id);
115 System.out.print(
"\t");
117 System.out.print(value.toString());
119 System.out.print(
"0");
122 System.out.println();
124 for (
Id id : stopFacilityIds) {
125 Integer value = egressCounter.get(
id);
126 System.out.print(
"\t");
128 System.out.print(value.toString());
130 System.out.print(
"0");
133 System.out.println();
138 Map<Id, Integer> counter = this.accessCounters.get(departure);
139 if (counter == null) {
140 counter =
new HashMap<Id, Integer>();
141 this.accessCounters.put(departure, counter);
147 Map<Id, Integer> counter = this.egressCounters.get(departure);
148 if (counter == null) {
149 counter =
new HashMap<Id, Integer>();
150 this.egressCounters.put(departure, counter);
159 Map<Id, Departure> map =
new HashMap<Id, Departure>(this.transitRoute.
getDepartures().size()*2);
162 if (departure.getVehicleId() != null) {
163 map.put(departure.getVehicleId(), departure);
Id< Vehicle > getVehicleId()
final Map< Departure, Map< Id, Integer > > accessCounters
Map< Id, Departure > headings
final TransitRoute transitRoute
void handleEvent(final PersonLeavesVehicleEvent event)
void reset(final int iteration)
List< TransitRouteStop > getStops()
Map< Id< Departure >, Departure > getDepartures()
final VehicleTracker vehTracker
static final String writeTime(final double seconds, final String timeformat)
final Map< Departure, Map< Id, Integer > > egressCounters
Map< Id, Integer > getAccessCounter(final Departure departure)
Id< Vehicle > getVehicleId()
void handleEvent(final PersonEntersVehicleEvent event)
Map< Id, Integer > getEgressCounter(final Departure departure)
TransitRouteAccessEgressAnalysis(final TransitRoute transitRoute, final VehicleTracker vehicleTracker)
void collectHeadingsInfo()
Id getFacilityIdForVehicle(final Id vehicleId)