Minor bus stop moving UI
--- /dev/null
+++ b/betweenpoint.move.php
@@ -1,1 +1,90 @@
-
+<?php
+ /*
+ * GeoPo Encode in PHP
+ * @author : Shintaro Inagaki
+ * @param $location (Array)
+ * @return $geopo (String)
+ */
+ function geopoEncode($lat, $lng)
+ {
+ // 64characters (number + big and small letter + hyphen + underscore)
+ $chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";
+
+ $geopo = "";
+ $scale = 7;
+
+ // Change a degree measure to a decimal number
+ $lat = ($lat + 90) / 180 * pow(8, 10);
+ $lng = ($lng + 180) / 360 * pow(8, 10);
+ // Compute a GeoPo code from head and concatenate
+ for ($i = 0; $i < $scale; $i++) {
+ $geopo .= substr($chars, floor($lat / pow(8, 9 - $i) % 8) + floor($lng / pow(8, 9 - $i) % 8) * 8, 1);
+ }
+ return $geopo;
+ }
+
+ /*
+ * GeoPo Decode in PHP
+ * @author : Shintaro Inagaki
+ * @param $geopo (String)
+ * @return $location (Array)
+ */
+ function geopoDecode($geopo)
+ {
+ // 64characters (number + big and small letter + hyphen + underscore)
+ $chars = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_";
+ // Array for geolocation
+ $location = array();
+
+ for ($i = 0; $i < strlen($geopo); $i++) {
+ // What number of character that equal to a GeoPo code (0-63)
+ $order = strpos($chars, substr($geopo, $i, 1));
+ // Lat/Lng plus geolocation value of scale
+ $location['lat'] = $location['lat'] + floor($order % 8) * pow(8, 9 - $i);
+ $location['lng'] = $location['lng'] + floor($order / 8) * pow(8, 9 - $i);
+ }
+
+ // Change a decimal number to a degree measure, and plus revised value that shift center of area
+ $location['lat'] = $location['lat'] * 180 / pow(8, 10) + 180 / pow(8, strlen($geopo)) / 2 - 90;
+ $location['lng'] = $location['lng'] * 360 / pow(8, 10) + 360 / pow(8, strlen($geopo)) / 2 - 180;
+ $location['scale'] = strlen($geopo);
+
+ return $location;
+ }
+
+ $conn = pg_connect("dbname=bus user=postgres password=snmc");
+ if (!$conn) {
+ echo "An error occured.\n";
+ exit;
+ }
+ if ($_REQUEST['newlatlng']) {
+ $latlng = explode(";", $_REQUEST['newlatlng']);
+ $lat = (float)$latlng[0];
+ $lng = (float)$latlng[1];
+
+ $geoPo = geopoEncode($lat, $lng);
+ $nodelat = (int)($lat * 10000000);
+ $nodelon = (int)($lng * 10000000);
+ echo($nodelat . "," . $nodelon . "=$geoPo<br>");
+ $sql = "UPDATE stops SET geohash='$geoPo', lat='$nodelat', lng='$nodelon' WHERE geohash = '{$_REQUEST['oldgeopo']}'";
+ $result = pg_query($conn, $sql);
+ if (!$result) {
+ echo("Error in SQL query: " . pg_last_error() . "<br>\n");
+ } else {
+ echo $_REQUEST['oldgeopo'] . " replaced with $geoPo <br>";
+ $updatedroutes = 0;
+ $result_outdatedroutes = pg_query($conn, "Select * FROM between_stops where points LIKE '%" . $_REQUEST['oldgeopo'] . ";%'");
+ while ($outdatedroute = pg_fetch_assoc($result_outdatedroutes)) {
+ $newpoints = str_replace($_REQUEST['oldgeopo'], $geoPo, $outdatedroute['points']);
+ $sql = "UPDATE between_stops set points='$newpoints' where fromlocation = '{$outdatedroute['fromlocation']}' AND tolocation = '{$outdatedroute['tolocation']}' ";
+ $result = pg_query($conn, $sql);
+ if (!$result) {
+ echo("Error in SQL query: " . pg_last_error() . "<br>\n");
+ }
+ $updatedroutes++;
+ }
+ echo "updated $updatedroutes routes<br>";
+ }
+ }
+ flush();
+?>
--- a/betweenpoint.php
+++ b/betweenpoint.php
@@ -10,11 +10,46 @@
// create the ol map object
var map = new OpenLayers.Map('map');
- var osmtiles = new OpenLayers.Layer.OSM("local", "http://127.0.0.1/tiles/${z}/${x}/${y}.png")
+ var osmtiles = new OpenLayers.Layer.OSM("local", "http://10.0.1.154/tiles/${z}/${x}/${y}.png")
// use http://open.atlas.free.fr/GMapsTransparenciesImgOver.php and http://code.google.com/p/googletilecutter/ to make tiles
markers = new OpenLayers.Layer.Markers("Between Stop Markers");
-
+ //hanlde mousedown on regions that are not points by reporting latlng
+OpenLayers.Control.Click = OpenLayers.Class(OpenLayers.Control, {
+ defaultHandlerOptions: {
+ 'single': true,
+ 'double': false,
+ 'pixelTolerance': 0,
+ 'stopSingle': false,
+ 'stopDouble': false
+ },
+
+ initialize: function(options) {
+ this.handlerOptions = OpenLayers.Util.extend(
+ {}, this.defaultHandlerOptions
+ );
+ OpenLayers.Control.prototype.initialize.apply(
+ this, arguments
+ );
+ this.handler = new OpenLayers.Handler.Click(
+ this, {
+ 'click': this.trigger
+ }, this.handlerOptions
+ );
+ },
+
+ trigger: function(e) {
+ var lonlat = map.getLonLatFromViewPortPx(e.xy).transform(
+ new OpenLayers.Projection("EPSG:900913"),
+ new OpenLayers.Projection("EPSG:4326")
+ );
+ $('form input[name="newlatlng"]').val(lonlat.lat + ";" + lonlat.lon );
+ }
+
+ });
+ var click = new OpenLayers.Control.Click();
+ map.addControl(click);
+ click.activate();
<?php
$conn = pg_connect("dbname=bus user=postgres password=snmc");
if (!$conn) {
@@ -34,7 +69,9 @@
marker.id="' . $stop['geohash'] . '";
markers.addMarker(marker);
marker.events.register("mousedown", marker, function() {
+
document.getElementById("between_points").innerHTML += this.id+";";
+$(\'form input[name="oldgeopo"]\').val(this.id);
});
';
}
@@ -55,7 +92,12 @@
return false;
});
};
-
+function submitMove () {
+ $.post("betweenpoint.move.php", $("#moveform").serialize(), function(html){
+ $("#response").html(html);
+ return false;
+ });
+};
function OnChange(dropdown)
{
var myindex = dropdown.selectedIndex
@@ -178,6 +220,12 @@
<br>
<textarea name="between_points" id="between_points" rows="1" cols="120"></textarea>
</form>
+ <form id="moveform">
+oldgeopo <input type="text" name="oldgeopo" id="oldgeopo"/>
+newlatlng <input type="text" name="newlatlng" id="newlatlng" size="60"/>
+ <input type="button" onclick="javascript:submitMove()" value="Move!">
+
+</form>
<div id="response">
<!-- Our message will be echoed out here -->
</div>
--- a/busui/index.php
+++ b/busui/index.php
@@ -7,7 +7,7 @@
session_destroy();
if (isset($_REQUEST['service_period'])) $_SESSION['service_period'] = $_REQUEST['service_period'];
if (isset($_REQUEST['time'])) $_SESSION['time'] = $_REQUEST['time'];
-
+ // todo take in cellids and crossreference with http://realtimeblog.free.fr/latest/cellular/processed/sqlite/505_sqlite_zones.zip to estimate location
include_header("bus.lambdacomplex.org",false, true)
?>
<div data-role="page" data-theme="b" id="jqm-home" class="ui-page ui-body-b ui-page-active">
--- a/maxious-canberra-transit-feed/04-locatebetweenpoints.reversegeocode.php
+++ b/maxious-canberra-transit-feed/04-locatebetweenpoints.reversegeocode.php
@@ -21,7 +21,8 @@
echo("Error in SQL query: " . pg_last_error() ."<br>\n");
}
while ($stop = pg_fetch_assoc($result_stops)) {
- echo "Processing ".$stop['geohash'] . " ... ";
+ if ($stop['name'] == "") {
+ echo "Processing ".$stop['geohash'] . " streetname ... ";
$url = "http://geocoding.cloudmade.com/daa03470bb8740298d4b10e3f03d63e6/geocoding/v2/find.js?around=".($stop['lat']/10000000).",".($stop['lng']/10000000)."&distance=closest&object_type=road";
$contents = json_decode(getPage($url));
print_r($contents);
@@ -31,8 +32,25 @@
$result_save = pg_query($conn, "UPDATE stops set name = '".pg_escape_string($name)."' where geohash = '{$stop['geohash']}' ");
if (!$result_save) {
echo("Error in SQL query: " . pg_last_error() ."<br>\n");
+ }
+ }
+ if ($stop['suburb'] == "") {
+ echo "Processing ".$stop['geohash'] . " suburb ... ";
+ $sql = "select * from suburbs where the_geom @> 'POINT(".($stop['lng']/10000000)." ".($stop['lat']/10000000).")'::geometry";
+ $result_suburbs = pg_query($conn, $sql);
+ if (!$result_suburbs) {
+ echo("Error in SQL query: " . pg_last_error() ."<br>\n");
}
- die();
+ $suburbs = "";
+ while ($suburb = pg_fetch_assoc($result_suburbs)) {
+ $suburbs .= $suburb['name_2006'].";";
+ }
+ echo "Saving $suburbs ! <br>" ;
+ $result_save = pg_query($conn, "UPDATE stops set suburb = '".pg_escape_string($suburbs)."' where geohash = '{$stop['geohash']}' ");
+ if (!$result_save) {
+ echo("Error in SQL query: " . pg_last_error() ."<br>\n");
+ }
+ }
flush();
}
--- a/maxious-canberra-transit-feed/validate.sh
+++ b/maxious-canberra-transit-feed/validate.sh
@@ -1,2 +1,2 @@
-python ../origin-src/transitfeed-1.2.5/feedvalidator.py -l 9999 cbrfeed.zip
+python ../origin-src/transitfeed-1.2.6/feedvalidator.py -l 9999 cbrfeed.zip
--- a/maxious-canberra-transit-feed/validation-results.html
+++ b/maxious-canberra-transit-feed/validation-results.html
@@ -28,109 +28,127 @@
<br><br>
<table>
<tr><th class="header">Agencies:</th><td class="header"><a href="http://www.action.act.gov.au/">ACT Internal Omnibus Network (ACTION)</a></td></tr>
-<tr><th class="header">Routes:</th><td class="header">256</td></tr>
-<tr><th class="header">Stops:</th><td class="header">230</td></tr>
-<tr><th class="header">Trips:</th><td class="header">4133</td></tr>
+<tr><th class="header">Routes:</th><td class="header">263</td></tr>
+<tr><th class="header">Stops:</th><td class="header">381</td></tr>
+<tr><th class="header">Trips:</th><td class="header">4207</td></tr>
<tr><th class="header">Shapes:</th><td class="header">0</td></tr>
-<tr><th class="header">Effective:</th><td class="header">May 25, 2009 to October 01, 2010</td></tr>
+<tr><th class="header">Effective:</th><td class="header">November 15, 2010 to December 31, 2011</td></tr>
</table>
-
+<br>
+During the upcoming service dates Mon Dec 27 to Thu Feb 24:
+<table>
+<tr><th class="header">Average trips per date:</th><td class="header">2169</td></tr>
+<tr><th class="header">Most trips on a date:</th><td class="header">2681, on 44 service dates (Mon Dec 27, Tue Dec 28, Wed Dec 29, ...)</td></tr>
+<tr><th class="header">Least trips on a date:</th><td class="header">614, on 8 service dates (Sun Jan 02, Sun Jan 09, Sun Jan 16, ...)</td></tr>
+</table>
<br>
<span class="fail">
-A new version 1.2.6 of transitfeed is available. Please visit http://code.google.com/p/googletransitdatafeed and download.</span><br><br><span class="fail">Found these problems:</span>
+We failed to reach transitfeed server. Reason: [Errno -2] Name or service not known.</span><br><br><span class="fail">Found these problems:</span>
<table class="count_outside">
-<tr><td><span class="fail">70 warnings</span></td></tr>
+<tr><td><span class="fail">85 warnings</span></td></tr>
<tr><td>
-<table><tr><td>1</td><td><a href="#WarningExpirationDate">Expiration Date</a></td></tr>
-<tr><td>57</td><td><a href="#WarningInvalidValue">Invalid Values</a></td></tr>
-<tr><td>4</td><td><a href="#WarningOtherProblem">Other Problems</a></td></tr>
-<tr><td>8</td><td><a href="#WarningStopsTooClose">Stops Too Closes</a></td></tr>
+<table><tr><td>59</td><td><a href="#WarningInvalidValue">Invalid Values</a></td></tr>
+<tr><td>20</td><td><a href="#WarningOtherProblem">Other Problems</a></td></tr>
+<tr><td>6</td><td><a href="#WarningStopsTooClose">Stops Too Closes</a></td></tr>
</table>
</td>
</table>
<br><br>
-<h3 class="issueHeader">Warnings:</h3><h4 class="issueHeader"><a name="WarningExpirationDate">Expiration Date</a></h4><ul>
-<li><div class="problem">This feed expired on October 01, 2010</div><br></li>
-</ul>
-<h4 class="issueHeader"><a name="WarningInvalidValue">Invalid Value</a></h4><ul>
-<li><div class="problem">Invalid value to cohen st bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "217" and "216".</div><br></li>
-<li><div class="problem">Invalid value to city interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "215" and "214".</div><br></li>
-<li><div class="problem">Invalid value to cohen st bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "213" and "212".</div><br></li>
-<li><div class="problem">Invalid value to city interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "211" and "210".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "219" and "218".</div><br></li>
-<li><div class="problem">Invalid value to cohen st bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "138" and "137".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "222" and "223".</div><br></li>
-<li><div class="problem">Invalid value to city interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "198" and "199".</div><br></li>
-<li><div class="problem">Invalid value to city interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "190" and "191".</div><br></li>
-<li><div class="problem">Invalid value to city interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "193" and "194".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "140" and "139".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "226" and "227".</div><br></li>
-<li><div class="problem">Invalid value to cameron ave bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "146" and "145".</div><br></li>
-<li><div class="problem">Invalid value to city interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "244" and "245".</div><br></li>
-<li><div class="problem">Invalid value to cohen st bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "240" and "241".</div><br></li>
-<li><div class="problem">Invalid value to lithgow st terminus fyshwick in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "242" and "243".</div><br></li>
-<li><div class="problem">Invalid value to bimberi centre in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "246" and "247".</div><br></li>
-<li><div class="problem">Invalid value to city interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "177" and "178".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "175" and "176".</div><br></li>
-<li><div class="problem">Invalid value to cooleman court in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "173" and "174".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "172" and "171".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "253" and "252".</div><br></li>
-<li><div class="problem">Invalid value to city interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "248" and "249".</div><br></li>
-<li><div class="problem">Invalid value to city interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "180" and "179".</div><br></li>
-<li><div class="problem">Invalid value to cohen st bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "181" and "182".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "184" and "183".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "188" and "187".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "196" and "195".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "221" and "220".</div><br></li>
-<li><div class="problem">Invalid value to cohen st bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "185" and "186".</div><br></li>
-<li><div class="problem">Invalid value to cameron ave bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "142" and "141".</div><br></li>
-<li><div class="problem">Invalid value to cooleman court in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "169" and "170".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "228" and "229".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "166" and "165".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "167" and "168".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "162" and "161".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "163" and "164".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "224" and "225".</div><br></li>
-<li><div class="problem">Invalid value to cameron ave bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "152" and "151".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "154" and "153".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "156" and "155".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "159" and "160".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "158" and "157".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "239" and "238".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "235" and "234".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "237" and "236".</div><br></li>
-<li><div class="problem">Invalid value to tuggeranong interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "231" and "230".</div><br></li>
-<li><div class="problem">Invalid value to woden interchange in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "233" and "232".</div><br></li>
-<li><div class="problem">Invalid value to cohen st bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "200" and "201".</div><br></li>
-<li><div class="problem">Invalid value to cohen st bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "202" and "203".</div><br></li>
-<li><div class="problem">Invalid value to gungahlin market place in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "204" and "205".</div><br></li>
-<li><div class="problem">Invalid value to cohen st bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "206" and "207".</div><br></li>
-<li><div class="problem">Invalid value to gungahlin market place in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "208" and "209".</div><br></li>
-<li><div class="problem">Invalid value to cameron ave bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "148" and "147".</div><br></li>
-<li><div class="problem">Invalid value to cameron ave bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "149" and "150".</div><br></li>
-<li><div class="problem">Invalid value to cameron ave bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "144" and "143".</div><br></li>
-<li><div class="problem">Invalid value to alexander maconochie centre hume in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "250" and "251".</div><br></li>
+<h3 class="issueHeader">Warnings:</h3><h4 class="issueHeader"><a name="WarningInvalidValue">Invalid Value</a></h4><ul>
+<li><div class="problem">Invalid value to woden bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "220" and "139".</div><br></li>
+<li><div class="problem">Invalid value to tuggeranong bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "129" and "95".</div><br></li>
+<li><div class="problem">Invalid value to alexander maconochie centre in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "114" and "136".</div><br></li>
+<li><div class="problem">Invalid value to city bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "88" and "51".</div><br></li>
+<li><div class="problem">Invalid value to cohen street bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "111" and "27".</div><br></li>
+<li><div class="problem">Invalid value to tuggeranong bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "82" and "110".</div><br></li>
+<li><div class="problem">Invalid value to tuggeranong bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "174" and "67".</div><br></li>
+<li><div class="problem">Invalid value to city bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "141" and "212".</div><br></li>
+<li><div class="problem">Invalid value to gungahlin marketplace in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "146" and "191".</div><br></li>
+<li><div class="problem">Invalid value to woden bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "92" and "7".</div><br></li>
+<li><div class="problem">Invalid value to cooleman court in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "109" and "126".</div><br></li>
+<li><div class="problem">Invalid value to belconnen community bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "106" and "112".</div><br></li>
+<li><div class="problem">Invalid value to woden bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "32" and "118".</div><br></li>
+<li><div class="problem">Invalid value to belconnen community bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "35" and "120".</div><br></li>
+<li><div class="problem">Invalid value to tuggeranong bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "94" and "56".</div><br></li>
+<li><div class="problem">Invalid value to cohen street bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "252" and "69".</div><br></li>
+<li><div class="problem">Invalid value to city bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "61" and "102".</div><br></li>
+<li><div class="problem">Invalid value to bimberi centre in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "259" and "63".</div><br></li>
+<li><div class="problem">Invalid value to city bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "65" and "26".</div><br></li>
+<li><div class="problem">Invalid value to city bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "256" and "179".</div><br></li>
+<li><div class="problem">Invalid value to cohen street bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "253" and "125".</div><br></li>
+<li><div class="problem">Invalid value to woden bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "182" and "226".</div><br></li>
+<li><div class="problem">Invalid value to woden bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "183" and "8".</div><br></li>
+<li><div class="problem">Invalid value to city bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "180" and "216".</div><br></li>
+<li><div class="problem">Invalid value to woden bus station in field <code>route_long_name</code><br>The same combination of route_short_name and route_long_name shouldn't be used for more than one route, as it is for the for the two routes with IDs "181" and "22