'\" t -*- coding: us-ascii -*- .if \n(.g .ds T< \\FC .if \n(.g .ds T> \\F[\n[.fam]] .de URL \\$2 \(la\\$1\(ra\\$3 .. .if \n(.g .mso www.tmac .TH routino-router-slim 1 "15 March 2017" "" "" .SH NAME routino-router-slim \- calculate routes using the routino database .SH SYNOPSIS 'nh .fi .ad l \fBroutino-router-slim\fR \kx .if (\nx>(\n(.l/2)) .nr x (\n(.l/5) 'in \n(.iu+\nxu [\fB--version\fR] [\fB--help\fR | \fB--help-profile-xml\fR | \fB--help-profile-json\fR | \fB--help-profile-perl\fR] [\fB--dir=\fIdirname\fB\fR] [\fB--prefix=\fIname\fB\fR] [\fB--profiles=\fIfilename\fB\fR] [\fB--translations=\fIfilename\fB\fR] [\fB--exact-nodes-only\fR] [\fB--quiet\fR] [\fB--loggable\fR] [\fB--logtime\fR] [\fB--logmemory\fR] [\fB--language=\fIlang\fB\fR] [\fB--output-html\fR] [\fB--output-gpx-track\fR] [\fB--output-gpx-route\fR] [\fB--output-text\fR] [\fB--output-text-all\fR] [\fB--output-none\fR] [\fB--output-stdout\fR] [\fB--profile=\fIname\fB\fR] [\fB--transport=\fItransport\fB\fR] [\fB--shortest\fR | \fB--quickest\fR] \fB--lon1=\fIlongitude\fB\fR \fB--lat1=\fIlatitude\fB\fR \fB--lon2=\fIlongitude\fB\fR \fB--lat2=\fIlatitude\fB\fR [... \fB--lon99=\fIlongitude\fB\fR \fB--lat99=\fIlatitude\fB\fR] [\fB--reverse\fR] [\fB--loop\fR] [\fB--highway-=\fIpreference\fB\fR ...] [\fB--speed-=\fIspeed\fB\fR ...] [\fB--property-=\fIpreference\fB\fR ...] [\fB--oneway=\fI0|1\fB\fR] [\fB--turns=\fI0|1\fB\fR] [\fB--weight=\fIweight\fB\fR] [\fB--height=\fIheight\fB\fR] [\fB--width=\fIwidth\fB\fR] [\fB--length=\fIlength\fB\fR] 'in \n(.iu-\nxu .ad b 'hy .SH DESCRIPTION \fBroutino-router-slim\fR performs the calculation of the optimum routes using the database generated by the \fBplanetsplitter\fR(1) program. .SH OPTIONS .TP \*(T<\fB\-\-version\fR\*(T> Print the version of Routino. .TP \*(T<\fB\-\-help\fR\*(T> Prints out the help information. .TP \*(T<\fB\-\-help\-profile\fR\*(T> Prints out the selected transport profile (type, speed limits, highway preferences etc.) .TP \*(T<\fB\-\-help\-profile\-xml\fR\*(T> Prints out all the loaded profiles as an XML file in the same format that can be loaded in. .TP \*(T<\fB\-\-help\-profile\-json\fR\*(T> Prints out all the loaded profiles in JavaScript Object Notation (JSON) format for use in the interactive webpage. .TP \*(T<\fB\-\-help\-profile\-perl\fR\*(T> Prints out all the loaded profiles as a Perl object for use in the router CGI. .TP \*(T<\fB\-\-dir\fR\*(T>=\fIdirname\fR Sets the directory name in which to read the local database. Defaults to the current directory. .TP \*(T<\fB\-\-prefix\fR\*(T>=\fIname\fR Sets the filename prefix for the files in the local database. Defaults to no prefix. .TP \*(T<\fB\-\-profiles\fR\*(T>=\fIfilename\fR Sets the filename containing the list of routing profiles in XML format. If the file doesn't exist then \*(T<\fB\-\-dirname\fR\*(T>, \*(T<\fB\-\-prefix\fR\*(T> and "profiles.xml" will be combined and used, if that doesn't exist then the file \*(T<\fI/usr/share/routino/profiles.xml\fR\*(T> (or custom installation location) will be used. .TP \*(T<\fB\-\-translations\fR\*(T>=\fIfilename\fR Sets the filename containing the list of translations in XML format for the output files. If the file doesn't exist then \*(T<\fB\-\-dirname\fR\*(T>, \*(T<\fB\-\-prefix\fR\*(T> and "translations.xml" will be combined and used, if that doesn't exist then the file \*(T<\fI/usr/share/routino/translations.xml\fR\*(T> (or custom installation location) will be used. .TP \*(T<\fB\-\-exact\-nodes\-only\fR\*(T> When processing the specified latitude and longitude points only select the nearest node instead of finding the nearest point within a segment (quicker but less accurate unless the points are already near nodes). .TP \*(T<\fB\-\-quiet\fR\*(T> Don't generate any screen output while running (useful for running in a script). .TP \*(T<\fB\-\-loggable\fR\*(T> Print progress messages that are suitable for logging to a file; normally an incrementing counter is printed which is more suitable for real-time display than logging. .TP \*(T<\fB\-\-logtime\fR\*(T> Print the elapsed time for each processing step (minutes, seconds and milliseconds). .TP \*(T<\fB\-\-logmemory\fR\*(T> Print the maximum allocated and mapped memory for each processing step (MBytes). .TP \*(T<\fB\-\-language\fR\*(T>=\fIlang\fR Select the language specified from the file of translations. If this option is not given and the file exists then the first language in the file will be used. If this option is not given and no file exists the compiled-in default language (English) will be used. .TP \*(T<\fB\-\-output\-html\fR\*(T>, \*(T<\fB\-\-output\-gpx\-track\fR\*(T>, \*(T<\fB\-\-output\-gpx\-route\fR\*(T>, \*(T<\fB\-\-output\-text\fR\*(T>, \*(T<\fB\-\-output\-text\-all\fR\*(T> Generate the selected output file formats (HTML, GPX track file, GPX route file, plain text route and/or plain text with all nodes). If no output is specified then all are generated, specifying any automatically disables those not specified. .TP \*(T<\fB\-\-output\-none\fR\*(T> Do not generate any output or read in any translations files. .TP \*(T<\fB\-\-output\-stdout\fR\*(T> Write to stdout instead of a file (requires exactly one output format option, implies \*(T<\fB\-\-quiet\fR\*(T>). .TP \*(T<\fB\-\-profile\fR\*(T>=\fIname\fR Specifies the name of the profile to use. .TP \*(T<\fB\-\-transport\fR\*(T>=\fItransport\fR Select the type of transport to use, \fItransport\fR can be set to: .TS l l l. T{ foot T} T{ = T} T{ Foot T} T{ horse T} T{ = T} T{ Horse T} T{ wheelchair T} T{ = T} T{ Wheelchair T} T{ bicycle T} T{ = T} T{ Bicycle T} T{ moped T} T{ = T} T{ Moped (Small motorcycle, limited speed) T} T{ motorcycle T} T{ = T} T{ Motorcycle T} T{ motorcar T} T{ = T} T{ Motorcar T} T{ goods T} T{ = T} T{ Goods (Small lorry, van) T} T{ hgv T} T{ = T} T{ HGV (Heavy Goods Vehicle \e- large lorry) T} T{ psv T} T{ = T} T{ PSV (Public Service Vehicle \e- bus, coach) T} .TE Defaults to 'motorcar', this option also selects the default profile information if the \*(T<\fB\-\-profile\fR\*(T> option is not given and a profile matching the transport name is found. .TP \*(T<\fB\-\-shortest\fR\*(T> Find the shortest route between the waypoints. .TP \*(T<\fB\-\-quickest\fR\*(T> Find the quickest route between the waypoints. .TP \*(T<\fB\-\-lon1\fR\*(T>=\fIlongitude\fR, \*(T<\fB\-\-lat1\fR\*(T>=\fIlatitude\fR, \*(T<\fB\-\-lon2\fR\*(T>=\fIlongitude\fR, \*(T<\fB\-\-lat2\fR\*(T>=\fIlatitude\fR, ... \*(T<\fB\-\-lon99\fR\*(T>=\fIlongitude\fR, \*(T<\fB\-\-lat99\fR\*(T>=\fIlatitude\fR The location of the waypoints that make up the start, middle and end points of the route. Up to 99 waypoints can be specified and the route will pass through each of the specified ones in sequence. The algorithm will use the closest node or point within a segment that allows the specified traffic type. .TP \*(T<\fB\-\-reverse\fR\*(T> Find a route between the waypoints in reverse order. .TP \*(T<\fB\-\-loop\fR\*(T> Find a route that returns to the first waypoint after the last one. .TP \*(T<\fB\-\-heading\fR\*(T>=\fIbearing\fR Specifies the initial direction of travel at the start of the route (from the lowest numbered waypoint) as a compass bearing from 0 to 360 degrees. .TP \*(T<\fB\-\-highway\-\fR\*(T>=\fIpreference\fR Selects the percentage preference for using each particular type of highway. The value of \fIhighway\fR can be selected from: .TS l l l. T{ motorway T} T{ = T} T{ Motorway T} T{ trunk T} T{ = T} T{ Trunk T} T{ primary T} T{ = T} T{ Primary T} T{ secondary T} T{ = T} T{ Secondary T} T{ tertiary T} T{ = T} T{ Tertiary T} T{ unclassified T} T{ = T} T{ Unclassified T} T{ residential T} T{ = T} T{ Residential T} T{ service T} T{ = T} T{ Service T} T{ track T} T{ = T} T{ Track T} T{ cycleway T} T{ = T} T{ Cycleway T} T{ path T} T{ = T} T{ Path T} T{ steps T} T{ = T} T{ Steps T} T{ ferry T} T{ = T} T{ Ferry T} .TE Default value depends on the profile selected by the \*(T<\fB\-\-transport\fR\*(T> option. .TP \*(T<\fB\-\-speed\-\fR\*(T>=\fIspeed\fR Selects the speed limit in km/hour for each type of highway. Default value depends on the profile selected by the \*(T<\fB\-\-transport\fR\*(T> option. .TP \*(T<\fB\-\-property\-\fR\*(T>=\fIpreference\fR Selects the percentage preference for using each particular highway property. The value of \fIproperty\fR can be selected from: .TS l l l. T{ paved T} T{ = T} T{ Paved (suitable for normal wheels) T} T{ multilane T} T{ = T} T{ Multiple lanes T} T{ bridge T} T{ = T} T{ Bridge T} T{ tunnel T} T{ = T} T{ Tunnel T} T{ footroute T} T{ = T} T{ A route marked for foot travel T} T{ bicycleroute T} T{ = T} T{ A route marked for bicycle travel T} .TE Default value depends on the profile selected by the \*(T<\fB\-\-transport\fR\*(T> option. .TP \*(T<\fB\-\-oneway=\fR\*(T>=\fI0|1\fR Selects if the direction of oneway streets are to be obeyed (useful to not obey them when walking). Default value depends on the profile selected by the \*(T<\fB\-\-transport\fR\*(T> option. .TP \*(T<\fB\-\-turns=\fR\*(T>=\fI0|1\fR Selects if turn restrictions are to be obeyed (useful to not obey them when walking). Default value depends on the profile selected by the \*(T<\fB\-\-transport\fR\*(T> option. .TP \*(T<\fB\-\-weight\fR\*(T>=\fIweight\fR Specifies the weight of the mode of transport in tonnes; ensures that the weight limit on the highway is not exceeded. Default value depends on the profile selected by the \*(T<\fB\-\-transport\fR\*(T> option. .TP \*(T<\fB\-\-height\fR\*(T>=\fIheight\fR Specifies the height of the mode of transport in metres; ensures that the height limit on the highway is not exceeded. Default value depends on the profile selected by the \*(T<\fB\-\-transport\fR\*(T> option. .TP \*(T<\fB\-\-width\fR\*(T>=\fIwidth\fR Specifies the width of the mode of transport in metres; ensures that the width limit on the highway is not exceeded. Default value depends on the profile selected by the \*(T<\fB\-\-transport\fR\*(T> option. .TP \*(T<\fB\-\-length\fR\*(T>=\fIlength\fR Specifies the length of the mode of transport in metres; ensures that the length limit on the highway is not exceeded. Default value depends on the profile selected by the \*(T<\fB\-\-transport\fR\*(T> option. .PP The meaning of the \fIpreference\fR parameter in the command line options is slightly different for the highway preferences and the property preferences. For the highway preference consider the choice between two possible highways between the start and finish when looking for the shortest route. If highway A has a preference of 100% and highway B has a preference of 90% then highway A will be chosen even if it is up to 11% longer (100/90 = 111%). For the highway properties each highway either has a particular property or not. If the preference for the property is 60% then a highway with the property has a preference of 77% (sqrt(60%)) and one without has a preference of 63% (sqrt(100-60%)). A highway with the property will be chosen even if it is up to 22% longer than one without the property (77/63 = 122%). The overall preference for each highway segment is the product of the preference for the highway type and all of the preferences for the highway properties. .SH EXAMPLES Example usage (motorcycle journey, scenic route, not very fast): .PP .nf \*(T< \fBroutino\-router\-slim\fR \fB\-\-dir\fR=\fIdata\fR \fB\-\-prefix\fR=gb \fB\-\-transport\fR=motorcycle \e \fB\-\-highway\-motorway\fR=0 \fB\-\-highway\-trunk\fR=0 \e \fB\-\-speed\-primary\fR=80 \fB\-\-speed\-secondary\fR=80 \e \fB\-\-quickest\fR \*(T> .fi .PP This will use the files \*(T<\fIdata/gb\-nodes.mem\fR\*(T>, \*(T<\fIdata/gb\-segments.mem\fR\*(T> and \*(T<\fIdata/gb\-ways.mem\fR\*(T> to find the quickest route by motorcycle not using motorways or trunk roads and not exceeding 80 km/hr.