Add stops/stops by suburb geositemap
--- a/geo/route.kml.php
+++ /dev/null
@@ -1,30 +1,1 @@
-<?php
-header('Content-Type: application/vnd.google-earth.kml+xml');
-include ('../include/common.inc.php');
-echo '<?xml version="1.0" encoding="UTF-8"?>
-<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom"><Document>';
-echo '
- <Style id="yellowLineGreenPoly">
- <LineStyle>
- <color>7f00ff00</color>
- <width>4</width>
- </LineStyle>
- <PolyStyle>
- <color>7f00ffff</color>
- </PolyStyle>
- </Style>';
-$route = getRoute($routeid);
- echo "\n<Placemark>\n";
- $link = curPageURL()."/../trip.php?routeid=".htmlspecialchars ($route["route_id"]);
- echo "<name>".$route['route_short_name']."</name>";
- echo '<atom:link href="'.$link.'"/>';
- echo '<description><![CDATA[ <a href="'.$link.'">'.$route['route_short_name']." ".$route['route_long_name']."</a>]]> </description>";
-echo "<styleUrl>#yellowLineGreenPoly</styleUrl>";
- $trips = getRouteTrips($routeid);
- echo getTripShape($trips[0]['trip_id']);
-
-echo "</Placemark>\n</Document></kml>\n";
-?>
-
-
--- /dev/null
+++ b/geo/stops.kml.php
@@ -1,1 +1,36 @@
-
+<?php
+header('Content-type: application/vnd.google-earth.kml+xml');
+//http://wiki.openstreetmap.org/wiki/OpenLayers_Dynamic_KML
+// Creates the KML/XML Document.
+$dom = new DOMDocument('1.0', 'UTF-8');
+// Creates the root KML element and appends it to the root document.
+$node = $dom->createElementNS('http://earth.google.com/kml/2.1', 'kml');
+$parNode = $dom->appendChild($node);
+// Creates a KML Document element and append it to the KML element.
+$dnode = $dom->createElement('Document');
+$docNode = $parNode->appendChild($dnode);
+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'] . " <br>";
+ // Creates a Placemark and append it to the Document.
+ $node = $dom->createElement('Placemark');
+ $placeNode = $docNode->appendChild($node);
+ // Creates an id attribute and assign it the value of id column.
+ $placeNode->setAttribute('id', 'placemark' . $stop['stop_id']);
+ // Create name, and description elements and assigns them the values of the name and address columns from the results.
+ $nameNode = $dom->createElement('name', htmlentities($stop['stop_name']));
+ $descriptionNode = $dom->createElement('description', $description);
+ $placeNode->appendChild($nameNode);
+ $placeNode->appendChild($descriptionNode);
+ // Creates a Point element.
+ $pointNode = $dom->createElement('Point');
+ $placeNode->appendChild($pointNode);
+ // Creates a coordinates element and gives it the value of the lng and lat columns from the results.
+ $coorStr = $stop['stop_lon'] . ',' . $stop['stop_lat'];
+ $coorNode = $dom->createElement('coordinates', $coorStr);
+ $pointNode->appendChild($coorNode);
+}
+$kmlOutput = $dom->saveXML();
+echo $kmlOutput;
+?>
--- a/include/db/route-dao.inc.php
+++ b/include/db/route-dao.inc.php
@@ -13,7 +13,6 @@
}
return $query->fetch(PDO::FETCH_ASSOC);
}
-
function getRoutes()
{
global $conn;
--- a/include/db/stop-dao.inc.php
+++ b/include/db/stop-dao.inc.php
@@ -30,7 +30,7 @@
}
$query.= " order by stop_name;";
$query = $conn->prepare($query);
- $query->bindParam(":firstLetter", $firstLetter);
+ if ($firstLetter != "") $query->bindParam(":firstLetter", $firstLetter);
$query->execute();
if (!$query) {
databaseError($conn->errorInfo());
--- a/include/db/trip-dao.inc.php
+++ b/include/db/trip-dao.inc.php
@@ -16,25 +16,40 @@
}
return $query->fetch(PDO::FETCH_ASSOC);
}
-function getTripShape($tripID)
-{
- global $conn;
- $query = "SELECT ST_AsKML(ST_MakeLine(geometry(a.position))) as the_route
-FROM (SELECT position,
- stop_sequence, trips.trip_id
-FROM stop_times
-join trips on trips.trip_id = stop_times.trip_id
-join stops on stops.stop_id = stop_times.stop_id
-WHERE trips.trip_id = :tripID ORDER BY stop_sequence) as a group by a.trip_id";
- debug($query, "database");
- $query = $conn->prepare($query);
- $query->bindParam(":tripID", $tripID);
- $query->execute();
- if (!$query) {
- databaseError($conn->errorInfo());
- return Array();
- }
- return $query->fetchColumn(0);
+function getTripShape()
+{
+ /* def handle_json_GET_tripstopTimes(self, params):
+ schedule = self.server.schedule
+ try:
+ trip = schedule.GetTrip(params.get('trip'))
+ except KeyError:
+ # if a non-existent trip is searched for, the return nothing
+ return
+ time_stops = trip.GetTimeInterpolatedStops()
+ stops = []
+ times = []
+ for arr,ts,is_timingpoint in time_stops:
+ stops.append(StopToTuple(ts.stop))
+ times.append(arr)
+ return [stops, times]
+
+ def handle_json_GET_tripshape(self, params):
+ schedule = self.server.schedule
+ try:
+ trip = schedule.GetTrip(params.get('trip'))
+ except KeyError:
+ # if a non-existent trip is searched for, the return nothing
+ return
+ points = []
+ if trip.shape_id:
+ shape = schedule.GetShape(trip.shape_id)
+ for (lat, lon, dist) in shape.points:
+ points.append((lat, lon))
+ else:
+ time_stops = trip.GetTimeStops()
+ for arr,dep,stop in time_stops:
+ points.append((stop.stop_lat, stop.stop_lon))
+ return points*/
}
function getTimeInterpolatedTrip($tripID, $range = "")
{
--- a/sitemap.xml.php
+++ b/sitemap.xml.php
@@ -22,17 +22,6 @@
echo "<priority>0.9</priority>";
echo "</url>\n";
}
-
- // geosite map
- foreach (getRoutes() as $route) {
- echo " <url><loc>".curPageURL()."geo/route.kml.php?routeid=".htmlspecialchars ($route["route_id"])."</loc>";
- echo "<lastmod>" . $last_updated . "</lastmod>";
- echo "<geo:geo>
- <geo:format>kml</geo:format>
- </geo:geo>";
- echo "</url>\n";
- }
-
echo '</urlset>';
?>