Configuration/Full list of options

From Navit's Wiki
Jump to: navigation, search

Contents

XML structure

The image below details the complete xml tag structure for the default navit.xml. The colour scheme of the image is designed to give an impression of what is and what isn't required (both for Navit to run succesfully in the first place, and to have a functional navigation system) - those tags in blue are required, whilst those in green can be regarded as optional.
Navit.xml architecture.png


Full options

config

Attribute Units Values Notes Example
language "en_US",
"en_GB",
"pl_PL"...
Enables manual setting of the locale. For example, language="en_US" will force Navit to consider the host device as being setup for USA English, and the town search will automatically revert to towns in the USA. This is useful if your device is from another country, or you are travelling in another country. The locale code is made up of the language (lowercase) and the country (uppercase) codes. For language codes, see ISO 639-1; for country codes, see ISO 3166-1 Alpha2. Note that you can combine the languages and countries as you wish: language="de_FR" will result in German interface and voice announcements and search defaulting to France. language="en_US"

debug

Attribute Units Values Notes Example
name "gui_internal", "navit:do_draw", "global" Set the debug level for a Navit module. "name" is the module name; optionally, the name of a function in that module can be appended with a colon (:). The modules correspond to the directories of Navit's source code tree (the module name is set in the Makefile.am in each directory, by a statement "-DMODULE=XXX"). Additionally, there are some special module names: Setting a debug level > 0 for "timestamps" will enable printing of timestamps in debug messages. Setting "segv" to 1 will print backtraces on segmentation faults, setting it to >1 will start gdb. Finally, "global" sets the global debug level (applies to all modules; this is the same as using the command line option -d). name="gui_internal"
dbg_level "error", "warning", "info", "debug" The debug level to set for the component given by the "name" attribute. The higher the debug level, the more debug output will be printed. The default debug level is "error", which will only print error messages. dbg_level="info"
level (deprecated) numeric debug level (0-3) Equivalent to "dbg_level", only using a number instead of the level's name. "dbg_level" should be used instead, to make the configuration easier to read. level="3"

navit

Attribute Units Values Notes Example
center coords DD.dd or DDMM.ss Map will be centred at these coordinates on startup. Coordinates are either in decimal degrees (with sign in front to denote N/S or E/W) or decimal minutes with trailing N/S or E/W where appropriate.
Default: 53.13 11.70
center="4808 N 1134 E"
orientation degrees (or -1) 0-360 / -1 orientation="0": Map oriented North.
orientation="180": Map oriented South.
orientation="-1": Map oriented in direction of travel.
This is equivalent to selecting Settings -> Rules -> Northing in the internal gui.
orientation="-1"
tracking 0 / 1 tracking="1": Vehicle cursor will lock to the roads on the map.
This is equivalent to selecting Settings -> Rules -> Lock on road in the internal gui.
tracking="1"
waypoints_flag 0 / 1 waypoints_flag="1": Set destination will used to add next waypoint. Previous destination will not deleted.
This is equivalent to selecting Settings -> Rules -> Plan with waypoints in the internal gui.
waypoints_flag="1"
zoom 1 - ∞
256
zoom="1": Most zoomed in. Upper limit is actually 2097152.
Map will be zoomed in at this level on startup.
zoom="50"
autozoom_active 0 / 1 autozoom_active="0": Autozoom disabled.
autozoom_active="1": Autozoom enabled.
autozoom_active="1"
autozoom seconds 1 - ∞
10
Number of seconds of the way ahead to leave visible during autozoom.
In effect, this specifies the zoom level when autozoom is enabled.
autozoom="1" is closest zoom.
This attribute has no effect without autozoom_active="1".
autozoom="60"
imperial 0/1 Use imperial units (miles, feet and miles-per-hour). Only in Navit versions since r4127. imperial="1"
osd_configuration 1 - 32 Sets the initial value of osd_configuration when Navit starts up. osd_configuration="1"
pitch degrees 0 - 359 pitch="0": Bird's-eye view of map.
pitch="20": Map tilted by 20 degrees to give 3D view.
pitch="180": x-axis of the map seems inverted, since you are seeing the map "from the bottom up"
Values between 0 and 85 are recommended.
pitch="20"
radius percent -50 - 50
30
Percentage of screen size to offset vehicle cursor from centre when moving.
radius="0" places the vehicle cursor in the center of the map.
radius="50" places the vehicle cursor on the edge of the screen, showing only the map in front of you
radius="-50" places the vehicle cursor on the edge of the screen, showing only the map behind you
Higher values cause the map to "lead" the vehicle, showing more of where you're going and less of where you've been. Values less than -50 or more than 50 are possible, but the vehicle cursor will be placed out of the screen area.
radius="33"
recent_dest 1 - ∞
10
Number of entries kept in destination.txt. This text file stores the most recent destinations set by the user in Navit.
Defaults to ∞, if tag isn't set.
recent_dest="20"
timeout gps updates 1 - ∞
10
When the user scrolls the map, it stays there. After timeout number of GPS updates the map jumps back to the current location of the active vehicle. Since most GPS-modules have an update rate of 1Hz, "gps updates" is likely to be equivalent to "seconds" (see #653) timeout="5"
follow_cursor 0/1 1 = Map will automatically scroll to follow the cursor (active vehicle). 0 = Map will not follow the cursor.
This is equivalent to selecting Settings -> Rules -> Map follows Vehicle in the internal gui.
Note: When setting this to 0, you can still jump to the cursor position by calling the Navit command set_center_cursor(), for example via an OSD button with command="follow=0;set_center_cursor()".
follow_cursor="0"

graphics

Insert inbetween <navit> ... </navit> tags
Attribute Units Values Notes Example
type gtk_drawing_area
qt_qpainter
sdl
opengl
win32
android
cocoa
gd
null
Type of graphics to use for display. type="gtk_drawing_area"
x pixels numeric Application window x position on the screen. x="10"
y pixels numeric Application window y position on the screen. y="10"
w pixels numeric Application window width. w="600"
h pixels numeric Application window height. h="400"
background_color color Background color for screen portions overlapped by the system UI (R6603 and later, currently meaningful on Android only) color="#00000060"

gui

Insert inbetween <navit> ... </navit> tags
Attribute Units Values Notes Example
type gtk
internal
qml
cegui
Type of user interface to use type="internal"
enabled yes / no Enable this user interface. This attribute enables you to define multiple user interfaces within navit.xml (i.e. multiple <gui> ... </gui> tags), and quickly switch between them by changing the enabled status. enabled="yes"
font_size Pt fractions 1 - ∞ The base text size to use for text and labels in the menus. This only applies when type="internal" font_size="350"
icon_xs pixels 1 - ∞ The size that extra-small style icons should be scaled to (e.g. country flag on town search). This only applies when type="internal" icon_xs="32"
icon_s pixels 1 - ∞ The size that small style icons should be scaled to (e.g. icons of internal GUI toolbar). This only applies when type="internal" icon_s="96"
icon_l pixels 1 - ∞ The size that large style icons should be scaled to (e.g. icons of internal GUI menu). This only applies when type="internal" icon_l="96"
keyboard true / false Whether to display Navit's internal keyboard in search. Set to false if you want to use your device's physical keyboard or the OS on-screen keyboard instead of Navit's on-screen keyboard. keyboard="false"
fullscreen 0 / 1 fullscreen="1": Start Navit in fullscreen mode fullscreen="1"
menubar 0 / 1 Toggle display of the menu bar. This only applies when type="gtk" menubar="1"
menu_on_map_click 0 / 1 Toggles the ability to bring up the menu screen when clicking on the map. When using menu_on_map_click="0" it is recommended to use an OSD button with the command gui.menu(), or else you can't get to the menu screen! This only applies when type="internal" menu_on_map_click="0"
on_map_click navit command You may specify a command to execute when entering internal gui by clicking on the map. The example provided allows to enter directly to operations related to the clicked map point. This only applies when type="internal" on_map_click='menu("#Map Point")'
toolbar 0 / 1 Toggle display of the toolbar. This only applies when type="gtk" toolbar="1"
statusbar 0 / 1 Toggle display of the status bar. This only applies when type="gtk" statusbar="1"
skin

log

Insert inbetween <navit> ... </navit> tags for type="textfile_debug".
Insert inbetween <vehicle> ... </vehicle> tags for all other types.
Attribute Units Values Notes Example
type nmea
gpx
textfile
binfile
Type of log to output.
type="nmea": outputs data as NMEA messages (the data format used by most GPS receivers).
type="gpx": outputs GPX XML files (e.g. for upload to OpenStreetMap).
type="textfile": creates a text file that can be used as a textfile
type="binfile": outputs a binary map file for use within Navit
type="textfile_debug": outputs a debug text file.
type="gpx"
enabled yes / no Enable logging. This attribute enables you to define multiple log types within navit.xml (i.e. multiple <log> ... </log> tags), and quickly switch between them by changing the enabled status. enabled="yes"
data filename The name for the logfile. There is support for date and time placeholders:
%Y: Current year
%m: Current month
%d: Current day
%i: Next sequential logfile number (to make the filename unique)
data="%Y%m%d-%i.gpx"
overwrite 0 / 1 Toggle to choose whether an existing tracklog of the same name gets:
overwrite="0": Appended to, or
overwrite="1": overwritten
overwrite="1"
flush_size bytes 0 - ∞ The file is kept in memory and will be committed to disk if the size reaches the flush_size limit.
flush_size="0": Writes the tracklog to disk immediately.
When used in combination with flush_time, whichever limit is reached first triggers a disk write.
flush_size="1048576"
flush_time seconds 0 - ∞ The file is kept in memory and will be committed to disk after flush_time seconds.
flush_time="0": Writes the tracklog to disk immediately.
When used in combination with flush_size, whichever limit is reached first triggers a disk write.
flush_size="90"
attr_types position_time_iso8601
position_direction
position_speed
profilename
position_radius
position_height
position_sats_used
position_hdop
Comma-separated list which determines what information will be stored in the log file (in addition to the position, and only if supported by the GPS receiver). This only applies when type="gpx"
See Configuration for descriptions of each type.
attr_types="position_height,
position_direction"

osd

Insert inbetween <navit> ... </navit> tags.
See OSD for comprehensive information on on-screen display settings.
Attribute Units Values Notes Example
type The type of OSD item to display. See OSD for a list of currently supported OSD types. type="button"
enabled yes / no Whether the OSD item is enabled, i.e. should be displayed. enabled="yes"
enable_expression any valid expression When the expression evaluates to true (i.e. a nonzero value), this OSD item will be visible, else it will be hidden.

Expressions use the syntax described in OSD#command and can use the attributes in OSD#Attributes (currently not an exhaustive list).
Not all OSD elements honor this command. Those that do currently (as of r5904) include button, compass, text, navigation_next_turn. OSD items that ignore this attribute include image.

enable_expression="route.route_status&amp;48"
will cause the OSD item to be displayed only while routing.
osd_configuration Any integer When navit.osd_configuration ANDed with this OSD item's osd_configuration is nonzero, the item will be visible, else it will be hidden.

If both osd_configuration and enable_expression are set for the same OSD item, only enable_expression will take effect and osd_configuration will be ignored. If you need both, you can add a condition to your enable_expression, taking advantage of the fact that osd_configuration="2" is equivalent to enable_expression="osd_configuration&amp;2".

osd_configuration="2"
x Pixels or percent of screen width -∞ – ∞
0 – 100%
Distance between screen margin and left border of the OSD item. Positive sizes are relative to the left side of the screen, negative values are relative to the right side of the screen (in that case, be aware to factor in the width of the OSD item. If you want to place an item, which as an width of e.g. 60px, on the right edge of the screen, the tag would be x="-60"). Numbers followed by a percent sign are interpreted as the respective percentage of available screen width. x="42"
y Pixels or percent of screen height -∞ – ∞
0 – 100%
Distance between screen margin and top border of the OSD item. Positive sizes are relative to the top of the screen, negative values are relative to the bottom of the screen (in that case, be aware to factor in the height of the OSD item If you want to place an item, which as an height of e.g. 60px, on the bottom edge of the screen, the tag would be y="-60"). Numbers followed by a percent sign are interpreted as the respective percentage of available screen height. y="42"
w Pixels or percent of screen width 0 – ∞
0 – 100%
Width of the OSD item. Numbers followed by a percent sign are interpreted as the respective percentage of available screen width. w="42"
h Pixels or percent of screen height 0 – ∞
0 – 100%
Height of the OSD item. Numbers followed by a percent sign are interpreted as the respective percentage of available screen height. h="42"

vehicle

Insert inbetween <navit> ... </navit> tags.
Attribute Units Values Notes Example
name vehiclename Name of the vehicle being defined. This can be any name you like, but it's usually best to provide descriptive names, perhaps depending on the gps source, or the type of vehicle. name="Car gpsd"
profilename profilename The name of the vehicle profile (see below) to use for routing and announcements for this vehicle. profilename="car"
source Source of GPS data. See Configuration for the available options. source="gpsd://localhost"
active 0 / 1 Makes the vehicle the active vehicle in Navit - i.e. all its options are used for routing, view centering and map redraws. Note that a vehicle must be enabled="yes" before it can be made active="1". active="1"
baudrate baud rate 0 - ∞ Baudrate of the com port of a WinCE device. Required if source="wince:COMx:" (where x is the COM port of the gps device). The baud rate should be 4800 in most cases. baudrate="4800"
enabled yes / no Enable the vehicle. This attribute enables you to define multiple vehicles within navit.xml (i.e. multiple <vehicle> ... </vehicle> tags), and quickly switch between them by changing the enabled status or by using the menu options within Navit.
If there is no enabled= tag, the vehicle is automatically enabled.
enabled="yes"
follow gps updates 0 - ∞ Specifies how many GPS updates to wait before map is refreshed. Since most GPS-modules have an update rate of 1Hz, "gps updates" is likely to be equivalent to "seconds". A value of zero means vehicle will leave the edge of the map before the map is refreshed. follow="1"
lag 0 - ∞ Vehicle position extrapolation - it specifies how many tenths of a second the gps lags behind and counteracts with an position extrapolation, to set the cursor at the right position. Also, it affects the speech announcement distances . 10-20 are recommended values. lag="10"
gpsd_query gpsd query Command to send to gpsd. Required if source="gpsd://localhost", otherwise this is not used.
The string used in the example is sufficient for use in Navit.
gpsd_query="w+xj"

tracking

Insert inbetween <navit> ... </navit> tags.
Attribute Units Values Notes Example
cdf_histsize metres 0 - ∞ Cumulative displacement filter. Currently not used by Navit. See [1] for what it would do. cdf_histsize="4"
route_pref 0 - ∞ Benefit bonus for the calculated route. Increasing this value help to stay on track while receiving a inaccurate gps position. Default is 300. Use 1000 to 3000 if the device skip from track route_pref="1000"

vehicleprofile

Insert inbetween <navit> ... </navit> tags.
Attribute Units Values Notes Example
name profilename The name of the vehicle profile. This name is used by the profilename attribute inside the vehicle tag. name="car"
flags hex value The flags (as defined in AF_* in attr.h) which needs to be set to be able to pass this road. See Vehicle profile flags for a comprehensive list of bit values. flags="0x4000000"
flags_forward_mask hex value The bits the flags_forward_mask has set in addition to flags, a way must not have set in order to be used in forward direction. More technically: the flags of a way are ANDed with this mask, if the route uses the way in forward direction. The result must match flags otherwise the way must not be used. E.g. flags_forward_mask="0x4000000" and flags_forward_mask="0x4000002" means a road may be used in forward direction if it is a ONEWAYREV (See VehicleprofileFlags). flags_forward_mask="0x40000000"
flags_reverse_mask hex value Identical to flags_forward_mask for ways in the reverse direction. flags_reverse_mask="0x40000000"
maxspeed_handling 0 - 2 maxspeed_handling="0": Always handle the maxspeed attribute of a street.
maxspeed_handling="1": Only handle the maxspeed attribute of a street if it restricts the speed.
maxspeed_handling="2": Never. Reason behind this is that a pedestrian doesn't want to travel with 30 km/h when there is a speed limit.
maxspeed_handling="1"
route_depth Sets which roads to consider for routing. The string consists of order:rectsize tuples, separated by commas. Order of the tuples is insignificant, and the number of tuples is not limited.
  • order is the order (depth) of roads to consider. Only roads with the same or a lower order will be considered. The highest order is 18.
  • rectsize is the size of the rectangle in which these roads will be considered. A simple number means a square around each waypoint (including position). A number followed by a percent sign means a rectangle around all waypoints, enlarged on each side by the given percentage of the longer side (e.g. for a 100×20 km rectangle, 10% will add an extra 10 km on each side, resulting in a 120×40 km rectangle).

The default (for car) is to consider all roads (i.e. up to order 18) within 10 km (10,000 m), roads up to level 8 within 40 km and roads up to level 4 on the whole route, as well as 25% around it. See Routing for more details.
Caveat: increasing the size of rectangles or raising the road order will increase the number of roads that need to be examined to calculate a route. This will increase the time and memory needed to calculate routes. It may cause longer routes to fail due to low memory. As a workaround, you can try:
route_depth="4:25%,6:1%,8:40000,18:10000"
This saves memory by creating two rectangles around the route: the "outer" one with default values (25% margin, depth 4), and the "inner" one with a minimum margin of 1% and a higher depth. Some experimenting may be needed, but a depth of 6 for the inner rectangle has worked for creating long (~1000 km) routes over long sections of highway=primary with 512 MB of RAM.

route_depth="4:25%,8:40000,18:10000"
route_mode 0 - 2 route_mode="0": Automatically select between an on-road route and an off-road route (if the off-0road route is shorter than the distance to the next street from the current position plus the distance to the next street from the destination).
route_mode="1": Always use an on-road route.
route_mode="2":: Always us an off-road route
route_mode="0"
static_speed km/h 0 - ∞ If the speed between positions from two gps updates is larger than static_speed Navit will accept the new position. This tag (and the static_distance tag) can be helpful to avoid unnecessary map updates, caused by the inaccuracies of GPS. static_speed="5"
static_distance metres 0 - ∞ If the distance between positions from two gps updates is larger than static_distance Navit will accept the new position. This tag (and the static_speed tag) can be helpful to avoid unnecessary map updates, caused by the inaccuracies of GPS. static_distance="25"

roadprofile

Insert inbetween <vehicleprofile> ... </vehicleprofile> tags.
Tag Attribute Units Values Notes Example
item_types Types of ways for which this roadprofile is valid. Way types can be found in map_items. item_types="steps"
route_weight km/h 0 - ∞ The weighting which the routing algorithm should give this road type. A large route_weight will force the routing algorithm to choose that road type over others when calculating a route. This value is also used to calculate the route time remaining IF maxspeed_handling="2". route_weight="150"
speed km/h 0 - ∞ Used solely for calculating the estimated time of arrival. speed="50"
maxspeed km/h 0 - ∞ When driving, Navit will use the maxspeed of the road type to inform the driver of the current speed limit using the speed_warner. maxspeed will only be used if there is no OSM speed data for that road. This data is not used for routing calculations. maxspeed="50"

announcement

Insert inbetween <roadprofile> ... </roadprofile> tags. Although included in the default navit.xml, announcement tags in roadprofile are currently not honoured. Please use the announce tag within navigation (see below).
Attribute Units Values Notes Example
level 0, 1, 2 Type of oral announcement to make. For example, level="2" means an announcement such as "turn left soon" will be made; level="1" is "turn left in x metres"; level="0" is "turn left now". level="0"
distance_metric metres 0 - ∞ Distance from the upcoming manoeuvre to perform the announcement. distance_metric="25"

navigation

Insert inbetween <navit> ... </navit> tags.
Attribute Units Values Notes Example

announce

Insert inbetween <navigation> ... </navigation> tags.
Attribute Units Values Notes Example
type Types of ways for which this announcement is valid type="street_0,street_1_city"
level0 metres 0 - ∞ The distance at which the final announcement is made (i.e. 'Turn left now'). level0="300"
level1 metres 0 - ∞ The distance at which the intermediate announcement is made (i.e. 'Turn left in 1km '). level1="1000"
level2 metres 0 - ∞ The distance at which the first announcement is made (i.e. 'Turn left soon'). level2="2000"
unit m Units to use for the distances in the above levels. unit="m"

speech

Insert inbetween <navit> ... </navit> tags.
Attribute Units Values Notes Example
active 0 1 Whether speech should be enabled on startup. (Speech can always be enabled or disabled via OSD or a menu item.) active="0"
type android cmdline dbus espeak iphone speech_dispatcher Types of speech output to use type="cmdline"
data Command for speech output. Navit speech_cmdline interfce has sufficient changes applied with svn #4459. For examples and discussion see Configuration. data="flite -t %s"
cps 0 - ∞ Speed at which Navit should speak in characters-per-second. cps="15"
language The language which built-in espeak on WinCE devices should use. language="de"
path The path to voices data directory to be used by built-in espeak. path="/home/user/espeak-data"
vocabulary_name 0 if street names should not be announced, 1 is default (announce). vocabulary_name="0"
vocabulary_name_systematic 0 if systematic street names should not be announced, 1 is default (announce). vocabulary_name_systematic="0"
vocabulary_distances 0 if speech driver can pronounce only 1,2,3,4,5,10,25,50,75,100,150,200,250,300,400,500,750 as numbers, 1 is default (speech is able to pronounce any number). vocabulary_distances="0"
sample_dir For speech_cmdline, defines path where pre-recorded samples are stored. If you use this, it's expected that data attribute points to some program able to play sound file passed as its argument. See Configuration. sample_dir="/path/to/waves"
sample_suffix For speech_cmdline, if sample_dir is defined, defines extension to append to sentence part to get pre-recorded sample file name. sample_suffix=".wav"

mapset

Insert inbetween <navit> ... </navit> tags.
Attribute Units Values Notes Example
enabled yes/no Enable this set of maps. Multiple mapsets can be defined in navit.xml, but only one mapset can be enabled at-a-time. Each mapset, however, can include multiple maps. enabled="yes"

map

Insert inbetween <mapset> ... </mapset> tags.
Attribute Units Values Notes Example
type mg
binfile
textfile
csv
Type of map. mg = Marco_Polo_Grosser_Reiseplaner; binfile = OpenStreetMap; textfile = Navit textfile; csv = csv. type="binfile"
enabled yes/no Enable/disable this map. A mapset can include multiple maps. enabled="yes"
data filename Path to the map file. data="/media/MapsNavit/osm.bin"

maps

Insert inbetween <navit> ... </navit> tags.
Attribute Units Values Notes Example
enabled yes/no Enable all maps of a certain folder like *.bin enabled="yes"

layout

Insert inbetween <navit> ... </navit> tags.
Attribute Units Values Notes Example
name layoutname Name of the particular layout name="Car"
daylayout layoutname Defines which layout to use at daytime, if this layout is the default layout during the night. daylayout="Car"
nightlayout layoutname Defines which layout to use at night, if this layout is the default layout during the day. nightlayout="Car-dark"
color (hex triplet) color Default background color of the map. color="#ffefb7"
font font-face Default font-face to use for road and POI names. font="Liberation Sans"
active 0/1 Set the layout as the default using active="1". Added in r4342. active="1"
order_delta 0-∞ Increases the zoom level at which items are rendered. FIXME. order_delta="1"

cursor

Insert inbetween <layout> ... </layout> tags. Cursor position is controlled by <navit radius="value">
Attribute Units Values Notes Example
w pixels Width of cursor. w="26"
h pixels Height of cursor h="26"

itemgra

Insert inbetween <cursor> ... </cursor> tags.
Attribute Units Values Notes Example
speed_range km/h 0 - ∞ Range of speeds within which to show the specific geometry of the subsequently defined cursor.

speed_range="-2": subsequent geometry will be displayed at speeds <= 2km/h.
speed_range="3-": subsequent geometry will be displayed at speeds >= 3km/h.
speed_range="6-10": subsequent geometry will be displayed at speeds between 6 and 10km/h inclusive.

speed_range="-2"


Personal tools