Check out the latest version of Routino: svn co http://routino.org/svn/trunk routino
Contents of /trunk/web/www/routino/visualiser.html.en
Parent Directory
|
Revision Log
Revision 1248 -
(show annotations)
(download)
Thu Jan 24 19:35:05 2013 UTC (12 years, 1 month ago) by amb
File size: 21459 byte(s)
Thu Jan 24 19:35:05 2013 UTC (12 years, 1 month ago) by amb
File size: 21459 byte(s)
Add the ability for the visualiser to display highways that have a particular property.
1 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> |
2 | <HTML> |
3 | |
4 | <!-- |
5 | Routino data visualiser web page. |
6 | |
7 | Part of the Routino routing software. |
8 | |
9 | This file Copyright 2008-2013 Andrew M. Bishop |
10 | |
11 | This program is free software: you can redistribute it and/or modify |
12 | it under the terms of the GNU Affero General Public License as published by |
13 | the Free Software Foundation, either version 3 of the License, or |
14 | (at your option) any later version. |
15 | |
16 | This program is distributed in the hope that it will be useful, |
17 | but WITHOUT ANY WARRANTY; without even the implied warranty of |
18 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
19 | GNU Affero General Public License for more details. |
20 | |
21 | You should have received a copy of the GNU Affero General Public License |
22 | along with this program. If not, see http://www.gnu.org/licenses/. |
23 | --> |
24 | |
25 | <HEAD> |
26 | <TITLE>Routino : Data Visualiser for Routino OpenStreetMap Data</TITLE> |
27 | <META name="keywords" content="openstreetmap routino verifier"> |
28 | <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
29 | |
30 | <!-- OpenLayers Javascript library --> |
31 | <script src="../openlayers/OpenLayers.js" type="text/javascript"></script> |
32 | |
33 | <!-- Page elements --> |
34 | <script src="page-elements.js" type="text/javascript"></script> |
35 | <link href="page-elements.css" type="text/css" rel="stylesheet"> |
36 | |
37 | <!-- Router and visualiser shared features --> |
38 | <link href="maplayout.css" type="text/css" rel="stylesheet"> |
39 | <!--[if IE 6]> |
40 | <link href="maplayout-ie6-bugfixes.css" type="text/css" rel="stylesheet"> |
41 | <![endif]--> |
42 | <!--[if IE 7]> |
43 | <link href="maplayout-ie7-bugfixes.css" type="text/css" rel="stylesheet"> |
44 | <![endif]--> |
45 | |
46 | <!-- Visualiser specific features --> |
47 | <script src="mapprops.js" type="text/javascript"></script> |
48 | <script src="visualiser.js" type="text/javascript"></script> |
49 | <link href="visualiser.css" type="text/css" rel="stylesheet"> |
50 | |
51 | </HEAD> |
52 | <BODY onload="map_init();"> |
53 | |
54 | <!-- Left hand side of window - data panel --> |
55 | |
56 | <div class="left_panel"> |
57 | |
58 | <div class="tab_box"> |
59 | <span id="tab_visualiser" onclick="tab_select('visualiser');" class="tab_selected" title="Select data options">Visualiser</span> |
60 | <span id="tab_router" onclick="tab_select('router');" class="tab_unselected" title="Plan a route">Router</span> |
61 | <span id="tab_data" onclick="tab_select('data');" class="tab_unselected" title="View database information">Data</span> |
62 | </div> |
63 | |
64 | <div class="tab_content" id="tab_visualiser_div"> |
65 | |
66 | <div class="hideshow_box"> |
67 | <span class="hideshow_title">Routino Data Visualiser</span> |
68 | This web page allows visualisation of the data that Routino uses for routing. |
69 | Only data relevant for routing is displayed and some will therefore be excluded. |
70 | <div align="center"> |
71 | <a target="other" href="http://www.routino.org/">Routino Website</a> |
72 | | |
73 | <a target="other" href="documentation/">Documentation</a> |
74 | </div> |
75 | </div> |
76 | |
77 | <div class="hideshow_box"> |
78 | <span id="hideshow_language_show" onclick="hideshow_show('language');" class="hideshow_show">+</span> |
79 | <span id="hideshow_language_hide" onclick="hideshow_hide('language');" class="hideshow_hide">-</span> |
80 | <span class="hideshow_title">Language</span> |
81 | |
82 | <!-- Note for translations: Only this HTML file needs to be translated, the Javascript has |
83 | no language specific information in it. Only the body text and title attributes should |
84 | be changed, the values passed to the JavaScript and the element names must not be changed. |
85 | The selection below changes the language option passed to the router and selects the |
86 | output language not the web page language, the links are for that. The router itself uses |
87 | the translations.xml file for the translated versions of the output. --> |
88 | |
89 | <div id="hideshow_language_div" style="display: none;"> |
90 | <table> |
91 | <tr> |
92 | <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> |
93 | <td>(EN) |
94 | </table> |
95 | </div> |
96 | </div> |
97 | |
98 | <div class="hideshow_box"> |
99 | <span class="hideshow_title">Instructions</span> |
100 | Zoom in and then use the buttons below to download the data. The |
101 | server will only return data if the selected area is small enough. |
102 | </div> |
103 | |
104 | <div class="hideshow_box"> |
105 | <span class="hideshow_title">Status</span> |
106 | <div id="result_status"> |
107 | <div id="result_status_no_data"> |
108 | <b><i>No data displayed</i></b> |
109 | </div> |
110 | <div id="result_status_data" style="display: none;"> |
111 | </div> |
112 | <div id="result_status_error" style="display: none;"> |
113 | <b>Failed to get visualiser data!</b> |
114 | </div> |
115 | <div id="result_status_junctions" style="display: none;"> |
116 | <b>Processed # junctions</b> |
117 | </div> |
118 | <div id="result_status_super" style="display: none;"> |
119 | <b>Processed # super-nodes/segments</b> |
120 | </div> |
121 | <div id="result_status_oneway" style="display: none;"> |
122 | <b>Processed # oneway segments</b> |
123 | </div> |
124 | <div id="result_status_highway" style="display: none;"> |
125 | <b>Processed # segments</b> |
126 | </div> |
127 | <div id="result_status_transport" style="display: none;"> |
128 | <b>Processed # segments</b> |
129 | </div> |
130 | <div id="result_status_barrier" style="display: none;"> |
131 | <b>Processed # nodes</b> |
132 | </div> |
133 | <div id="result_status_turns" style="display: none;"> |
134 | <b>Processed # turn restrictions</b> |
135 | </div> |
136 | <div id="result_status_limit" style="display: none;"> |
137 | <b>Processed # limit changes</b> |
138 | </div> |
139 | <div id="result_status_property" style="display: none;"> |
140 | <b>Processed # property segments</b> |
141 | </div> |
142 | </div> |
143 | </div> |
144 | |
145 | <div class="hideshow_box"> |
146 | <span id="hideshow_junctions_show" onclick="hideshow_show('junctions');" class="hideshow_show">+</span> |
147 | <span id="hideshow_junctions_hide" onclick="hideshow_hide('junctions');" class="hideshow_hide">-</span> |
148 | <input type="button" id="junctions" onclick="displayData('junctions');" value="Display Junctions"> |
149 | <div id="hideshow_junctions_div" style="display: none;"> |
150 | Each node that is a dead-end, a junction of two highways of different |
151 | types (or different properties) or a junction where more than two segments |
152 | join are shown colour-coded: |
153 | <br> |
154 | <table> |
155 | <tr><td><img src="icons/ball-1.png" alt="Red" ><td>only one highway - a dead-end. |
156 | <tr><td><img src="icons/ball-2.png" alt="Yellow"><td>two highways of different types meet. |
157 | <tr><td><img src="icons/ball-3.png" alt="Green" ><td>three highways meet. |
158 | <tr><td><img src="icons/ball-4.png" alt="Brown" ><td>four highways meet. |
159 | <tr><td><img src="icons/ball-5.png" alt="Blue" ><td>five highways meet. |
160 | <tr><td><img src="icons/ball-6.png" alt="Pink" ><td>six highways meet. |
161 | <tr><td><img src="icons/ball-7.png" alt="Black" ><td>seven (or more) highways meet. |
162 | </table> |
163 | </div> |
164 | </div> |
165 | |
166 | <div class="hideshow_box"> |
167 | <span id="hideshow_super_show" onclick="hideshow_show('super');" class="hideshow_show">+</span> |
168 | <span id="hideshow_super_hide" onclick="hideshow_hide('super');" class="hideshow_hide">-</span> |
169 | <input type="button" id="super" onclick="displayData('super');" value="Display Super Segments"> |
170 | <div id="hideshow_super_div" style="display: none;"> |
171 | Each super-node and the associated super-segments are shown (see |
172 | algorithm page for description). |
173 | </div> |
174 | </div> |
175 | |
176 | <div class="hideshow_box"> |
177 | <span id="hideshow_oneway_show" onclick="hideshow_show('oneway');" class="hideshow_show">+</span> |
178 | <span id="hideshow_oneway_hide" onclick="hideshow_hide('oneway');" class="hideshow_hide">-</span> |
179 | <input type="button" id="oneway" onclick="displayData('oneway');" value="Display One-way Segments"> |
180 | <div id="hideshow_oneway_div" style="display: none;"> |
181 | Each one-way segment is shown with a coloured triangle indicating the |
182 | allowed direction. The colours of the triangles depend on the bearing |
183 | of the highway segment. |
184 | </div> |
185 | </div> |
186 | |
187 | <div class="hideshow_box"> |
188 | <span id="hideshow_highway_show" onclick="hideshow_show('highway');" class="hideshow_show">+</span> |
189 | <span id="hideshow_highway_hide" onclick="hideshow_hide('highway');" class="hideshow_hide">-</span> |
190 | <input type="button" id="highway" onclick="displayData('highway');" value="Display Highway Segments"> |
191 | <div id="hideshow_highway_div" style="display: none;"> |
192 | Each segment of the chosen type of highway is drawn. |
193 | <form name="highways" id="highways" action="" method="get" onsubmit="return false;"> |
194 | <table> |
195 | <tr><td>Motorway: <td><input name="highway" type="radio" value="motorway" > |
196 | <tr><td>Trunk: <td><input name="highway" type="radio" value="trunk" > |
197 | <tr><td>Primary: <td><input name="highway" type="radio" value="primary" checked> |
198 | <tr><td>Secondary: <td><input name="highway" type="radio" value="secondary" > |
199 | <tr><td>Tertiary: <td><input name="highway" type="radio" value="tertiary" > |
200 | <tr><td>Unclassified:<td><input name="highway" type="radio" value="unclassified"> |
201 | <tr><td>Residential: <td><input name="highway" type="radio" value="residential" > |
202 | <tr><td>Service: <td><input name="highway" type="radio" value="service" > |
203 | <tr><td>Track: <td><input name="highway" type="radio" value="track" > |
204 | <tr><td>Cycleway: <td><input name="highway" type="radio" value="cycleway" > |
205 | <tr><td>Path: <td><input name="highway" type="radio" value="path" > |
206 | <tr><td>Steps: <td><input name="highway" type="radio" value="steps" > |
207 | <tr><td>Ferry: <td><input name="highway" type="radio" value="ferry" > |
208 | </table> |
209 | </form> |
210 | </div> |
211 | </div> |
212 | |
213 | <div class="hideshow_box"> |
214 | <span id="hideshow_transport_show" onclick="hideshow_show('transport');" class="hideshow_show">+</span> |
215 | <span id="hideshow_transport_hide" onclick="hideshow_hide('transport');" class="hideshow_hide">-</span> |
216 | <input type="button" id="transport" onclick="displayData('transport');" value="Display Transport Segments"> |
217 | <div id="hideshow_transport_div" style="display: none;"> |
218 | Each segment allowed for the chosen type of transport is drawn. |
219 | <form name="transports" id="transports" action="" method="get" onsubmit="return false;"> |
220 | <table> |
221 | <tr><td>Foot <td><input name="transport" type="radio" value="foot" > |
222 | <tr><td>Horse <td><input name="transport" type="radio" value="horse" > |
223 | <tr><td>Wheelchair<td><input name="transport" type="radio" value="wheelchair"> |
224 | <tr><td>Bicycle <td><input name="transport" type="radio" value="bicycle" > |
225 | <tr><td>Moped <td><input name="transport" type="radio" value="moped" > |
226 | <tr><td>Motorcycle<td><input name="transport" type="radio" value="motorcycle"> |
227 | <tr><td>Motorcar <td><input name="transport" type="radio" value="motorcar" checked> |
228 | <tr><td>Goods <td><input name="transport" type="radio" value="goods" > |
229 | <tr><td>HGV <td><input name="transport" type="radio" value="hgv" > |
230 | <tr><td>PSV <td><input name="transport" type="radio" value="psv" > |
231 | </table> |
232 | </form> |
233 | </div> |
234 | </div> |
235 | |
236 | <div class="hideshow_box"> |
237 | <span id="hideshow_barrier_show" onclick="hideshow_show('barrier');" class="hideshow_show">+</span> |
238 | <span id="hideshow_barrier_hide" onclick="hideshow_hide('barrier');" class="hideshow_hide">-</span> |
239 | <input type="button" id="barrier" onclick="displayData('barrier');" value="Display Barrier Nodes"> |
240 | <div id="hideshow_barrier_div" style="display: none;"> |
241 | Each barrier blocking the chosen type of transport is drawn. |
242 | <form name="barriers" id="barriers" action="" method="get" onsubmit="return false;"> |
243 | <table> |
244 | <tr><td>Foot <td><input name="barrier" type="radio" value="foot" > |
245 | <tr><td>Horse <td><input name="barrier" type="radio" value="horse" > |
246 | <tr><td>Wheelchair<td><input name="barrier" type="radio" value="wheelchair"> |
247 | <tr><td>Bicycle <td><input name="barrier" type="radio" value="bicycle" > |
248 | <tr><td>Moped <td><input name="barrier" type="radio" value="moped" > |
249 | <tr><td>Motorcycle<td><input name="barrier" type="radio" value="motorcycle"> |
250 | <tr><td>Motorcar <td><input name="barrier" type="radio" value="motorcar" checked> |
251 | <tr><td>Goods <td><input name="barrier" type="radio" value="goods" > |
252 | <tr><td>HGV <td><input name="barrier" type="radio" value="hgv" > |
253 | <tr><td>PSV <td><input name="barrier" type="radio" value="psv" > |
254 | </table> |
255 | </form> |
256 | </div> |
257 | </div> |
258 | |
259 | <div class="hideshow_box"> |
260 | <span id="hideshow_turns_show" onclick="hideshow_show('turns');" class="hideshow_show">+</span> |
261 | <span id="hideshow_turns_hide" onclick="hideshow_hide('turns');" class="hideshow_hide">-</span> |
262 | <input type="button" id="turns" onclick="displayData('turns');" value="Display Turn Restrictions"> |
263 | <div id="hideshow_turns_div" style="display: none;"> |
264 | Each turn restrictions is shown with a line indicating the disallowed |
265 | turn. |
266 | </div> |
267 | </div> |
268 | |
269 | <div class="hideshow_box"> |
270 | <span id="hideshow_speed_show" onclick="hideshow_show('speed');" class="hideshow_show">+</span> |
271 | <span id="hideshow_speed_hide" onclick="hideshow_hide('speed');" class="hideshow_hide">-</span> |
272 | <input type="button" id="speed" onclick="displayData('speed');" value="Display Speed Limits"> |
273 | <div id="hideshow_speed_div" style="display: none;"> |
274 | Each node that joins segments with different speed limits is shown |
275 | along with the speed limit on relevant segments. |
276 | <br> |
277 | <table> |
278 | <tr><td><img src="icons/ball-1.png" alt="Red dot"><td>Change of limit |
279 | <tr><td><img src="icons/limit-no.png" alt="(no)" ><td>No specified speed limit |
280 | <tr><td><img src="icons/limit-80.png" alt="(80)" ><td>80 km/hour speed limit |
281 | </table> |
282 | </div> |
283 | </div> |
284 | |
285 | <div class="hideshow_box"> |
286 | <span id="hideshow_weight_show" onclick="hideshow_show('weight');" class="hideshow_show">+</span> |
287 | <span id="hideshow_weight_hide" onclick="hideshow_hide('weight');" class="hideshow_hide">-</span> |
288 | <input type="button" id="weight" onclick="displayData('weight');" value="Display Weight Limits"> |
289 | <div id="hideshow_weight_div" style="display: none;"> |
290 | Each node that joins segments with different weight limits is shown |
291 | along with the weight limit on relevant segments. For example: |
292 | <br> |
293 | <table> |
294 | <tr><td><img src="icons/ball-1.png" alt="Red dot"><td>Change of limit |
295 | <tr><td><img src="icons/limit-no.png" alt="(no)" ><td>No specified weight limit |
296 | <tr><td><img src="icons/limit-8.0.png" alt="(8.0)" ><td>8.0 tonnes weight limit |
297 | </table> |
298 | </div> |
299 | </div> |
300 | |
301 | <div class="hideshow_box"> |
302 | <span id="hideshow_height_show" onclick="hideshow_show('height');" class="hideshow_show">+</span> |
303 | <span id="hideshow_height_hide" onclick="hideshow_hide('height');" class="hideshow_hide">-</span> |
304 | <input type="button" id="height" onclick="displayData('height');" value="Display Height Limits"> |
305 | <div id="hideshow_height_div" style="display: none;"> |
306 | Each node that joins segments with different height limits is shown |
307 | along with the height limit on relevant segments. For example: |
308 | <br> |
309 | <table> |
310 | <tr><td><img src="icons/ball-1.png" alt="Red dot"><td>Change of limit |
311 | <tr><td><img src="icons/limit-no.png" alt="(no)" ><td>No specified height limit |
312 | <tr><td><img src="icons/limit-4.0.png" alt="(4.0)" ><td>4.0 m height limit |
313 | </table> |
314 | </div> |
315 | </div> |
316 | |
317 | <div class="hideshow_box"> |
318 | <span id="hideshow_width_show" onclick="hideshow_show('width');" class="hideshow_show">+</span> |
319 | <span id="hideshow_width_hide" onclick="hideshow_hide('width');" class="hideshow_hide">-</span> |
320 | <input type="button" id="width" onclick="displayData('width');" value="Display Width Limits"> |
321 | <div id="hideshow_width_div" style="display: none;"> |
322 | Each node that joins segments with different width limits is shown |
323 | along with the width limit on relevant segments. For example: |
324 | <br> |
325 | <table> |
326 | <tr><td><img src="icons/ball-1.png" alt="Red dot"><td>Change of limit |
327 | <tr><td><img src="icons/limit-no.png" alt="(no)" ><td>No specified width limit |
328 | <tr><td><img src="icons/limit-3.0.png" alt="(3.0)" ><td>3.0 m width limit |
329 | </table> |
330 | </div> |
331 | </div> |
332 | |
333 | <div class="hideshow_box"> |
334 | <span id="hideshow_length_show" onclick="hideshow_show('length');" class="hideshow_show">+</span> |
335 | <span id="hideshow_length_hide" onclick="hideshow_hide('length');" class="hideshow_hide">-</span> |
336 | <input type="button" id="length" onclick="displayData('length');" value="Display Length Limits"> |
337 | <div id="hideshow_length_div" style="display: none;"> |
338 | Each node that joins segments with different length limits is shown |
339 | along with the length limit on relevant segments. For example: |
340 | <br> |
341 | <table> |
342 | <tr><td><img src="icons/ball-1.png" alt="Red dot"><td>Change of limit |
343 | <tr><td><img src="icons/limit-no.png" alt="(no)" ><td>No specified length limit |
344 | <tr><td><img src="icons/limit-9.0.png" alt="(9.0)" ><td>9.0 m length limit |
345 | </table> |
346 | </div> |
347 | </div> |
348 | |
349 | <div class="hideshow_box"> |
350 | <span id="hideshow_property_show" onclick="hideshow_show('property');" class="hideshow_show">+</span> |
351 | <span id="hideshow_property_hide" onclick="hideshow_hide('property');" class="hideshow_hide">-</span> |
352 | <input type="button" id="property" onclick="displayData('property');" value="Display Highway Properties"> |
353 | <div id="hideshow_property_div" style="display: none;"> |
354 | Each segment of the highways with a particular property is drawn. |
355 | <form name="properties" id="properties" action="" method="get" onsubmit="return false;"> |
356 | <table> |
357 | <tr><td>Paved: <td><input name="property" type="radio" value="paved" checked> |
358 | <tr><td>Multiple Lanes:<td><input name="property" type="radio" value="multilane" > |
359 | <tr><td>Bridge: <td><input name="property" type="radio" value="bridge" > |
360 | <tr><td>Tunnel: <td><input name="property" type="radio" value="tunnel" > |
361 | <tr><td>Walking Route: <td><input name="property" type="radio" value="footroute" > |
362 | <tr><td>Bicycle Route: <td><input name="property" type="radio" value="bicycleroute"> |
363 | </table> |
364 | </form> |
365 | </div> |
366 | </div> |
367 | |
368 | <div class="hideshow_box"> |
369 | <input type="button" id="clear" onclick="displayData('');" value="Clear data"> |
370 | </div> |
371 | |
372 | <div class="hideshow_box"> |
373 | <span class="hideshow_title">Links</span> |
374 | <a id="permalink_url" onmouseover="updateURL(this);" onfocus="updateURL(this);" onclick="updateURL(this);" href="visualiser.html">Permanent link to this view</a> |
375 | <br> |
376 | <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> |
377 | </div> |
378 | </div> |
379 | |
380 | <div class="tab_content" id="tab_router_div" style="display: none;"> |
381 | <div class="hideshow_box"> |
382 | <span class="hideshow_title">Router</span> |
383 | To perform routing on the map use the link below. |
384 | <br> |
385 | <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> |
386 | </div> |
387 | </div> |
388 | |
389 | <div class="tab_content" id="tab_data_div" style="display: none;"> |
390 | <div class="hideshow_box"> |
391 | <span class="hideshow_title">Statistics</span> |
392 | <div id="statistics_data"></div> |
393 | <a id="statistics_link" href="statistics.cgi" onclick="displayStatistics();return(false);">Display data statistics</a> |
394 | </div> |
395 | </div> |
396 | |
397 | </div> |
398 | |
399 | <!-- Right hand side of window - map --> |
400 | |
401 | <div class="right_panel"> |
402 | <div class="map" id="map"> |
403 | <noscript> |
404 | Javascript is <em>required</em> to use this web page because of the |
405 | interactive map. |
406 | </noscript> |
407 | </div> |
408 | <div class="attribution"> |
409 | Router: <a href="http://www.routino.org/" target="routino">Routino</a> |
410 | | |
411 | Geo Data: <span id="attribution_data"></span> |
412 | | |
413 | Tiles: <span id="attribution_tile"></span> |
414 | </div> |
415 | </div> |
416 | |
417 | </BODY> |
418 | </HTML> |