From: Maxious Date: Sun, 29 Jan 2012 03:46:06 +0000 Subject: KML for trips/routes/stops fixed X-Git-Url: http://maxious.lambdacomplex.org/git/?p=busui.git&a=commitdiff&h=490aa8fe959767afedc42fb0f70cd2bf7bb86701 --- KML for trips/routes/stops fixed --- --- a/about.php +++ b/about.php @@ -34,7 +34,7 @@
Some icons by Joseph Wain / glyphish.com
Native clients also available for iPhone(cbrTimetable by Sandor Kolotenko - , ACT Buses by David Sullivan) + , ACT Buses by David Sullivan, Bus Trips ACT by Molson Chengalath) , Android (MyBus 2.0 by Imagine Team, GetMe2 Canberra by Colin Thompson ) and Windows Phone 7 (TransHub Canberra by Soul Solutions) Other web clients include iTranzit. --- a/geo/route.kml.php +++ b/geo/route.kml.php @@ -1,4 +1,5 @@ @@ -14,15 +15,15 @@ '; $route = getRoute($routeid); - echo "\n\n"; - $link = curPageURL()."/../trip.php?routeid=".htmlspecialchars ($route["route_id"]); - echo "".$route['route_short_name'].""; - echo ''; - echo ''.$route['route_short_name']." ".$route['route_long_name']."]]> "; +echo "\n\n"; + +$link = curPageURL() . "/../trip.php?routeid=" . htmlspecialchars($route["route_id"]); +echo "" . $route['route_short_name'] . ""; +echo ''; +echo '' . $route['route_short_name'] . " " . $route['route_long_name'] . "]]> "; echo "#yellowLineGreenPoly"; - - $trip = getRouteNextTrip($routeid); - echo getTripShape($trip['trip_id']); +$trip = getRouteNextTrip($routeid); +echo getTripShape($trip['trip_id']); echo "\n\n"; ?> --- a/geo/stops.kml.php +++ b/geo/stops.kml.php @@ -1,11 +1,11 @@ createElementNS('http://earth.google.com/kml/2.1', 'kml'); +$node = $dom->createElementNS('http://www.opengis.net/kml/2.2', 'kml'); $parNode = $dom->appendChild($node); // Creates a KML Document element and append it to the KML element. $dnode = $dom->createElement('Document'); @@ -13,7 +13,7 @@ if ($suburb != "") $result_stops = getStopsBySuburb($suburb); else $result_stops = getStops(); foreach ($result_stops as $stop) { - $description = 'http://bus.lambdacomplex.org/' . 'stop.php?stopid=' . $stop['stop_id'] . "
"; + $description = baseURL() . 'stop.php?stopid=' . $stop['stop_id'] . "
"; // Creates a Placemark and append it to the Document. $node = $dom->createElement('Placemark'); $placeNode = $docNode->appendChild($node); --- /dev/null +++ b/geo/trip.kml.php @@ -1,1 +1,31 @@ + +'; +echo ' + '; +$trip = getTrip($tripid); +echo "\n\n"; +$link = curPageURL() . "/../trip.php?tripid=" . htmlspecialchars($$tripid); +echo "" . $tripid . ""; +echo ''; +echo '' . $tripid . "]]> "; +echo "#yellowLineGreenPoly"; + + +echo getTripShape($tripid); + +echo "\n\n"; +?> + + --- a/include/common-net.inc.php +++ b/include/common-net.inc.php @@ -35,7 +35,11 @@ debug(print_r($page, true), "json"); return $page; } +function baseURL() { + $protocol = $_SERVER['HTTPS'] ? "https" : "http"; + return $protocol . "://" . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; +} function curPageURL() { $isHTTPS = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on"); $port = (isset($_SERVER["SERVER_PORT"]) && ((!$isHTTPS && $_SERVER["SERVER_PORT"] != "80") || ($isHTTPS && $_SERVER["SERVER_PORT"] != "443"))); --- a/include/common-session.inc.php +++ b/include/common-session.inc.php @@ -62,7 +62,7 @@ //debug(print_r($_SESSION, true) , "session"); function current_time($time = "") { - if ($_REQUEST['time']) return $_REQUEST['time']; + if (isset($_REQUEST['time'])) return $_REQUEST['time']; else if ($time != "") date("H:i:s",$time); else return date("H:i:s"); } --- a/include/common-template.inc.php +++ b/include/common-template.inc.php @@ -54,7 +54,7 @@ '; - $jqmVersion = "1.0"; + $jqmVersion = "1.0.1"; if (isDebugServer()) { $jqmcss = $basePath . "css/jquery.mobile-$jqmVersion.css"; $jqjs = $basePath . "js/jquery-1.6.4.min.js"; --- a/include/db/route-dao.inc.php +++ b/include/db/route-dao.inc.php @@ -212,23 +212,22 @@ $sidA = $service_ids[0]; $sidB = $service_ids[1]; if ($destination != "") { - $query = "SELECT DISTINCT trips.route_id,route_short_name,route_long_name, service_id + /* $query = "SELECT DISTINCT trips.route_id,route_short_name,route_long_name, service_id FROM stop_times join trips on trips.trip_id = stop_times.trip_id join routes on trips.route_id = routes.route_id WHERE route_long_name = :destination AND (service_id=:service_periodA OR service_id=:service_periodB) - order by route_short_name"; + order by route_short_name";*/ + $query = "select route_id, direction_id, stop_name, b.trip_id, b.stop_sequence from (select route_id, direction_id, max(stop_sequence) as stop_sequence, max(a.trip_id) as trip_id from stop_times inner join (SELECT route_id, direction_id, max(trip_id) as trip_id + from trips group by route_id,direction_id) as a on stop_times.trip_id = a.trip_id group by route_id, direction_id) as b inner join stop_times on b.trip_id = stop_times.trip_id inner join stops on stop_times.stop_id = stops.stop_id where stop_times.stop_sequence = b.stop_sequence and stop_name = :destination order by route_id;"; } else { - $query = "SELECT DISTINCT route_long_name -FROM stop_times join trips on trips.trip_id = -stop_times.trip_id join routes on trips.route_id = routes.route_id -WHERE (service_id=:service_periodA OR service_id=:service_periodB) - order by route_long_name"; - } - debug($query, "database"); - $query = $conn->prepare($query); - - $query->bindParam(":service_periodA", $sidA); - $query->bindParam(":service_periodB", $sidB); + $query = "select stop_name from (select route_id, direction_id, max(stop_sequence) as stop_sequence, max(a.trip_id) as trip_id from stop_times inner join (SELECT route_id, direction_id, max(trip_id) as trip_id + from trips group by route_id,direction_id) as a on stop_times.trip_id = a.trip_id group by route_id, direction_id) as b inner join stop_times on b.trip_id = stop_times.trip_id inner join stops on stop_times.stop_id = stops.stop_id where stop_times.stop_sequence = b.stop_sequence group by stop_name order by stop_name;"; + } + debug($query, "database"); + $query = $conn->prepare($query); + + //$query->bindParam(":service_periodA", $sidA); + //$query->bindParam(":service_periodB", $sidB); if ($destination != "") $query->bindParam(":destination", $destination); $query->execute(); --- a/include/db/trip-dao.inc.php +++ b/include/db/trip-dao.inc.php @@ -78,7 +78,7 @@ join trips on trips.trip_id = stop_times.trip_id join routes on trips.route_id = routes.route_id join stops on stops.stop_id = stop_times.stop_id -WHERE trips.trip_id = :tripID $range ORDER BY stop_sequence"; +WHERE trips.trip_id = :tripID ORDER BY stop_sequence"; debug($query, "database"); $query = $conn->prepare($query); $query->bindParam(":tripID", $tripID); --- a/myway/myway_timeliness_calculate.php +++ b/myway/myway_timeliness_calculate.php @@ -95,7 +95,7 @@ } $timeDeltas = Array(); foreach ($potentialRoutes as $potentialRoute) { - echo "Matched route: {$potentialRoute['route_id']} {$potentialRoute['route_short_name']}{$potentialRoute['route_long_name']} {$timing_period}
"; + echo "Matched route: {$potentialRoute['route_id']} {$potentialRoute['route_short_name']} {$timing_period}
"; foreach ($potentialStops as $potentialStop) { $stopRoutes = getStopRoutes($potentialStop['stop_id'], $timing_period); $foundRoute = Array(); --- a/routeList.php +++ b/routeList.php @@ -37,7 +37,7 @@ foreach (getRouteHeadsigns($route['route_id']) as $headsign) { //print_r($route); - echo '
  • ' . $route['route_short_name'] . "

    + echo '
  • ' . $route['route_id'] . "

    " . $headsign['trip_headsign'] . (strstr($headsign['trip_headsign'], "bound") === false ? "bound" : "") . ", starting at " . $headsign['stop_name'] . " (" . ucwords($headsign['service_id']) . ")

    "; @@ -157,7 +157,7 @@ displayRoutes(getRoutesByDestination($routeDestination)); } else { foreach (getRoutesByDestination() as $destination) { - echo '
  • ' . $destination['route_long_name'] . "...
  • \n"; + echo '
  • ' . $destination['stop_name'] . "...
  • \n"; } } } --- a/stop.php +++ b/stop.php @@ -127,7 +127,7 @@ $earlierTime = strtotime($trips[$tripsKeys[0]]['arrival_time']) - (90 * 60); $laterTime = strtotime($trips[$tripsKeys[sizeof($trips) - 1]]['arrival_time']) - 60; } -if (sizeof($stopids) > 0) { +if (isset($stopids) && sizeof($stopids) > 0) { $stopidurl = "stopids=" . implode(",", $stopids); } else { $stopidurl = "stopid=$stopid"; --- a/stopList.php +++ b/stopList.php @@ -94,9 +94,8 @@ //var_dump($stops); $stopsGrouped = Array(); foreach ($stops as $key => $stop) { - if (stopCompare($stops[$key]["stop_name"]) - != stopCompare($stops[$key + 1]["stop_name"]) - || $key + 1 >= sizeof($stops)) { + if ($key + 1 >= sizeof($stops) || + stopCompare($stops[$key]["stop_name"]) != stopCompare($stops[$key + 1]["stop_name"])) { if (sizeof($stopsGrouped) > 0) { // print and empty grouped stops // subsequent duplicates --- a/trip.php +++ b/trip.php @@ -34,7 +34,9 @@ include_header("Stops on " . $trip['route_short_name'] . ' ' . $destination['stop_name'], "trip"); trackEvent("Route/Trip View", "View Route", $trip['route_short_name'] . ' ' . $destination['stop_name'], $routeid); echo ''; -echo 'View Original Timetable/Map'; +echo 'View Original Timetable/Map '; +echo 'View Trip in Google Earth '; +echo 'View Route in Google Earth'; echo '

    Via:

    ' . viaPointNames($tripid) . ''; echo '

    Other Trips:

    '; $routeTrips = getRouteTrips($routeid, $trip['direction_id'], $service_period);