--- a/labs/myway_timeliness_calculate.php +++ b/labs/myway_timeliness_calculate.php @@ -42,6 +42,7 @@ } // :convert timestamp into time of day and date $time = date("H:i:s", strtotime($obsv['time'])); + $search_time = date("H:i:s", strtotime($obsv['time'])-(30*60)); // 30 minutes margin $date = date("c", strtotime($obsv['time'])); $timing_period = service_period(strtotime($date)); $potentialStops = getStopsByStopCode($obsv["stop_code"], $obsv["stop_street"]); @@ -64,7 +65,7 @@ echo "error, route '{$obsv["route_full_name"]}' unknown"; continue; } - echo "Matched route: {$potentialRoute['route_short_name']}{$potentialRoute['route_long_name']}
"; + echo "Matched route: {$potentialRoute['route_short_name']}{$potentialRoute['route_long_name']} {$timing_period}
"; $timeDeltas = Array(); foreach ($potentialStops as $potentialStop) { $stopRoutes = getStopRoutes($potentialStop['stop_id'], $timing_period); @@ -72,10 +73,10 @@ foreach ($stopRoutes as $stopRoute) { //Check if this route stops at each stop if ($stopRoute['route_short_name'] . $stopRoute['route_long_name'] == $obsv["route_full_name"]) { - echo "Matching route found at {$potentialStop['stop_code']}
"; + echo "Matching route {$stopRoute['route_id']} found at {$potentialStop['stop_code']}
"; $foundRoute = $stopRoute; //if does get tripstoptimes for this route - $trips = getStopTrips($potentialStop['stop_id'], $timing_period, $time); + $trips = getStopTrips($potentialStop['stop_id'], $timing_period, $search_time); foreach ($trips as $trip) { //echo $trip['route_id']." ".$stopRoute['route_id'].";"; if ($trip['route_id'] == $stopRoute['route_id']) { @@ -86,9 +87,11 @@ //work out time delta, put into array with index of delta $timeDeltas[] = Array( "timeDiff" => $timeDiff, - "stop_code" => $potentialStop['stop_code'] + "stop_code" => $potentialStop['stop_code'], + "stop_sequence" => $timedTrip['stop_sequence'] ); - echo "Found trip at {$timedTrip['arrival_time']}, difference of " . round($timeDiff / 60, 2) . " minutes
"; + echo "Found trip {$trip['trip_id']} at stop {$potentialStop['stop_code']} (#{$potentialStop['stop_id']}, sequence #{$trip['stop_sequence']})
"; + echo "Arriving at {$timedTrip['arrival_time']}, difference of " . round($timeDiff / 60, 2) . " minutes
"; } } break; // because have found route @@ -98,6 +101,7 @@ if (sizeof($foundRoute) < 1) { //print out that stops/does not stop echo "No matching routes found at {$potentialStop['stop_code']}
"; + var_dump($stopRoutes); } } // lowest delta is recorded delta @@ -107,18 +111,18 @@ echo "Lowest difference of " . round($lowestDelta / 60, 2) . " minutes will be recorded for this observation
"; $observation_id = $obsv['observation_id']; $route_full_name = $obsv['route_full_name']; - $myway_route = $obsv['myway_stop']; $stop_code = $timeDeltas[0]["stop_code"]; - $stmt = $conn->prepare("insert into myway_timingdeltas (observation_id, route_full_name, myway_route, stop_code, timing_delta, time, date, timing_period) - values (:observation_id, :route_full_name, :myway_route, :stop_code, :timing_delta, :time, :date, :timing_period)"); + $stop_sequence = $timeDeltas[0]["stop_sequence"]; + $stmt = $conn->prepare("insert into myway_timingdeltas (observation_id, route_full_name, stop_code, timing_delta, time, date, timing_period, stop_sequence) + values (:observation_id, :route_full_name, :stop_code, :timing_delta, :time, :date, :timing_period, :stop_sequence)"); $stmt->bindParam(':observation_id', $observation_id); $stmt->bindParam(':route_full_name', $route_full_name); - $stmt->bindParam(':myway_route', $myway_route); $stmt->bindParam(':stop_code', $stop_code); $stmt->bindParam(':timing_delta', $lowestDelta); $stmt->bindParam(':time', $time); $stmt->bindParam(':date', $date); $stmt->bindParam(':timing_period', $timing_period); + $stmt->bindParam(':stop_sequence', $stop_sequence); // insert a record $stmt->execute(); if ($stmt->rowCount() > 0) {