Check out the latest version of Routino: svn co http://routino.org/svn/trunk routino
Contents of /trunk/doc/html/readme.html
Parent Directory
|
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)
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 & 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 | © 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> |