Routino SVN Repository Browser

Check out the latest version of Routino: svn co http://routino.org/svn/trunk routino

ViewVC logotype

Contents of /trunk/doc/html/readme.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1646 - (show annotations) (download) (as text)
Fri May 1 17:51:13 2015 UTC (9 years, 11 months ago) by amb
File MIME type: text/html
File size: 15199 byte(s)
Add "meta" header to HTML to help mobile devices and tidy up some CSS.

1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2 <html>
3
4 <head>
5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
6 <meta name="viewport" content="width=device-width, initial-scale=1">
7
8 <title>Routino : Software</title>
9
10 <!--
11 Routino documentation - readme
12
13 Part of the Routino routing software.
14
15 This file Copyright 2008-2015 Andrew M. Bishop
16
17 This program is free software: you can redistribute it and/or modify
18 it under the terms of the GNU Affero General Public License as published by
19 the Free Software Foundation, either version 3 of the License, or
20 (at your option) any later version.
21
22 This program is distributed in the hope that it will be useful,
23 but WITHOUT ANY WARRANTY; without even the implied warranty of
24 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
25 GNU Affero General Public License for more details.
26
27 You should have received a copy of the GNU Affero General Public License
28 along with this program. If not, see http://www.gnu.org/licenses/.
29 -->
30
31 <link href="style.css" type="text/css" rel="stylesheet">
32 </head>
33
34 <body>
35
36 <!-- Header Start -->
37
38 <div class="header">
39
40 <h1>Routino : Software</h1>
41
42 </div>
43
44 <!-- Header End -->
45
46 <!-- Content Start -->
47
48 <div class="content">
49
50 <h2 id="H_1_1" title="Introduction">Routino Introduction</h2>
51
52 Routino is an application for finding a route between two points using the
53 dataset of topographical information collected by
54 <a class="ext" title="OpenStreetMap" href="http://www.openstreetmap.org/">http://www.OpenStreetMap.org</a>.
55
56 <p>
57
58 Starting from the raw OpenStreetMap data (in the form of the '.osm' XML files
59 available on the internet) a custom database is generated that contains the
60 information useful for routing. With this database and two points specified by
61 latitude and longitude an optimum route (either shortest or quickest) is
62 determined. The route is calculated for OpenStreetMap highways (roads, paths
63 etc) using one of the common forms of transport defined in OpenStreetMap (foot,
64 bicycle, horse, motorcar, motorcycle etc).
65
66 <p>
67
68 When processing the OpenStreetMap data the types of highways are recorded and
69 these set default limits on the types of traffic allowed. More specific
70 information about permissions for different types of transport are also recorded
71 as are maximum speed limits. Further restrictions like one-way streets, weight,
72 height, width and length limits are also included where specified. Additionally
73 a set of properties of each highway are also recorded. The processing of the
74 input file is controlled by a configuration file which determines the
75 information that is used.
76
77 <p>
78
79 When calculating a route the type of transport to be used is taken into account
80 to ensure that the known restrictions are followed. Each of the different
81 highway types can further be allowed or disallowed depending on preferences.
82 For each type of highway a default speed limit is defined (although the actual
83 speed used will be the lowest of the default and any specified in the original
84 data). To make use of the information about restrictions the weight, height,
85 width and length of the transport can also be specified. Further preferences
86 about road properties (e.g. paved or not) can also be selected. The simplest
87 type of turn restrictions (those formed from an initial way, a node and a second
88 way) are also obeyed.
89
90 <p>
91
92 The result of calculating the route can be presented in several different ways.
93 An HTML file can be produced that contains a description of the route to take
94 with instructions for each of the important junctions. The contents of the file
95 are created based on a set of translations specified in a configuration file.
96 The route is also available in a
97 <a class="ext" title="GPX format" href="http://www.topografix.com/gpx.asp">GPX (GPS eXchange) XML format</a>.
98 format file containing either every point and highway segment (a track file) or
99 just a waypoint and translated instructions for the important junctions (a route
100 file).
101 Additionally there are two plain text files that contain all data points or just
102 the important ones (intended for debugging and further processing).
103
104 <p>
105
106 One of the design aims of Routino was to make the software are flexible as
107 possible in selecting routing preferences but also have a sensible set of
108 default values. Another design aim was that finding the optimum route should be
109 very fast and most of the speed increases come from the carefully chosen and
110 optimised data format.
111
112
113 <h2 id="H_1_2">Disclaimer</h2>
114
115 The route that is calculated by this software is only as good as the input data.
116
117 <p>
118
119 Routino comes with ABSOLUTELY NO WARRANTY for the software itself or the route
120 that is calculated by it.
121
122
123 <h2 id="H_1_3">Demonstration</h2>
124
125 A live demonstration of the router for the UK is available on the internet in
126 both OpenLayers and Leaflet versions:
127 <br>
128 <a href="http://www.routino.org/uk-leaflet/" title="Leaflet Router">http://www.routino.org/uk-leaflet/</a>
129 <br>
130 <a href="http://www.routino.org/uk-openlayers/" title="OpenLayers Router">http://www.routino.org/uk-openlayers/</a>
131
132 <p>
133
134 The source code download available below also includes a set of files that can
135 be used to create your own interactive map.
136
137 <p>
138
139 The interactive map is made possible by use of the OpenLayers or Leaflet
140 Javascript library from
141 <a class="ext" href="http://www.openlayers.org" title="OpenLayers">http://www.openlayers.org/</a>
142 or
143 <a class="ext" href="http://leafletjs.com" title="Leaflet">http://leafletjs.com/</a>.
144
145
146 <h2 id="H_1_4">Documentation</h2>
147
148 A full set of
149 <a href="index.html" title="Documentation">documentation</a>
150 is available that describes how to install and use the programs as well as
151 what should go in the configuration files and how it works.
152
153
154 <h2 id="H_1_5">Status</h2>
155
156 Version 1.0 of Routino was released on 8th April 2009.
157 <br>
158 Version 1.1 of Routino was released on 13th June 2009.
159 <br>
160 Version 1.2 of Routino was released on 21st October 2009.
161 <br>
162 Version 1.3 of Routino was released on 21st January 2010.
163 <br>
164 Version 1.4 of Routino was released on 31st May 2010.
165 <br>
166 Version 1.4.1 of Routino was released on 10th July 2010.
167 <br>
168 Version 1.5 of Routino was released on 30th October 2010.
169 <br>
170 Version 1.5.1 of Routino was released on 13th November 2010.
171 <br>
172 Version 2.0 of Routino was released on 30th May 2011.
173 <br>
174 Version 2.0.1 of Routino was released on 7th June 2011.
175 <br>
176 Version 2.0.2 of Routino was released on 26th June 2011.
177 <br>
178 Version 2.0.3 of Routino was released on 4th August 2011.
179 <br>
180 Version 2.1 of Routino was released on 3rd October 2011.
181 <br>
182 Version 2.1.1 of Routino was released on 23rd October 2011.
183 <br>
184 Version 2.1.2 of Routino was released on 12th November 2011.
185 <br>
186 Version 2.2 of Routino was released on 3rd March 2012.
187 <br>
188 Version 2.3 of Routino was released on 21st July 2012.
189 <br>
190 Version 2.3.1 of Routino was released on 11th August 2012.
191 <br>
192 Version 2.3.2 of Routino was released on 6th October 2012.
193 <br>
194 Version 2.4 of Routino was released on 8th December 2012.
195 <br>
196 Version 2.4.1 of Routino was released on 17th December 2012.
197 <br>
198 Version 2.5 of Routino was released on 9th February 2013.
199 <br>
200 Version 2.5.1 of Routino was released on 20th April 2013.
201 <br>
202 Version 2.6 of Routino was released on 6th July 2013.
203 <br>
204 Version 2.7 of Routino was released on 22nd March 2014.
205 <br>
206 Version 2.7.1 of Routino was released on 17th May 2014.
207 <br>
208 Version 2.7.2 of Routino was released on 26th June 2014.
209 <br>
210 Version 2.7.3 of Routino was released on 8th November 2014.
211
212 <p>
213
214 The full version history is available in the NEWS.txt file.
215
216
217 <h3 id="H_1_5_1" title="Changes 2.7">Changes in Versions 2.7</h3>
218
219 Version 2.7 - mostly web page usability improvements.
220
221 <dl>
222 <dt>Bug fixes:
223 <dd>Fix web-page CGI bug that did not allow more than 9 waypoints to be routed.
224 <br>Fix typo in documentation strings in filedumper program.
225 <br>Fix error in function prototype that stopped 64-bit node type being used.
226 <br>Don't lose super-segments when merging them with normal segments.
227 <br>Don't exceed the database lat/long limits when searching for visualiser data.
228
229 <dt>planetsplitter:
230 <dd>Don't overflow (and wrap-around) conversions of lengths, weights etc.
231 <br>Add some new formats of length, weight and speed parsing.
232 <br>Add .xz uncompression as a compile-time option (default is disabled).
233
234 <dt>router:
235 <dd>Remove ancient undocumented option to specify lat/lon without --lat/--lon.
236 <br>Add a '--output-stdout' option to output the route in a selected format.
237 <br>Add a '--reverse' option to calculate a route in the reverse order.
238 <br>Add a '--loop' option to calculate a route that returns to the first waypoint.
239 <br>Output valid HTML4 (use strict DTD and use numeric entity for apostrophe).
240
241 <dt>OSM tagging:
242 <dd>Allow bicycles both ways on certain oneway roads if tagging allows.
243 <br>Handle "access=bus" like "access=psv".
244
245 <dt>Configuration Files:
246 <dd>Updated Dutch translations.
247 <br>Updates to the XML parser tagging rules.
248 <br>Added French translations for the routing output.
249
250 <dt>Documentation:
251 <dd>Update the algorithm documentation for finding the shortest path.
252 <br>Update documentation HTML to strict 4.01 DTD.
253
254 <dt>Web pages:
255 <dd>Some changes to HTML, CSS formatting and Javascript to improve usability.
256 <br>Added a French translation of the router web page.
257 <br>Add the option to choose between OpenLayers and Leaflet for map rendering.
258 <br>Check compatible with OpenLayers v2.13.1 and make this the default.
259 <br>Create the router and visualiser pages from templates and translated phrases.
260 </dl>
261
262 <p>
263 <b>Note:</b> This version has removed specific support for IE6 and IE7 browsers.
264 <p>
265 <b>Note:</b> Note: This version is compatible with databases from version 2.6.
266
267 <h3 id="H_1_5_2" title="Changes 2.7.1">Changes in Versions 2.7.1</h3>
268
269 Version 2.7.1 - mostly bug fixes (some from version 2.7, but mostly older ones).
270
271 <dl>
272 <dt>Bug fixes:
273 <dd>Fix typo in documentation for command to get SVN version.
274 <br>Fix router crash when waypoint is on roundabout.
275 <br>Don't duplicate super-segments when merging them with normal segments.
276 <br>Change routing instructions for bicycle if highways allow cycling both ways.
277 <br>Make translation script work with older versions of Perl.
278 <br>Fix router crash if fewer than two waypoints are specified.
279 <br>Revert router speed decrease with special-case tagging rules.
280 <br>Fix web page search function when it returns non-ASCII text.
281 <br>Fix router failure due to invalid assumption about allowed U-turn.
282 <br>Fix bug with updating XML files in web/data directory (Makefile error).
283 <br>Fix router web page error due to absence of cyclebothways property entry.
284 <br>Fix results error if a waypoint node was passed again on way to next waypoint.
285 <br>Fix router crash when route contains consecutive coincident waypoints.
286 <br>Fix bug with slightly incorrect distances when pruning short segments.
287
288 <dt>Test cases:
289 <dd>Create new test case for roundabout waypoint bug fixed in this version.
290 <br>Create new test case for invalid U-turn assumption bug fixed in this version.
291 <br>Create new test case for cycling both ways.
292 <br>Create new test case for consecutive coincident waypoints.
293
294 <dt>router:
295 <dd>Remove cyclebothways as a property that can be used as a routing preference.
296
297 <dt>Web pages:
298 <dd>Disallow route calculation if fewer than two waypoints are selected.
299 <br>Update visualiser for change of cyclebothways handling.
300
301 <dt>Translations:
302 <dd>Updated Russian translations.
303 <br>Updated German translations.
304 </dl>
305
306 <p>
307 <b>Note:</b> This version is not compatible with databases from previous versions.
308
309
310 <h3 id="H_1_5_3" title="Changes 2.7.2">Changes in Versions 2.7.2</h3>
311
312 Version 2.7.2 - mostly bug fixes introduced in version 2.7.1 on 64-bit systems.
313
314 <dl>
315 <dt>Bug fixes:
316 <dd>Make the visualiser display all segments including those crossing the border.
317 <br>Fix two errors that cause crashes only on 64-bit systems.
318
319 <dt>planetsplitter / router:
320 <dd>Increase the size of the caches for the slim programs by a factor of four.
321
322 <dt>Translations:
323 <dd>Updated Russian translations.
324 <br>Updated German translations.
325 </dl>
326
327 <p>
328 <b>Note:</b> This version is compatible with databases from version 2.7.1.
329
330
331 <h3 id="H_1_5_4" title="Changes 2.7.3">Changes in Versions 2.7.3</h3>
332
333 Version 2.7.3 - Slightly reduced memory usage and large reduction in time to generate routing database on low memory systems.
334
335 <dl>
336 <dt>Bug fixes:
337 <dd>Limit the property preference ratio to 100 instead of 10000.
338 <br>Don't allocate memory for sorting that won't be used.
339
340 <dt>planetsplitter:
341 <dd>Added an option to print out the allocated/mapped memory at each step.
342 <br>Speed up database generation by compacting results after each pruning step.
343 <br>Speed up database generation by sorting nodes geographically before pruning.
344 <br>Reduce memory use while generating the database.
345
346 <dt>router:
347 <dd>Added the options to print out time and allocated/mapped memory at each step.
348
349 <dt>Translations:
350 <dd>Updated German translations.
351 </dl>
352
353 <p>
354 <b>Note:</b> This version is compatible with databases from version 2.7.1 &amp; 2.7.2.
355
356
357
358 <h2 id="H_1_6">License</h2>
359
360 This program is free software: you can redistribute it and/or modify it under
361 the terms of the
362 <a class="ext" title="Affero GPLv3" href="http://www.gnu.org/licenses/agpl-3.0.html">GNU Affero General Public License</a>
363 as published by the Free Software Foundation; either version 3 of the License,
364 or (at your option) any later version.
365
366 <p>
367
368 It is important to note that for this program I have decided to use the
369 <em>Affero GPLv3</em> instead of just using the GPL. This license adds
370 additional requirements to anybody who provides a networked service using this
371 software.
372
373
374 <h3 id="H_1_6_1">Copyright</h3>
375
376 Routino is copyright Andrew M. Bishop 2008-2014.
377
378
379 <h2 id="H_1_7">Homepage</h2>
380
381 The <a title="Homepage" href="http://www.routino.org/">Routino homepage</a>
382 has the latest news about the program.
383
384
385 <h2 id="H_1_8">Download</h2>
386
387 The <a title="Download directory" href="http://www.routino.org/download/">download directory</a>
388 contains the latest version of the source code.
389
390 <h3 id="H_1_8_1">Subversion</h3>
391
392 The source code can also be downloaded from the
393 <a title="SVN Repository" href="http://routino.org/svn/trunk/">Subversion repository</a>
394 with a command like the following:
395
396 <pre class="boxed">
397 svn co http://routino.org/svn/trunk routino
398 </pre>
399
400 <p>
401 The source code can also be browsed in the
402 <a title="SVN Viewer" href="http://www.routino.org/viewvc/trunk/">Subversion viewer</a>
403 which also has a list of the
404 <a title="SVN Changes" href="http://www.routino.org/viewvc/trunk/?view=log">latest changes</a>.
405
406
407 </div>
408
409 <!-- Content End -->
410
411 <!-- Footer Start -->
412
413 <div class="footer">
414
415 <address>
416 &copy; Andrew M. Bishop - <a href="http://www.routino.org/">http://www.routino.org/</a>
417 </address>
418
419 </div>
420
421 <!-- Footer End -->
422
423 </body>
424
425 </html>