private double getRouteStopWaitTime( Id<TransitLine> lineId, Id<TransitRoute> routeId, Id<TransitStopFacility> stopId, double time) { Tuple<Id<TransitLine>, Id<TransitRoute>> key = new Tuple<Id<TransitLine>, Id<TransitRoute>>(lineId, routeId); WaitTimeData waitTimeData = waitTimes.get(key).get(stopId); if (waitTimeData.getNumData((int) (time / timeSlot)) == 0) { double[] waitTimes = scheduledWaitTimes.get(key).get(stopId); return waitTimes[ (int) (time / timeSlot) < waitTimes.length ? (int) (time / timeSlot) : (waitTimes.length - 1)]; } else return waitTimeData.getWaitTime((int) (time / timeSlot)); }
private double getRouteStopWaitTime( Id<TransitLine> lineId, Id<TransitRoute> routeId, Id<TransitStopFacility> stopId, double time) { Tuple<String, String> key = new Tuple<String, String>(lineId.toString(), routeId.toString()); waitTimeCalls++; WaitTimeData waitTimeData = waitTimes.get(key).get(stopId.toString()); if (waitTimeData.getNumData((int) (time / timeSlot)) == 0) { scheduleCalls++; double[] waitTimes = scheduledWaitTimes.get(key).get(stopId.toString()); return waitTimes[ (int) (time / timeSlot) < waitTimes.length ? (int) (time / timeSlot) : (waitTimes.length - 1)]; } else { return waitTimeData.getWaitTime((int) (time / timeSlot)); } }