Difference between revisions of "Configuration"

From Navit's Wiki
Jump to: navigation, search
(Layout Options: migrated from current Configuring)
 
(52 intermediate revisions by 14 users not shown)
Line 1: Line 1:
Navit is highly modular and customizable. This page aims to point out the most common options which a first-time user may want to change - power users may want to consult [[Configuring_Navit/Full_list_of_options | the full list of options]].
+
Navit is highly modular and customizable. This page aims to point out the most common options which a first-time user may want to change - power users may want to consult [[Configuration/Full_list_of_options | the full list of options]].
 +
It is also possible to edit the navit.xml file for your Android device under Windows and Linux (Debian/Ubuntu derivates) with a third party application called [[NavitConfigurator]].
  
Setting up Navit is done by editing a configuration file called "'''navit.xml'''".Editing this file in a text editor is simple, it's just a plain text XML file, that can be edited with any editor. Just remember to ''turn off 'save UTF8 byte mark' in Preferences'' or navit may complain very much on the first byte of the file.<br>
+
Setting up Navit is done by editing a configuration file called "'''navit.xml'''".
The file is splitted into sections within a hierachie:
+
Editing XML configurations files in a text editor is simple, they are just plain text XML files, that can be edited with any editor. Just remember to ''turn off 'save UTF8 byte mark' in Preferences'' or navit may complain very much on the first byte of the file.<br>
<pre>
+
The XML configuration file is splitted into sections within a hierarchy:
 +
<source lang="xml">
 
<config>
 
<config>
 
   <plugins></plugins>
 
   <plugins></plugins>
Line 14: Line 16:
 
   </navit>
 
   </navit>
 
</config>
 
</config>
</pre>
+
</source>
  
Navit comes '''preshipped''' with an default navit.xml that is stored at various locations (depending on your system):
+
Navit comes '''preshipped''' with a default navit.xml together with navit_layout_*.xml files that are stored at various locations (depending on your system). For Linux-like OSes:
* in ~/.navit/navit.xml : e.g : /home/myusername/.navit/navit.xml (This is probably to best place to customize your settings!)
+
* in ~/.navit/ : e.g : /home/myusername/.navit/navit.xml (This is probably to best place to customize your settings!)
 
* in /usr/share/navit or /etc/navit
 
* in /usr/share/navit or /etc/navit
  
 
Navit will apply settings in the following order:
 
Navit will apply settings in the following order:
 
* in the current directory (used on Windows)
 
* in the current directory (used on Windows)
* location supplied as first argument on the command line, e.g.: navit /home/myusername/navittestconfig.xml (Used mainly for development)
+
* location supplied as first argument on the command line, e.g.: navit /home/myusername/navittestconfig.xml (Used mainly for development)
 
* in the current directory as navit.xml.local (Used mainly for development)
 
* in the current directory as navit.xml.local (Used mainly for development)
  
 
{{note
 
{{note
|In any case, you have to '''adapt settings''' to your system!<br> This includes especially GPS, map provider and vehicle!
+
|In any case, you have to '''adapt settings''' to your system!<br> This includes especially GPS, map provider and vehicle: [[Basic configuration]]
 
}}
 
}}
  
Line 42: Line 44:
 
Common options such as units, position, zoom and map orientation, ... be configured in this section.
 
Common options such as units, position, zoom and map orientation, ... be configured in this section.
  
[[#General Options| General options.]]
+
[[Configuration/General_Options| General options.]]
  
 
|}
 
|}
Line 58: Line 60:
 
A large number of display properties can be configured, including desktop or touchscreen-optimised GUIs, on-screen display items and complete control over menu items.
 
A large number of display properties can be configured, including desktop or touchscreen-optimised GUIs, on-screen display items and complete control over menu items.
  
[[#Display Options| Display options.]]
+
[[Configuration/Display_Options| Display options.]]
  
 
|}
 
|}
Line 74: Line 76:
 
A number of vehicles can be defined within Navit, depending upon the device and/or operating system in use. Vehicle profiles for routing (eg: car, pedestrian, bicycle...) are also completely configurable.
 
A number of vehicles can be defined within Navit, depending upon the device and/or operating system in use. Vehicle profiles for routing (eg: car, pedestrian, bicycle...) are also completely configurable.
  
[[#Vehicle Options| Vehicle options.]]
+
[[Configuration/Vehicle_Options| Vehicle options.]]
  
 
|}
 
|}
Line 92: Line 94:
 
You can use maps from a variety of sources, any number of maps can be configured and enabled at any one time.
 
You can use maps from a variety of sources, any number of maps can be configured and enabled at any one time.
  
[[#Maps Options| Maps options.]]
+
[[Configuration/Maps_Options| Maps options.]]
  
 
|}
 
|}
Line 105: Line 107:
 
| style="margin:2px; padding:10px;" |
 
| style="margin:2px; padding:10px;" |
  
Maps are displayedaccording to the rules defined in the layout. All aspects of the layout are configurable, from POI icons to colours for a particular type of highway.
+
Maps are displayed according to the rules defined in the layout. All aspects of the layout are configurable, from POI icons to colours for a particular type of highway.
  
[[#Layout Options| Layout options.]]
+
For all versions shipped after nov 2018, layout XML configuration is stored in dedicated XML files called with the prefix '''navit_layout_''' (one file per layout definition).
 +
 
 +
[[Configuration/Layout_Options| Layout options.]]
  
 
|}
 
|}
Line 122: Line 126:
 
There are many more options, including debugging, specific plugins, speech announcements,  trip logging, ...
 
There are many more options, including debugging, specific plugins, speech announcements,  trip logging, ...
  
[[#Advanced Options| Advanced options.]]
+
[[Configuration/Advanced_Options| Advanced options.]]
  
 
|}
 
|}
Line 129: Line 133:
 
|}
 
|}
 
</div>
 
</div>
 
==General Options==
 
Settings which affect Navit's general behaviour are located within the <tt><navit .. ></tt> tag. In a default installation, this is found on line 31 of <tt>navit.xml</tt>. By default, the <tt>navit</tt> tag is set as follows:
 
 
<navit center="4808 N 1134 E" zoom="256" tracking="1" orientation="-1" recent_dest="10">
 
 
Some common attributes are discussed below. For more advanced features, see [[Configuring_Navit/Full_list_of_options | the full list of options]].
 
 
===Initial map position===
 
On Navit's very first startup, it needs a '''center''' to look at on the map. By default this is set to Munich in Germany, which is conveniently covered by the sample map created on installation.
 
 
center="4808 N 1134 E"
 
 
Latitude and longitude are multiplied by 100 (here Munich is at 48.08N 11.34E in decimal degrees). Coordinates must use the WGS-84 projection. You can use decimal degrees
 
 
center="[-][D]D.x[x]... [-][D][D]D.x[x]" <!--what is that???? Give the reader an example please!-->
 
 
where D = degrees and x = fractions of a degree. You can also use decimal minutes
 
 
center="[D]DMM.xxx N/S [D][D]DMM.yyy E/W"
 
 
where D = degrees, M = minutes and x/y = fractions of a minute. You can use N or S to denote North or South, and E or W to denote East or West. Lastly, you can use [[FAQ#Weird_coordinates_in_bookmarks.txt_and_centre.txt | hexadecimal coordinates]]
 
 
center="[-]0xX [-]0xX"
 
 
To determine a specific latitude and longitude for your location you can use http://itouchmap.com/latlong.html.
 
 
After Navit has started for the first time, it will write its current location to [[center.txt]] (located in the Navit home directory) and ignore the current center value.
 
 
When Navit starts, it will display the map at a pre-defined '''zoom'''. The default zoom level is 256. The lower the value, the closer you will be zoomed in. <!---what does the zoom number express? How can I estimate it?-->
 
 
zoom="256"
 
 
For those using the [[SDL GUI]], a level of 128 is recommended.
 
 
zoom="128"
 
 
Note that once Navit has started, the zoom level can be altered using [[OSD]] or menu items.
 
 
 
Use the '''orientation''' attribute to orient the map in either the direction of travel, or oriented North. .To orient the map in the direction of travel:
 
 
orientation="-1"
 
 
or to orient North:
 
 
orientation="0"
 
 
Orienting the map North whilst in [[3D]] mode will provide visually confusing results, and is not recommended. When in 3D mode, it's best to have the map oriented in the direction of travel.
 
 
===Autozoom===
 
Navit has the ability to '''autozoom''' the map in or out dependent upon your speed.
 
 
autozoom_active="1"
 
 
To de-activate autozoom:
 
 
autozoom_active="0"
 
 
===3D pitch===
 
Navit has the capability to display either a 2D map (bird's eye perspective) or a [[3D]] map (some amount of tilt looking to the horizon). Navit's default configuration is to startup in the 2D perspective but it is possible to specify that Navit start with a 3D perspective. The amount of tilt is specified by setting the value of <tt>pitch</tt>.
 
 
The '''pitch''' value defines default camera tilting, with a value from 0 to 359. Note that usable values lie between 0 and 90 where 0 is bird's eye perspective looking down and 90 is human perspective looking forward. Also note that values closer to 90 will slow down map drawing, because the line of sight gets longer and longer and more objects are seen.
 
 
For example, the following added to the <tt>navit</tt> tag will force Navit to start with a pitch of 30 degrees:
 
 
pitch="30"
 
 
===Imperial units===
 
By default, Navit use the metric system of measurements when displaying or announcing distances, speeds etc. However, you can configure Navit to display and announce these values in imperial units. Simply add an <tt>imperial</tt> attribute to the Navit tag, and set its value to 1, as shown below:
 
 
imperial="1"
 
 
Speeds should now be displayed in units of miles-per-hour, whilst distances are converted to miles (large distances) and feet (small distances).
 
 
==Display Options==
 
The Navit display is highly customisabl and consists of the following components
 
* Graphics driver (appropriate engine for your system, to draw everything)
 
* GUI (enables user interaction and map display)
 
* OSD (shows widgets on map screen)
 
 
===Graphics Driver===
 
Different technologies can be used, to let Navit draw it's visual components. Not all might be available at your specific system
 
 
The current list of available graphics drivers:
 
 
* '''android''', for the Android port
 
* '''cocoa''', for the iPhone port
 
* '''gtk_drawing_area''',  usually most appropriate on Linux desktop systems
 
* '''sdl''', render inside an X window, or direct to the Linux framebuffer, with min dependencies on external libraries.
 
* '''win32''' - useable with <tt>gtk</tt> or <tt>internal</tt> GUIs for Windows systems only.
 
 
Experimental/less maintained drivers:
 
* '''qt_qpainter''', render inside X window or on top of Qt Palmtop Environment.
 
* '''opengl''', rendering via OpenGL <!--is it some 3D or accelerated stuff? What about OpenGL ES?-->
 
* '''gtk_gl_ext''', rendering via OpenGL using GTK+ OpenGL extension
 
* '''gd''', rendering using the GD Graphics Library
 
 
They can be activated and configured as following:
 
<graphics type="gtk_drawing_area"/>
 
 
As mentioned, it's usually best to leave this as whatever the default is within your <tt>navit.xml</tt>, and only mess around with it if you know what you are doing, or have been told to by one of the developers.
 
 
===Graphical User Interface===
 
You can now choose which type of GUI you would like to use with Navit. Not all GUIs work with all Graphics drivers
 
 
{| class="wikitable"
 
!GUI!!android!!cocoa!!gd!!gtk_drawing_are!!gtk_gl_ext!!opengl!!qt_qpainter!!sdl!!win32!!preview
 
|-
 
|<s>[[ceGUI]]</s><br>(outdated)
 
|| || || || || || || || ||
 
|-
 
|[[GTK GUI]]
 
|| || || ||{{yes}}|| || || || ||{{yes}}||[[Image:Navit-liberation.png|x100px]]
 
|-
 
|[[internal GUI]]
 
|| || || ||{{yes}}|| || ||{{yes}}||{{yes}}||{{yes}}||[[Image:OSDSimple.png|x100px]]
 
|-
 
|[[QML GUI]]<br>(frozen)
 
|| || || || || || ||{{yes}}|| || ||[[Image:Qml point 20100404.png|x100px]]
 
|}
 
 
====Generic GUI Options====
 
There are some options available for the <tt>gui</tt> tag which are used by all the GUI types. These include:
 
 
* '''fullscreen''' - Enables Navit to start in fullscreen mode.
 
* '''pitch''' - The pitch value to pitch the map to when selecting 3D mode from the menus.
 
* '''dimensions''' - w="1024" h="600"
 
 
The following example uses the <tt>internal</tt> GUI, and starts Navit up in fullscreen mode, and will pitch the map to 35 degrees when 3D mode is selected from the menu. Note that to start Navit in 3D mode by default, [[#Initial 3D pitch|change the <tt>pitch</tt> value in the <tt>navit</tt> tag]]:
 
 
<gui type="internal" enabled="yes" fullscreen="1" pitch="35">
 
 
====Internal GUI====
 
The first GUI is embedded in Navit core and is primarily aimed at [[touchscreen]] devices, or those devices with small screens (such as netbooks). However, this GUI also works very well on desktops and laptops.
 
 
<gui type="internal" enabled="yes">
 
 
=====Options=====
 
<!-- dont know if that potions are THAT essential for a first start?-->
 
A number of options specific to the <tt>internal</tt> GUI are available. These include:
 
 
* '''font_size''' - Base text size to use within the <tt>internal</tt> menu.
 
* '''icon_xs''' - The size that extra-small style icons should be scaled to (e.g. country flag on town search).
 
* '''icon_s''' - The size that small style icons should be scaled to (e.g. icons of <tt>internal</tt> GUI toolbar).
 
* '''icon_l''' - The size that large style icons should be scaled to (e.g. icons of internal GUI menu).
 
* '''menu_on_map_click''' - Toggles the ability to bring up the menu screen when clicking on the map. See the [[Internal_Gui#Menu_Configuration|<tt>internal</tt> GUI page]] for more information.
 
 
An example <tt>gui</tt> tag using the previous options is shown below:
 
 
<gui type="internal" enabled="yes" font_size="250" icon_xs="48" icon_s="48" icon_l="64">
 
 
More options are discussed on the [[Internal Gui]] and [[Configuring_Navit/Full_list_of_options | the full list of options]].
 
 
 
====GTK GUI====
 
The second GUI is called '''gtk''', and is most useful for those users who wish to use a traditional windowed GUI. This is one useful to desktop use.
 
 
<gui type="gtk" enabled="yes" ... />
 
 
 
=====Options=====
 
A number of options specific to the <tt>gtk</tt> GUI are available. These include:
 
 
* menubar - enable/disable the menubar
 
* toolbar - enable/disable the toolbar
 
* statusbar - enable/disable the statusbar
 
 
 
<gui type="gtk" enabled="yes" menubar="1" toolbar="1" statusbar="1"/>
 
 
==Vehicle Options==
 
It's important to understand the separate but linked Navit concepts of a '''vehicle''' and '''vehicleprofile''' element. A vehicle defines the source of positional data (suchas a USB GPS device), and how to present that data to the user on the map, where the vehicleprofile defines all aspects of routing.
 
 
A simple vehicle definition looks like this:
 
 
<vehicle name="My" enabled="yes" source="file://dev/ttyS0"/ active="1"/>
 
 
Here some of the available options:
 
* '''active''': If set to 1, makes the vehicle the default active one. Routing, view centering and map redraw would be applied to this one by default.
 
* '''enabled''': If set to yes, Navit connects to the vehicle data source and shows the vehicle on the map.
 
* '''follow''': map follows after "n" gps updates (where n=0 means only when the vehicle leaves the map->saving CPU time)
 
* '''source''' : source of GPS (required)
 
* '''profilename''': link the vehicleprofile for this vehicle.
 
 
<!-- do we need to keep this keys or note them elsewhere?
 
Obsolete options:
 
* '''update''': This will force the map to be recentered at your main cursor's position.
 
* '''color'''/'''color2''': The color of the cursor is now specified within the cursor tag itself.
 
* '''animate''': If set to 1, the cursor will be animated as a moving dotted line, to make it easier to see.
 
-->
 
 
===Logging tracks===
 
To record your trip , you can add a sub-instance "log" to the vehicle. It is possible to add multiple logs.
 
 
<log type="gpx" data="track_%Y%m%d%i.gpx" flush_size="1048576" flush_time="900" />
 
<log type="nmea" data="track_%Y%m%d%i.nmea" flush_size="1048576" flush_time="900" />
 
 
This will give a log file named YearMonthDaySequencenumber.gpx/.nmea which will be kept in memory and flushed to disk when it is 1048576 bytes large or the oldest data is older than 900 seconds.
 
<!--how to define, where the file get's stored?-->
 
 
To display your track for more than one hour, you must use [[binfile]] to create a cache file that get's display <!--do I need to add it as a map source?-->
 
<log type="binfile" data="track.bin" flush_size="0"/>
 
 
For customizing what is stored, see [[GPX]]
 
 
===Vehicleprofile===
 
<!-- this is tricky, here we need a step by step introduction-->
 
Defines the behaviour of the routing and are usually linked to a vehicle section, so switching the "vehicle" (type of mobility) from within Navit, routing also will change its behaviour. This way, it is possible to include steps for pedestrian routing, but to exclude it for bike, horse or car routing. Within the vehicleprofile section, roadprofile sections are used to describe the routing behaviour of different roads. Here's a very basic example:
 
 
<vehicleprofile name="bike" flags="0x40000000" flags_forward_mask="0x40000000" flags_reverse_mask="0x40000000" maxspeed_handling="1" route_mode="0">
 
  <roadprofile item_types="path,track_ground" speed="12" route_weight="5">
 
  </roadprofile>
 
  <roadprofile item_types="track_gravelled,track_paved,cycleway,street_service,street_parking_lane,street_0,street_1_city,living_street,street_2_city,street_1_land,street_2_land,street_3_city" speed="25" route_weight="15">
 
  </roadprofile>
 
  <roadprofile item_types="roundabout" speed="20" route_weight="10"/>
 
  <roadprofile item_types="ferry" speed="40" route_weight="40"/>
 
</vehicleprofile>
 
 
For details on the flags, see [[VehicleprofileFlags]].
 
The speeds are in km/h.
 
 
Only the vehicle profile names "car", "bike" and "pedestrian" are translated in the GUI.
 
 
==Maps Options==
 
Navit can read various map formats, and can even show multiple maps at a time. This is done by defining a mapset. Each mapset can have one or more maps. Using the GTK GUI, you can enable or disable specific maps at runtime.
 
 
<mapset>
 
  <map type="binfile" enabled="yes" data="/var/navit/maps/uk.bin" />
 
  <map type="binfile" enabled="yes" data="/var/navit/maps/france.bin" />
 
</mapset>
 
<!--can we do routing across multiple maps?-->
 
To get free maps, see [[OpenStreetMap]]
 
 
For different providers see [[Map drivers]]
 
 
==Layout Options==
 
A layout defines how to '''render a map'''.  Layouts are fully customisable, from the road colours and widths to size and type of icons to display for specific POIs. The layout is also where the '''cursor''' (i.e. the shape which shows where you are) is defined.<br>
 
A number of user-generated layouts and cursor definitions are available at [[Layout]].
 
 
A layout consist of one or more '''layers''' which are each a set of rules on how and when to draw certain items. Those rules are called '''itemgra'''. The layers are rendered one by one in the order they appear in the navit.xml file, as are the items in each layer. If you can't see an item make sure there is not another one hiding it (z-ordering!). If your item is hidden, you can move your item further down in the layout section of the file.
 
 
<pre>
 
<layout name="Demo layout" color="#ffefb7" font="Liberation Sans" active="1">
 
<cursor w="26" h="26">
 
<layer name="layer_1">
 
<itemgra item_types="water_poly" order="0-">
 
<polygon color="#82c8ea" />
 
<polyline color="#5096b8" />
 
</itemgra>
 
</layer>
 
<layout>
 
</pre>
 
 
 
Here the available options:
 
* item_types: Comma separated list of items (see navit/item.h for definitions)
 
* order: Range for zoom levels.
 
* speed_range: Range for vehicle speed, useful for cursors.
 
* angle_range: Range for pitch angle.
 
* sequence_range: Useful for animated cursors.
 
 
==Advanced Options==
 
The rest of this webpage is meant for advanced/power users who'd like to fiddle a little more under-the-hood. The average user can safely ignore this section!
 
 
===Debugging===
 
 
===Bookmarks===
 
 
 
 
 
 
 
 
  
 
<!-- Following line disables table of contents -->
 
<!-- Following line disables table of contents -->
 
__NOTOC__
 
__NOTOC__
 +
 +
[[Category:Customizing]]
 +
[[Category:Configuration]]

Latest revision as of 22:39, 1 January 2019

Navit is highly modular and customizable. This page aims to point out the most common options which a first-time user may want to change - power users may want to consult the full list of options. It is also possible to edit the navit.xml file for your Android device under Windows and Linux (Debian/Ubuntu derivates) with a third party application called NavitConfigurator.

Setting up Navit is done by editing a configuration file called "navit.xml". Editing XML configurations files in a text editor is simple, they are just plain text XML files, that can be edited with any editor. Just remember to turn off 'save UTF8 byte mark' in Preferences or navit may complain very much on the first byte of the file.
The XML configuration file is splitted into sections within a hierarchy:

<config>
  <plugins></plugins>
  <navit>
    <osd></osd>
    <vehicle></vehicle>
    <vehicleprofile></vehicleprofile>
    <mapset></mapset>
    <layout></layout>
  </navit>
</config>

Navit comes preshipped with a default navit.xml together with navit_layout_*.xml files that are stored at various locations (depending on your system). For Linux-like OSes:

  • in ~/.navit/ : e.g : /home/myusername/.navit/navit.xml (This is probably to best place to customize your settings!)
  • in /usr/share/navit or /etc/navit

Navit will apply settings in the following order:

  • in the current directory (used on Windows)
  • location supplied as first argument on the command line, e.g.: navit /home/myusername/navittestconfig.xml (Used mainly for development)
  • in the current directory as navit.xml.local (Used mainly for development)

Configurable Sections[edit]

General

Common options such as units, position, zoom and map orientation, ... be configured in this section.

General options.

Display

A large number of display properties can be configured, including desktop or touchscreen-optimised GUIs, on-screen display items and complete control over menu items.

Display options.


Vehicle

A number of vehicles can be defined within Navit, depending upon the device and/or operating system in use. Vehicle profiles for routing (eg: car, pedestrian, bicycle...) are also completely configurable.

Vehicle options.

Maps

You can use maps from a variety of sources, any number of maps can be configured and enabled at any one time.

Maps options.

Layout

Maps are displayed according to the rules defined in the layout. All aspects of the layout are configurable, from POI icons to colours for a particular type of highway.

For all versions shipped after nov 2018, layout XML configuration is stored in dedicated XML files called with the prefix navit_layout_ (one file per layout definition).

Layout options.

Advanced

There are many more options, including debugging, specific plugins, speech announcements, trip logging, ...

Advanced options.