initial packaging
[routino] / doc / USAGE.txt
1                                Routino : Usage
2                                ===============
3
4
5    There are four programs that make up this software. The first one takes
6    the planet.osm datafile from OpenStreetMap (or other source of data
7    using the same formats) and converts it into a local database. The
8    second program uses the database to determine an optimum route between
9    two points. The third program allows visualisation of the data and
10    statistics to be extracted. The fourth program is a test program for
11    the tag transformations.
12
13
14 planetsplitter
15 --------------
16
17    This program reads in the OSM format XML file and splits it up to
18    create the database that is used for routing.
19
20   Usage: planetsplitter [--help]
21                         [--dir=<dirname>] [--prefix=<name>]
22                         [--slim] [--sort-ram-size=<size>]
23                         [--tmpdir=<dirname>]
24                         [--parse-only | --process-only]
25                         [--max-iterations=<number>]
26                         [--tagging=<filename>]
27                         [<filename.osm> ...]
28
29    --help
30           Prints out the help information.
31
32    --dir=<dirname>
33           Sets the directory name in which to save the results. Defaults
34           to the current directory.
35
36    --prefix=<name>
37           Sets the filename prefix for the files that are created.
38           Defaults to no prefix.
39
40    --slim
41           Selects a mode of operation that uses less memory and will
42           therefore work where virtual memory is very limited or
43           unavailable. Selecting this option will cause raw data to be
44           held in disk files with only indexes in RAM. Not using this
45           option will still use disk files but only for sequential access
46           and the files are memory mapped for random access.
47
48    --sort-ram-size=<size>
49           Specifies the amount of RAM (in MB) to use for sorting the data.
50           If not specified then 64 MB will be used if the '--slim' option
51           is specified or 256 MB otherwise.
52
53    --tmpdir=<dirname>
54           Specifies the name of the directory to store the temporary disk
55           files. If not specified then it defaults to either the value of
56           the --dir option or the current directory.
57
58    --parse-only
59           Parse the input files and store them in a temporary file but
60           don't process the data into a routing database.
61
62    --process-only
63           Don't read in any files but process the existing temporary file
64           into the routing database.
65
66    --max-iterations=<number>
67           The maximum number of iterations to use when generating
68           super-nodes and super-segments. Defaults to 10 which is normally
69           enough.
70
71    --tagging=<filename>
72           The name of the XML file containing the tagging rules (defaults
73           to 'tagging.xml' with '--dirname' and '--prefix' options).
74
75    <filename.osm> ...
76           Specifies the filename(s) to read data from, by default data is
77           read from the standard input.
78
79    Note: In version 1.4 of Routino the --transport, --not-highway and
80    --not-property options have been removed. The same functionality can be
81    achieved by editing the tagging rules file to not output unwwanted
82    data.
83
84    Example usage:
85
86 ./planetsplitter --dir=data --prefix=gb great_britain.osm
87
88    This will generate the output files 'data/gb-nodes.mem',
89    'data/gb-segments.mem' and 'data/gb-ways.mem'.
90
91
92 router
93 ------
94
95    This program performs the calculation of the optimum routes using the
96    database generated by the planetsplitter program.
97
98   Usage: router [--help | --help-profile | --help-profile-xml |
99                           --help-profile-json | --help-profile-perl ]
100                 [--dir=<dirname>] [--prefix=<name>]
101                 [--profiles=<filename>] [--translations=<filename>]
102                 [--exact-nodes-only]
103                 [--quiet]
104                 [--output-html]
105                 [--output-gpx-track] [--output-gpx-route]
106                 [--output-text] [--output-text-all]
107                 [--output-none]
108                 [--profile=<name>]
109                 [--transport=<transport>]
110                 [--shortest | --quickest]
111                 --lon1=<longitude> --lat1=<latitude>
112                 --lon2=<longitude> --lon2=<latitude>
113                 [ ... --lon99=<longitude> --lon99=<latitude>]
114                 [--highway-<highway>=<preference> ...]
115                 [--speed-<highway>=<speed> ...]
116                 [--property-<property>=<preference> ...]
117                 [--oneway=(0|1)]
118                 [--weight=<weight>]
119                 [--height=<height>] [--width=<width>] [--length=<length>]
120
121    --help
122           Prints out the help information.
123
124    --help-profile
125           Prints out the selected transport profile (type, speed limits,
126           highway preferences etc.)
127
128    --help-profile-xml
129           Prints out all the loaded profiles as an XML file in the same
130           format that can be loaded in.
131
132    --help-profile-json
133           Prints out all the loaded profiles in JavaScript Object Notation
134           (JSON) format for use in the interactive webpage.
135
136    --help-profile-perl
137           Prints out all the loaded profiles as a Perl object for use in
138           the router CGI.
139
140    --dir=<dirname>
141           Sets the directory name in which to read the local database.
142           Defaults to the current directory.
143
144    --prefix=<name>
145           Sets the filename prefix for the files in the local database.
146           Defaults to no prefix.
147
148    --profiles=<filename>
149           Sets the filename containing the list of profiles in XML format.
150           If the file doesn't exist then dirname, prefix and
151           "profiles.xml" will be combined and used, if that doesn't exist
152           then the command line must contain all relevant profile
153           information.
154
155    --translations=<filename>
156           Sets the filename containing the list of translations in XML
157           format for the output files. If the file doesn't exist then
158           dirname, prefix and "translations.xml" will be combined and
159           used, if that doesn't exist then no file will be read and no
160           language can be selected.
161
162    --exact-nodes-only
163           When processing the specified latitude and longitude points only
164           select the nearest node instead of finding the nearest point
165           within a segment (quicker but less accurate unless the points
166           are already near nodes).
167
168    --quiet
169           Don't generate any screen output while running (useful for
170           running in a script).
171
172    --language=<lang>
173           Select the language specified from the file of translations. If
174           this option is not given and the file exists then the first
175           language in the file will be used. If this option is not given
176           and no file exists the compiled-in default language (English)
177           will be used.
178
179    --output-html
180    --output-gpx-track
181    --output-gpx-route
182    --output-text
183    --output-text-all
184           Generate the selected output file formats (HTML, GPX track file,
185           GPX route file, plain text route and/or plain text with all
186           nodes). If no output is specified then all are generated,
187           specifying any automatically disables those not specified.
188
189    --output-none
190           Do not generate any output or read in any translations files.
191
192    --profile=<name>
193           Specifies the name of the profile to use.
194
195    --transport=<transport>
196           Select the type of transport to use, <transport> can be set to:
197
198           + foot = Foot
199           + horse = Horse
200           + wheelchair = Wheelchair
201           + bicycle = Bicycle
202           + moped = Moped (Small motorbike, limited speed)
203           + motorbike = Motorbike
204           + motorcar = Motorcar
205           + goods = Goods (Small lorry, van)
206           + hgv = HGV (Heavy Goods Vehicle - large lorry)
207           + psv = PSV (Public Service Vehicle - bus, coach)
208
209           Defaults to 'motorcar', this option also selects the default
210           profile information if the '--profile' option is not given and a
211           profile matching the transport name is found.
212
213    --shortest
214           Find the shortest route between the waypoints.
215
216    --quickest
217           Find the quickest route between the waypoints.
218
219    --lon1=<longitude>, --lat1=<latitude>
220    --lon2=<longitude>, --lat2=<latitude>
221    ... --lon99=<longitude>, --lat99=<latitude>
222           The location of the waypoints that make up the start, middle and
223           end points of the route. Up to 99 waypoints can be specified and
224           the route will pass through each of the specified ones in
225           sequence. The algorithm will use the closest node or point
226           within a segment that allows the specified traffic type.
227
228    --highway-<highway>=<preference>
229           Selects the percentage preference for using each particular type
230           of highway. The value of <highway> can be selected from:
231
232           + motorway = Motorway
233           + trunk = Trunk
234           + primary = Primary
235           + secondary = Secondary
236           + tertiary = Tertiary
237           + unclassified = Unclassified
238           + residential = Residential
239           + service = Service
240           + track = Track
241           + cycleway = Cycleway
242           + path = Path
243           + steps = Steps
244
245           Default value depends on the profile selected by the --transport
246           option.
247
248    --speed-<highway>=<speed>
249           Selects the speed limit in km/hour for each type of highway.
250           Default value depends on the profile selected by the --transport
251           option.
252
253    --property-<property>=<preference>
254           Selects the percentage preference for using each particular
255           highway property The value of <property> can be selected from:
256
257           + paved = Paved (suitable for normal wheels)
258           + multilane = Multiple lanes
259           + bridge = Bridge
260           + tunnel = Tunnel
261
262           Default value depends on the profile selected by the --transport
263           option.
264
265    --oneway=[0|1]
266           Selects if the direction of oneway streets are to be obeyed
267           (useful to not obey them when walking). Default value depends on
268           the profile selected by the --transport option.
269
270    --weight=<weight>
271           Specifies the weight of the mode of transport in tonnes; ensures
272           that the weight limit on the highway is not exceeded. Default
273           value depends on the profile selected by the --transport option.
274
275    --height=<height>
276           Specifies the height of the mode of transport in metres; ensures
277           that the height limit on the highway is not exceeded. Default
278           value depends on the profile selected by the --transport option.
279
280    --width=<width>
281           Specifies the width of the mode of transport in metres; ensures
282           that the width limit on the highway is not exceeded. Default
283           value depends on the profile selected by the --transport option.
284
285    --length=<length>
286           Specifies the length of the mode of transport in metres; ensures
287           that the length limit on the highway is not exceeded. Default
288           value depends on the profile selected by the --transport option.
289
290    The meaning of the <preference> parameter in the command line options
291    is slightly different for the highway preferences and the property
292    preferences. For the highway preference consider the choice between two
293    possible highways between the start and finish when looking for the
294    shortest route. If highway A has a preference of 100% and highway B has
295    a preference of 90% then highway A will be chosen even if it is up to
296    11% longer (100/90 = 111%). For the highway properties each highway
297    either has a particular property or not. If the preference for highways
298    with the property is 60% then the preference for highways without the
299    property is 40%. The overall preference for the highway is the product
300    of the highway preference and the preference for highways with (or
301    without) each property that the highway has (or doesn't have).
302
303    Example usage (motorbike journey, scenic route, not very fast):
304
305    ./router --dir=data --prefix=gb --transport=motorbike --highway-motorway=0 \
306             --highway-trunk=0 --speed-primary=80 --speed-secondary=80 --quickest
307
308    This will use the files 'data/gb-nodes.mem', 'data/gb-segments.mem' and
309    'data/gb-ways.mem' to find the quickest route by motorbike not using
310    motorways or trunk roads and not exceeding 80 km/hr.
311
312
313 filedumper
314 ----------
315
316    This program is used to extract statistics from the database, extract
317    particular information for visualisation purposes or for dumping the
318    database contents.
319
320   Usage: filedumper [--help]
321                     [--dir=<dirname>] [--prefix=<name>]
322                     [--statistics]
323                     [--visualiser --latmin=<latmin> --latmax=<latmax>
324                                   --lonmin=<lonmin> --lonmax=<lonmax>
325                                   --data=<data-type>]
326                     [--dump [--node=<node> ...]
327                             [--segment=<segment> ...]
328                             [--way=<way> ...]]
329                     [--dump-osm [--no-super]
330                                 [--latmin=<latmin> --latmax=<latmax>
331                                  --lonmin=<lonmin> --lonmax=<lonmax>]]
332
333    --help
334           Prints out the help information.
335
336    --dir=<dirname>
337           Sets the directory name in which to read the local database.
338           Defaults to the current directory.
339
340    --prefix=<name>
341           Sets the filename prefix for the files in the local database.
342
343    --statistics
344           Prints out statistics about the database files.
345
346    --visualiser
347           Selects a data visualiser mode which will output a set of data
348           according to the other parameters below.
349
350         --latmin=<latmin> --latmax=<latmax>
351                 The range of latitudes to print the data for.
352
353         --lonmin=<lonmin> --lonmax=<lonmax>
354                 The range of longitudes to print the data for.
355
356         --data=<data-type>
357                 The type of data to output, <data-type> can be selected
358                 from:
359
360                o junctions = segment count at each junction.
361                o super = super-node and super-segments.
362                o oneway = oneway segments.
363                o speed = speed limits.
364                o weight = weight limits.
365                o height = height limits.
366                o width = width limits.
367                o length = length limits.
368
369    --dump
370           Selects a data dumping mode which allows looking at individual
371           items in the databases (specifying 'all' instead of a number
372           dumps all of them).
373
374         --node=<node>
375                 Prints the information about the selected node number
376                 (internal number, not the node id number in the original
377                 source file).
378
379         --segment=<segment>
380                 Prints the information about the selected segment number.
381
382         --way=<way>
383                 Prints the information about the selected way number
384                 (internal number, not the way id number in the original
385                 source file).
386
387    --osm-dump
388           Dumps the contents of the database as an OSM format XML file,
389           the whole database will be dumped unless the latitude and
390           longitude ranges are specified.
391
392         --no-super
393                 The super segments will not be output.
394
395         --latmin=<latmin> --latmax=<latmax>
396                 The range of latitudes to dump the data for.
397
398         --lonmin=<lonmin> --lonmax=<lonmax>
399                 The range of longitudes to dump the data for.
400
401 tagmodifier
402 -----------
403
404    This program is used to run the tag transformation process on an OSM
405    XML file for test purposes.
406
407    Usage: tagmodifier [--help]
408                       [--tagging=<filename>]
409                       [<filename.osm>]
410
411    --help
412           Prints out the help information.
413
414    --tagging=<filename>
415           The name of the XML file containing the tagging rules (defaults
416           to 'tagging.xml' in the current directory).
417
418    <filename.osm> ...
419           Specifies the filename to read data from, by default data is
420           read from the standard input.
421
422
423 --------
424
425 Copyright 2008-2010 Andrew M. Bishop.