| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- #!/usr/bin/php
- <?php
- //echo getcwd() . "\n";
- //exit;
- include 'connect.php';
- //----------------------------extract the drivers
- $res=mysqli_query($sql,'SELECT id, pin, name FROM drivers');
- $f=fopen("drivers.txt","wb");
- fwrite($f,"#driver\tpin\tname\n");
- while($row=mysqli_fetch_assoc($res))
- {
- fwrite($f,sprintf("%d\t%s\t%s\n",$row['id'], $row['pin'], $row['name']));
- }
- fclose($f);
- //----------------------------extract the paddles
- $res=mysqli_query($sql,'SELECT live_paddles.*, live_stops.latitude, live_stops.longitude, live_stops.name FROM live_paddles,live_stops WHERE live_paddles.stopid=live_stops.id ORDER BY live_paddles.id,slot;');
- $paddle=array();
- while($row=mysqli_fetch_assoc($res))
- {
- $paddle[]=$row;
- }
- for($i=0;$i < count($paddle); $i++)
- {
- if(strlen($paddle[$i]['arrival']) == 0)
- {
-
- for($j=$i;$j < count($paddle); $j++)
- {
- if(strlen($paddle[$j]['arrival'] > 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);
- ?>
|