Merge branch 'master' of github.com:maxious/ACTBus-ui
--- /dev/null
+++ b/.box
@@ -1,1 +1,5 @@
+shared_writable_dirs:
+ - /labs/tiles
+ - /lib/staticmaplite/cache
+php_extensions: [pgsql, pdo, pdo_pgsql, curl]
--- a/include/common.inc.php
+++ b/include/common.inc.php
@@ -31,7 +31,8 @@
function isDebugServer()
{
- return !isset($_SERVER['SERVER_NAME']) || $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "10.1.0.4" || $_SERVER['SERVER_NAME'] == "localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1" ;
+ return php_sapi_name() == "cli" || isset($_SERVER['SERVER_NAME']) && ( $_SERVER['SERVER_NAME'] == "10.0.1.154" || $_SERVER['SERVER_NAME'] == "10.1.0.4" || $_SERVER['SERVER_NAME'] ==
+"localhost" || $_SERVER['SERVER_NAME'] == "127.0.0.1") ;
}
include_once ("common-geo.inc.php");
--- a/include/db/trip-dao.inc.php
+++ b/include/db/trip-dao.inc.php
@@ -173,6 +173,22 @@
$r = $query->fetch(PDO::FETCH_ASSOC);
return $r['arrival_time'];
}
+function getTripEndTime($tripID)
+{
+ global $conn;
+ $query = "SELECT trip_id,max(arrival_time) as arrival_time from stop_times
+ WHERE stop_times.arrival_time IS NOT NULL and trip_id = :tripID group by trip_id";
+ debug($query, "database");
+ $query = $conn->prepare($query);
+ $query->bindParam(":tripID", $tripID);
+ $query->execute();
+ if (!$query) {
+ databaseError($conn->errorInfo());
+ return Array();
+ }
+ $r = $query->fetch(PDO::FETCH_ASSOC);
+ return $r['arrival_time'];
+}
function getActiveTrips($time)
{
global $conn;
--- a/labs/myway_timeliness_calculate.php
+++ b/labs/myway_timeliness_calculate.php
@@ -1,6 +1,8 @@
<?php
include ('../include/common.inc.php');
include_header("MyWay Delta Calculate", "mywayDeltaCalc");
+flush();
+ob_flush();
function abssort($a, $b)
{
if ($a['timeDiff'] == $b['timeDiff']) {
@@ -40,8 +42,10 @@
echo "error, route '{$obsv['myway_route']}' unknown";
continue;
}
- // :convert timestamp into time of day and date
+ // convert timestamp into time of day and date
+// timezones from http://www.postgresql.org/docs/8.0/static/datetime-keywords.html
$time = date("H:i:s", strtotime($obsv['time']));
+ $time_tz = date("H:i:s", strtotime($obsv['time']))." AESST";
$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));
@@ -102,6 +106,8 @@
//print out that stops/does not stop
echo "No matching routes found at {$potentialStop['stop_code']}<br>";
var_dump($stopRoutes);
+ flush();
+
}
}
// lowest delta is recorded delta
@@ -119,7 +125,7 @@
$stmt->bindParam(':route_full_name', $route_full_name);
$stmt->bindParam(':stop_code', $stop_code);
$stmt->bindParam(':timing_delta', $lowestDelta);
- $stmt->bindParam(':time', $time);
+ $stmt->bindParam(':time', $time_tz);
$stmt->bindParam(':date', $date);
$stmt->bindParam(':timing_period', $timing_period);
$stmt->bindParam(':stop_sequence', $stop_sequence);
@@ -129,6 +135,7 @@
echo "Recorded.<br>";
}
var_dump($conn->errorInfo());
+ flush();
}
flush();
}
--- a/labs/myway_timeliness_route.php
+++ b/labs/myway_timeliness_route.php
@@ -34,6 +34,10 @@
tickFormatter: yformatter
},
grid: { hoverable: true, clickable: true, labelMargin: 32 },
+series: {
+ lines: { show: false },
+ points: { show: true }
+ }
};
var plot = $.plot(placeholder, data, options);
@@ -118,3 +122,4 @@
});
</script>
+
--- a/labs/myway_timeliness_stop.json.php
+++ b/labs/myway_timeliness_stop.json.php
@@ -29,3 +29,4 @@
else echo "[".implode(",",$points)."]";
?>
}
+
--- a/labs/myway_timeliness_stop.php
+++ b/labs/myway_timeliness_stop.php
@@ -40,6 +40,10 @@
tickFormatter: yformatter
},
grid: { hoverable: true, clickable: true, labelMargin: 32 },
+ series: {
+ lines: { show: false },
+ points: { show: true }
+ }
};
var plot = $.plot(placeholder, data, options);
@@ -129,3 +133,4 @@
});
</script>
+
--- /dev/null
+++ b/labs/travelAllRoutes.php
@@ -1,1 +1,23 @@
+<?php
+include ('../include/common.inc.php');
+ $query = "Select route_short_name,max(route_id) as route_id from routes where route_short_name NOT LIKE '7__' AND route_short_name != '170' AND route_short_name NOT LIKE '9__' group by route_short_name order by route_short_name ;";
+ debug($query, "database");
+ $query = $conn->prepare($query);
+ $query->execute();
+echo "<table><tr><th>Route Number</th><th>First Trip Start</th><th>First Trip End</th><th>Length</th>";
+$total = 0;
+$count = 0;
+foreach($query->fetchAll() as $r) {
+ $trips = getRouteTrips($r['route_id']);
+ $startTime = $trips[0]['arrival_time'];
+ $endTime = getTripEndTime($trips[0]['trip_id']);
+ $timeDiff = strtotime($endTime) - strtotime($startTime);
+ $total += $timeDiff;
+ $count ++;
+ echo "<tr><td>{$r['route_short_name']}</td><td>$startTime</td><td>$endTime</td><td>$timeDiff seconds ie. ". ($timeDiff/60). " minutes</td></tr>";
+}
+echo "</table>";
+echo "Total time: $total seconds ie. " .($total/60/60). " hours<br>";
+echo "$count Routes";
+?>
--- a/updatedb.php
+++ b/updatedb.php
@@ -2,6 +2,9 @@
if ( php_sapi_name() == "cli") {
include ('include/common.inc.php');
$conn = pg_connect("dbname=transitdata user=postgres password=snmc host=localhost") or die('connection failed');
+$pdconn = new PDO("pgsql:dbname=transitdata;user=postgres;password=snmc;host=localhost");
+
+
// Unzip cbrfeed.zip, import all csv files to database
$unzip = true;
$zip = zip_open(dirname(__FILE__) . "/cbrfeed.zip");
@@ -31,8 +34,18 @@
echo "Opening $file \n";
$line = 0;
$handle = fopen($tmpdir . $file, "r");
+ if ($tablename =="stop_times") {
+ $stmt = $pdconn->prepare("insert into stop_times (trip_id,stop_id,stop_sequence) values(:trip_id, :stop_id, :stop_sequence);");
+ $stmt->bindParam(':trip_id',$trip_id);
+ $stmt->bindParam(':stop_id',$stop_id);
+ $stmt->bindParam(':stop_sequence',$stop_sequence);
+ }
+
+
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
- if ($line > 0) {
+ if ($line == 0) {
+
+ } else {
$query = "insert into $tablename values(";
$valueCount = 0;
foreach ($data as $value) {
@@ -44,14 +57,22 @@
} else {
$query.= "');";
}
- if ($tablename =="stop_times" && $data[1] == "") {
- $query = "insert into $tablename (trip_id,stop_id,stop_sequence) values('{$data[0]}','{$data[3]}','{$data[4]}');";
- }
+ if ($tablename =="stop_times" && $data[1] == "") {
+ // $query = "insert into $tablename (trip_id,stop_id,stop_sequence) values('{$data[0]}','{$data[3]}','{$data[4]}');";
+ $trip_id=$data[0];
+ $stop_id=$data[3];
+ $stop_sequence=$data[4];
+ }
}
- $result = pg_query($conn, $query);
+ if ($tablename =="stop_times") {
+ $stmt->execute();
+ }
+ else {
+ $result = pg_query($conn, $query);
+ }
$line++;
- if ($line % 10000 == 0) echo "$line records... \n";
+ if ($line % 10000 == 0) echo "$line records... ".date('c')."\n";
}
fclose($handle);
echo "Found a total of $line records in $file.\n";