#!/usr/bin/php 0)) { $firsttime=array(); preg_match('/([\d]+):([\d]+)/',$lastarr,$firsttime); $lasttime=array(); preg_match('/([\d]+):([\d]+)/',$paddle[$j]['arrival'],$lasttime); $ft_min=$firsttime[2] + ($firsttime[1] * 60); $lt_min=$lasttime[2] + ($lasttime[1] * 60); if($lt_min < $ft_min) $lt_min += (60 * 24); $timedist=$lt_min - $ft_min; $stopdist=1 + ($j - $i); $rate=floatval($timedist) / floatval($stopdist); $t=$i-1; echo "Interpolation plan: From $ft_min to $lt_min in $stopdist stops ( $i >= k < $j ) at $rate/stop\n"; for($k=0; $k < $stopdist; $k++) { $temp=$ft_min + ($rate * ($k+1)); $hours=(intval($temp) / 60) % 24; $mins=intval($temp) % 60; $arr=sprintf("%02d:%02d\n",$hours,$mins); $paddle[$i + $k]['arrival']=$arr; } break; } } } else { $lastarr=$paddle[$i]['arrival']; } } $current=false; $f=false; foreach($paddle as $row) { if($current != $row['id']) { if($f) fclose($f); $current=$row['id']; echo "Constructing paddle $current.paddle:\n"; $f=fopen($current . ".paddle","wb"); fwrite($f,sprintf("#Paddle %d generated %s\n",$current,strftime("%D %T"))); fwrite($f,"#scheduled arrival | location | stop data\n"); fwrite($f,"#hour mintute latitude longitude route trip stop name\n"); } if(!$f) { die("Cannot open file $current.paddle!\n"); } $tm=array(); preg_match('/([\d]+):([\d]+)/',$row['arrival'],$tm); if(!isset($tm[1])) { $tm[1]='0'; $tm[2]='0'; } fwrite($f,sprintf("%d\t%d\t%f\t%f\t%d\t%d\t%d\t%s\n", $tm[1],$tm[2],$row['latitude'],$row['longitude'],$row['route'],$row['trip'],$row['stop'],$row['name'])); } if($f) fclose($f); ?>