<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <HTML> <!-- Routino data visualiser web page. Part of the Routino routing software. This file Copyright 2008-2012 Andrew M. Bishop This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/. --> <HEAD> <TITLE>Routino : Data Visualiser for Routino OpenStreetMap Data</TITLE> <META name="keywords" content="openstreetmap routino verifier"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <!-- OpenLayers Javascript library --> <script src="../openlayers/OpenLayers.js" type="text/javascript"></script> <!-- Page elements --> <script src="page-elements.js" type="text/javascript"></script> <link href="page-elements.css" type="text/css" rel="stylesheet"> <!-- Router and visualiser shared features --> <link href="maplayout.css" type="text/css" rel="stylesheet"> <!--[if IE 6]> <link href="maplayout-ie6-bugfixes.css" type="text/css" rel="stylesheet"> <![endif]--> <!--[if IE 7]> <link href="maplayout-ie7-bugfixes.css" type="text/css" rel="stylesheet"> <![endif]--> <!-- Visualiser specific features --> <script src="mapprops.js" type="text/javascript"></script> <script src="visualiser.js" type="text/javascript"></script> <link href="visualiser.css" type="text/css" rel="stylesheet"> </HEAD> <BODY onload="map_init();"> <!-- Left hand side of window - data panel --> <div class="left_panel"> <div class="tab_box"> <span id="tab_visualiser" onclick="tab_select('visualiser');" class="tab_selected" title="Select data options">Visualiser</span> <span id="tab_router" onclick="tab_select('router');" class="tab_unselected" title="Plan a route">Router</span> <span id="tab_data" onclick="tab_select('data');" class="tab_unselected" title="View database information">Data</span> </div> <div class="tab_content" id="tab_visualiser_div"> <div class="hideshow_box"> <span class="hideshow_title">Routino Data Visualiser</span> This web page allows visualisation of the data that Routino uses for routing. Only data relevant for routing is displayed and some will therefore be excluded. <div align="center"> <a target="other" href="http://www.routino.org/">Routino Website</a> | <a target="other" href="../documentation/">Documentation</a> </div> </div> <div class="hideshow_box"> <span id="hideshow_language_show" onclick="hideshow_show('language');" class="hideshow_show">+</span> <span id="hideshow_language_hide" onclick="hideshow_hide('language');" class="hideshow_hide">-</span> <span class="hideshow_title">Language</span> <!-- Note for translations: Only this HTML file needs to be translated, the Javascript has no language specific information in it. Only the body text and title attributes should be changed, the values passed to the JavaScript and the element names must not be changed. The selection below changes the language option passed to the router and selects the output language not the web page language, the links are for that. The router itself uses the translations.xml file for the translated versions of the output. --> <div id="hideshow_language_div" style="display: none;"> <table> <tr> <td><a id="lang_en_url" onmouseover="updateURL(this);" onfocus="updateURL(this);" onclick="updateURL(this);" href="visualiser.html.en" title="English language web page">English</a> <td>(EN) </table> </div> </div> <div class="hideshow_box"> <span class="hideshow_title">Instructions</span> Zoom in and then use the buttons below to download the data. The server will only return data if the selected area is small enough. </div> <div class="hideshow_box"> <span class="hideshow_title">Status</span> <div id="result_status"> <div id="result_status_no_data"> <b><i>No data displayed</i></b> </div> <div id="result_status_data" style="display: none;"> </div> <div id="result_status_error" style="display: none;"> <b>Failed to get visualiser data!</b> </div> <div id="result_status_junctions" style="display: none;"> <b>Processed # junctions</b> </div> <div id="result_status_super" style="display: none;"> <b>Processed # super-nodes/segments</b> </div> <div id="result_status_oneway" style="display: none;"> <b>Processed # oneway segments</b> </div> <div id="result_status_highway" style="display: none;"> <b>Processed # segments</b> </div> <div id="result_status_transport" style="display: none;"> <b>Processed # segments</b> </div> <div id="result_status_turns" style="display: none;"> <b>Processed # turn restrictions</b> </div> <div id="result_status_limit" style="display: none;"> <b>Processed # limits</b> </div> </div> </div> <div class="hideshow_box"> <span id="hideshow_junctions_show" onclick="hideshow_show('junctions');" class="hideshow_show">+</span> <span id="hideshow_junctions_hide" onclick="hideshow_hide('junctions');" class="hideshow_hide">-</span> <input type="button" id="junctions" onclick="displayData('junctions');" value="Display Junctions"> <div id="hideshow_junctions_div" style="display: none;"> Each node that is a dead-end, a junction of two highways of different types (or different properties) or a junction where more than two segments join are shown colour-coded: <br> <table> <tr><td><img src="icons/ball-1.png" alt="Red" ><td>only one highway - a dead-end. <tr><td><img src="icons/ball-2.png" alt="Yellow"><td>two highways of different types meet. <tr><td><img src="icons/ball-3.png" alt="Green" ><td>three highways meet. <tr><td><img src="icons/ball-4.png" alt="Brown" ><td>four highways meet. <tr><td><img src="icons/ball-5.png" alt="Blue" ><td>five highways meet. <tr><td><img src="icons/ball-6.png" alt="Pink" ><td>six highways meet. <tr><td><img src="icons/ball-7.png" alt="Black" ><td>seven (or more) highways meet. </table> </div> </div> <div class="hideshow_box"> <span id="hideshow_super_show" onclick="hideshow_show('super');" class="hideshow_show">+</span> <span id="hideshow_super_hide" onclick="hideshow_hide('super');" class="hideshow_hide">-</span> <input type="button" id="super" onclick="displayData('super');" value="Display Super Segments"> <div id="hideshow_super_div" style="display: none;"> Each super-node and the associated super-segments are shown (see algorithm page for description). </div> </div> <div class="hideshow_box"> <span id="hideshow_oneway_show" onclick="hideshow_show('oneway');" class="hideshow_show">+</span> <span id="hideshow_oneway_hide" onclick="hideshow_hide('oneway');" class="hideshow_hide">-</span> <input type="button" id="oneway" onclick="displayData('oneway');" value="Display One-way Segments"> <div id="hideshow_oneway_div" style="display: none;"> Each one-way segment is shown with a coloured triangle indicating the allowed direction. The colours of the triangles depend on the bearing of the highway segment. </div> </div> <div class="hideshow_box"> <span id="hideshow_highway_show" onclick="hideshow_show('highway');" class="hideshow_show">+</span> <span id="hideshow_highway_hide" onclick="hideshow_hide('highway');" class="hideshow_hide">-</span> <input type="button" id="highway" onclick="displayData('highway');" value="Display Highway Segments"> <div id="hideshow_highway_div" style="display: none;"> Each segment of the chosen type of highway is drawn. <form name="highways" id="highways" method="get"> <table> <tr><td>Motorway: <td><input name="highway" type="radio" value="motorway" > <tr><td>Trunk: <td><input name="highway" type="radio" value="trunk" > <tr><td>Primary: <td><input name="highway" type="radio" value="primary" checked> <tr><td>Secondary: <td><input name="highway" type="radio" value="secondary" > <tr><td>Tertiary: <td><input name="highway" type="radio" value="tertiary" > <tr><td>Unclassified:<td><input name="highway" type="radio" value="unclassified"> <tr><td>Residential: <td><input name="highway" type="radio" value="residential" > <tr><td>Service: <td><input name="highway" type="radio" value="service" > <tr><td>Track: <td><input name="highway" type="radio" value="track" > <tr><td>Cycleway: <td><input name="highway" type="radio" value="cycleway" > <tr><td>Path: <td><input name="highway" type="radio" value="path" > <tr><td>Steps: <td><input name="highway" type="radio" value="steps" > <tr><td>Ferry: <td><input name="highway" type="radio" value="ferry" > </table> </form> </div> </div> <div class="hideshow_box"> <span id="hideshow_transport_show" onclick="hideshow_show('transport');" class="hideshow_show">+</span> <span id="hideshow_transport_hide" onclick="hideshow_hide('transport');" class="hideshow_hide">-</span> <input type="button" id="transport" onclick="displayData('transport');" value="Display Transport Segments"> <div id="hideshow_transport_div" style="display: none;"> Each segment allowed for the chosen type of transport is drawn. <form name="transports" id="transports" method="get"> <table> <tr><td>Foot <td><input name="transport" type="radio" value="foot" > <tr><td>Horse <td><input name="transport" type="radio" value="horse" > <tr><td>Wheelchair<td><input name="transport" type="radio" value="wheelchair"> <tr><td>Bicycle <td><input name="transport" type="radio" value="bicycle" > <tr><td>Moped <td><input name="transport" type="radio" value="moped" > <tr><td>Motorbike <td><input name="transport" type="radio" value="motorbike" > <tr><td>Motorcar <td><input name="transport" type="radio" value="motorcar" checked> <tr><td>Goods <td><input name="transport" type="radio" value="goods" > <tr><td>HGV <td><input name="transport" type="radio" value="hgv" > <tr><td>PSV <td><input name="transport" type="radio" value="psv" > </table> </form> </div> </div> <div class="hideshow_box"> <span id="hideshow_turns_show" onclick="hideshow_show('turns');" class="hideshow_show">+</span> <span id="hideshow_turns_hide" onclick="hideshow_hide('turns');" class="hideshow_hide">-</span> <input type="button" id="turns" onclick="displayData('turns');" value="Display Turn Restrictions"> <div id="hideshow_turns_div" style="display: none;"> Each turn restrictions is shown with a line indicating the disallowed turn. </div> </div> <div class="hideshow_box"> <span id="hideshow_speed_show" onclick="hideshow_show('speed');" class="hideshow_show">+</span> <span id="hideshow_speed_hide" onclick="hideshow_hide('speed');" class="hideshow_hide">-</span> <input type="button" id="speed" onclick="displayData('speed');" value="Display Speed Limits"> <div id="hideshow_speed_div" style="display: none;"> Each node that joins segments with different speed limits is shown along with the speed limit on relevant segments. <br> <table> <tr><td><img src="icons/ball-1.png" alt="Red dot"><td>Change of limit <tr><td><img src="icons/limit-no.png" alt="(no)" ><td>No specified speed limit <tr><td><img src="icons/limit-80.png" alt="(80)" ><td>80 km/hour speed limit </table> </div> </div> <div class="hideshow_box"> <span id="hideshow_weight_show" onclick="hideshow_show('weight');" class="hideshow_show">+</span> <span id="hideshow_weight_hide" onclick="hideshow_hide('weight');" class="hideshow_hide">-</span> <input type="button" id="weight" onclick="displayData('weight');" value="Display Weight Limits"> <div id="hideshow_weight_div" style="display: none;"> Each node that joins segments with different weight limits is shown along with the weight limit on relevant segments. For example: <br> <table> <tr><td><img src="icons/ball-1.png" alt="Red dot"><td>Change of limit <tr><td><img src="icons/limit-no.png" alt="(no)" ><td>No specified weight limit <tr><td><img src="icons/limit-8.0.png" alt="(8.0)" ><td>8.0 tonnes weight limit </table> </div> </div> <div class="hideshow_box"> <span id="hideshow_height_show" onclick="hideshow_show('height');" class="hideshow_show">+</span> <span id="hideshow_height_hide" onclick="hideshow_hide('height');" class="hideshow_hide">-</span> <input type="button" id="height" onclick="displayData('height');" value="Display Height Limits"> <div id="hideshow_height_div" style="display: none;"> Each node that joins segments with different height limits is shown along with the height limit on relevant segments. For example: <br> <table> <tr><td><img src="icons/ball-1.png" alt="Red dot"><td>Change of limit <tr><td><img src="icons/limit-no.png" alt="(no)" ><td>No specified height limit <tr><td><img src="icons/limit-4.0.png" alt="(4.0)" ><td>4.0 m height limit </table> </div> </div> <div class="hideshow_box"> <span id="hideshow_width_show" onclick="hideshow_show('width');" class="hideshow_show">+</span> <span id="hideshow_width_hide" onclick="hideshow_hide('width');" class="hideshow_hide">-</span> <input type="button" id="width" onclick="displayData('width');" value="Display Width Limits"> <div id="hideshow_width_div" style="display: none;"> Each node that joins segments with different width limits is shown along with the width limit on relevant segments. For example: <br> <table> <tr><td><img src="icons/ball-1.png" alt="Red dot"><td>Change of limit <tr><td><img src="icons/limit-no.png" alt="(no)" ><td>No specified width limit <tr><td><img src="icons/limit-3.0.png" alt="(3.0)" ><td>3.0 m width limit </table> </div> </div> <div class="hideshow_box"> <span id="hideshow_length_show" onclick="hideshow_show('length');" class="hideshow_show">+</span> <span id="hideshow_length_hide" onclick="hideshow_hide('length');" class="hideshow_hide">-</span> <input type="button" id="length" onclick="displayData('length');" value="Display Length Limits"> <div id="hideshow_length_div" style="display: none;"> Each node that joins segments with different length limits is shown along with the length limit on relevant segments. For example: <br> <table> <tr><td><img src="icons/ball-1.png" alt="Red dot"><td>Change of limit <tr><td><img src="icons/limit-no.png" alt="(no)" ><td>No specified length limit <tr><td><img src="icons/limit-9.0.png" alt="(9.0)" ><td>9.0 m length limit </table> </div> </div> <div class="hideshow_box"> <input type="button" id="clear" onclick="displayData('');" value="Clear data"> </div> <div class="hideshow_box"> <span class="hideshow_title">Links</span> <a id="permalink_url" onmouseover="updateURL(this);" onfocus="updateURL(this);" onclick="updateURL(this);" href="visualiser.html">Permanent link to this view</a> <br> <a id="edit_url" onmouseover="updateURL(this);" onfocus="updateURL(this);" onclick="updateURL(this);" href="http://www.openstreetmap.org/" target="edit">Edit OSM data in Potlatch</a> </div> </div> <div class="tab_content" id="tab_router_div" style="display: none;"> <div class="hideshow_box"> <span class="hideshow_title">Router</span> To perform routing on the map use the link below. <br> <a id="router_url" onmouseover="updateURL(this);" onfocus="updateURL(this);" onclick="updateURL(this);" href="router.html" target="router">Custom link to this map view</a> </div> </div> <div class="tab_content" id="tab_data_div" style="display: none;"> <div class="hideshow_box"> <span class="hideshow_title">Statistics</span> <div id="statistics_data"></div> <a id="statistics_link" href="statistics.cgi" onclick="displayStatistics();return(false);">Display data statistics</a> </div> </div> </div> <!-- Right hand side of window - map --> <div class="right_panel"> <div class="map" id="map"> <noscript> Javascript is <em>required</em> to use this web page because of the interactive map. </noscript> </div> <div class="attribution"> <a target="other" href="http://www.routino.org/" title="Routino">Data Manipulation: Routino</a> | <a target="other" href="http://www.openstreetmap.org/" title="Copyright: OpenStreetMap.org; License: Creative Commons Attribution-Share Alike 2.0">Geo Data: OpenStreetMap</a> </div> </div> </BODY> </HTML>