routino-router(1)

๐Ÿ“ฆ
version 3.4.3 ยท 5 versions
, in ubuntu resolute, ubuntu stonking

๐Ÿ’– routino-router(1) โ€” the manual, but make it make sense ๐Ÿ’–

okay bestie, gather round, because this is routino-router from section 1 of the manual pages, and she is literally the main character of route calculation. ๐Ÿ—บ๏ธโœจ


๐ŸŒธ NAME ๐ŸŒธ

routino-router โ€” calculate routes using the routino database


โœจ SYNOPSIS โœจ

routino-router [--version] [--help | --help-profile-xml |
               --help-profile-json | --help-profile-perl]
               [--dir=dirname] [--prefix=name] [--profiles=filename]
               [--translations=filename] [--exact-nodes-only] [--quiet]
               [--loggable] [--logtime] [--logmemory] [--language=lang]
               [--output-html] [--output-gpx-track] [--output-gpx-route]
               [--output-text] [--output-text-all] [--output-none]
               [--output-stdout] [--profile=name]
               [--transport=transport] [--shortest | --quickest]
               --lon1=longitude --lat1=latitude --lon2=longitude
               --lat2=latitude [... --lon99=longitude --lat99=latitude]
               [--reverse] [--loop] [--highway-<highway>=preference ...]
               [--speed-<highway>=speed ...]
               [--property-<property>=preference ...] [--oneway=0|1]
               [--turns=0|1] [--weight=weight] [--height=height]
               [--width=width] [--length=length]

๐Ÿฆ‹ DESCRIPTION ๐Ÿฆ‹

so routino-router does the actual calculation of the optimum routes โ€” and it does it using the database that the planetsplitter(1) program generated for you earlier. it's giving glow-up-from-raw-data energy, fr fr. ๐Ÿ’…


๐ŸŽ€ OPTIONS ๐ŸŽ€

  • --version โ€” prints out the version of Routino. that's it. that's the whole thing. iconic. ๐Ÿ‘‘
  • --help โ€” prints out the help info. your little bestie when you forget a flag.
  • --help-profile โ€” prints out the selected transport profile (that's the type, speed limits, highway preferences, etc.). like a lil profile card but for your mode of transport. ๐Ÿซถ
  • --help-profile-xml โ€” prints out all the loaded profiles as an XML file, in exactly the same format that can be loaded back in. round-trip queen.
  • --help-profile-json โ€” prints out all the loaded profiles in JavaScript Object Notation (JSON) format, for use in the interactive webpage.
  • --help-profile-perl โ€” prints out all the loaded profiles as a Perl object, for use in the router CGI.
  • --dir=dirname โ€” sets the directory name where the local database gets read from. defaults to the current directory. (home sweet home ๐Ÿ )
  • --prefix=name โ€” sets the filename prefix for the files in the local database. defaults to no prefix.
  • --profiles=filename โ€” sets the filename containing the list of routing profiles, in XML format. here's the chain, bestie: if the file doesn't exist, then --dirname, --prefix and "profiles.xml" get combined and used; and if that doesn't exist, then the file /usr/share/routino/profiles.xml (or your custom installation location) gets used. it's a whole fallback pipeline. ๐Ÿ’€
  • --translations=filename โ€” sets the filename containing the list of translations, in XML format, for the output files. same fallback situation: if the file doesn't exist, then --dirname, --prefix and "translations.xml" get combined and used; and if that doesn't exist, then /usr/share/routino/translations.xml (or your custom installation location) gets used.
  • --exact-nodes-only โ€” when it's processing the latitude and longitude points you specified, it only selects the nearest node instead of finding the nearest point within a segment. quicker, but less accurate โ€” unless your points are already near nodes, in which case you're fine. choose your fighter. ๐Ÿ”ฅ
  • --quiet โ€” don't generate any screen output while running. super useful for running in a script. no thoughts, head empty, just output.
  • --loggable โ€” prints progress messages that are suitable for logging to a file. normally an incrementing counter gets printed, which is more suitable for real-time display than logging. so pick your vibe: pretty counter or loggable lines. โœจ
  • --logtime โ€” prints the elapsed time for each processing step, in minutes, seconds and milliseconds. she's timed, she's precise, she's punctual. โฑ๏ธ
  • --logmemory โ€” prints the maximum allocated and mapped memory for each processing step, in MBytes.
  • --language=lang โ€” selects the language specified, from the file of translations. if you don't give this option and the file exists, then the first language in the file gets used. if you don't give this option and no file exists, then the compiled-in default language (English) gets used. multilingual baddie behavior. ๐ŸŒˆ
  • --output-html, --output-gpx-track, --output-gpx-route, --output-text, --output-text-all โ€” generate the selected output file formats (HTML, GPX track file, GPX route file, plain text route and/or plain text with all nodes). here's the tea: if no output is specified, then all of them are generated, and specifying any of them automatically disables the ones you didn't specify. periodt.
  • --output-none โ€” do not generate any output, and do not read in any translations files. nothing. zero. silence. ๐Ÿคซ
  • --output-stdout โ€” write to stdout instead of to a file. requires exactly one output format option, and it implies --quiet.
  • --profile=name โ€” specifies the name of the profile to use.
  • --transport=transport โ€” select the type of transport to use. transport can be set to:
    • foot = Foot
    • horse = Horse
    • wheelchair = Wheelchair
    • bicycle = Bicycle
    • moped = Moped (Small motorcycle, limited speed)
    • motorcycle = Motorcycle
    • motorcar = Motorcar
    • goods = Goods (Small lorry, van)
    • hgv = HGV (Heavy Goods Vehicle - large lorry)
    • psv = PSV (Public Service Vehicle - bus, coach)

defaults to 'motorcar'. this option also selects the default profile information if the --profile option wasn't given, and a profile matching the transport name is found. two-for-one deal, we love to see it. ๐Ÿš—๐Ÿšฒ๐Ÿ‡๐ŸšŒ

  • --shortest โ€” find the shortest route between the waypoints.
  • --quickest โ€” find the quickest route between the waypoints.
  • --lon1=longitude, --lat1=latitude, --lon2=longitude, --lat2=latitude, ... --lon99=longitude, --lat99=latitude โ€” 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. ninety-nine. that's so many. ๐Ÿ’€โœจ
  • --reverse โ€” find a route between the waypoints in reverse order. backwards but make it fashion. ๐Ÿฆ‹
  • --loop โ€” find a route that returns to the first waypoint after the last one. coming back around like a boomerang. ๐ŸŽ€
  • --heading=bearing โ€” 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. know your direction before you go, bestie. ๐Ÿงญ
  • --highway-<highway>=preference โ€” selects the percentage preference for using each particular type of highway. the value of highway can be selected from:
    • motorway = Motorway
    • trunk = Trunk
    • primary = Primary
    • secondary = Secondary
    • tertiary = Tertiary
    • unclassified = Unclassified
    • residential = Residential
    • service = Service
    • track = Track
    • cycleway = Cycleway
    • path = Path
    • steps = Steps
    • ferry = Ferry

default value depends on the profile selected by the --transport option.

  • --speed-<highway>=speed โ€” selects the speed limit in km/hour for each type of highway. default value depends on the profile selected by the --transport option.
  • --property-<property>=preference โ€” selects the percentage preference for using each particular highway property. the value of property can be selected from:
    • paved = Paved (suitable for normal wheels)
    • multilane = Multiple lanes
    • bridge = Bridge
    • tunnel = Tunnel
    • footroute = A route marked for foot travel
    • bicycleroute = A route marked for bicycle travel

default value depends on the profile selected by the --transport option.

  • --oneway==0|1 โ€” selects whether the direction of oneway streets is to be obeyed (useful to not obey them when walking). default value depends on the profile selected by the --transport option.
  • --turns==0|1 โ€” selects whether turn restrictions are to be obeyed (useful to not obey them when walking). default value depends on the profile selected by the --transport option.
  • --weight=weight โ€” specifies the weight of the mode of transport in tonnes; makes sure the weight limit on the highway is not exceeded. default value depends on the profile selected by the --transport option.
  • --height=height โ€” specifies the height of the mode of transport in metres; makes sure the height limit on the highway is not exceeded. default value depends on the profile selected by the --transport option.
  • --width=width โ€” specifies the width of the mode of transport in metres; makes sure the width limit on the highway is not exceeded. default value depends on the profile selected by the --transport option.
  • --length=length โ€” specifies the length of the mode of transport in metres; makes sure the length limit on the highway is not exceeded. default value depends on the profile selected by the --transport option.

๐Ÿง  the preference parameter, explained (yes really, stay with me)

the meaning of the preference parameter in the command line options is slightly different for the highway preferences than it is for the property preferences. buckle up, because the math is literally in the building. ๐ŸŽข

for the highway preference, think about the choice between two possible highways between the start and the finish when you're 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's up to 11% longer (100/90 = 111%).

for the highway properties, each highway either has a particular property or it doesn't. if the preference for the property is 60%, then a highway with the property has a preference of 77% (sqrt(60%)) and a highway without it has a preference of 63% (sqrt(100-60%)). a highway with the property will be chosen even if it's 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. multiply them all together, bestie. it's giving exponent energy. โœจ๐Ÿงฎ

๐Ÿ—บ๏ธ EXAMPLES โœจ

okay bestie, time for the fun part โ€” let's actually do the thing ๐Ÿ’…

๐Ÿ๏ธ example numero uno: motorcycle journey, scenic route, not very fast ๐ŸŒธ

"scenic route, not very fast" is literally the assignment here and I respect it so much ๐Ÿซถ

routino-router --dir=data --prefix=gb --transport=motorcycle \
               --highway-motorway=0 --highway-trunk=0 \
               --speed-primary=80 --speed-secondary=80 \
               --quickest

so what's happening here, bestie? this run is gonna pull from three files:

  • data/gb-nodes.mem
  • data/gb-segments.mem
  • data/gb-ways.mem

and it uses those to find the quickest route by motorcycle, with a very specific vibe check applied: no motorways, no trunk roads, and absolutely not exceeding 80 km/hr. periodt. no cap, that's the whole route ๐Ÿ

ngl it's giving "windows down, playlist on, zero urgency" and honestly? iconic. ๐ŸŽ€

aaaand that's a wrap on the page, bestie ๐Ÿฆ‹ this one came from the routino-router(1) manual, dated 03 December 2025 โ€” go forth and route responsibly, mwah ๐Ÿ’–โœจ

๐Ÿ“ฆ where this page comes from