Difference between revisions of "Configuration"

From Navit's Wiki
Jump to: navigation, search
(Display additions. Still need to add OSD stuff.)
(Advanced: Debugging)
Line 285: Line 285:
  
 
==Advanced==
 
==Advanced==
 +
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===
 
<!-- Following line disables table of contents -->
 
<!-- Following line disables table of contents -->
 
__NOTOC__
 
__NOTOC__

Revision as of 16:32, 8 August 2011

Navit is highly configurable. Options such as cursor shape, map rendering, vehicle behaviour and display layouts can all be configured. This page aims to show the most common options which a first-time user may want to change - power users may want to consult the full list of options.

Introduction

Discuss the fact that configuring Navit is done through configuring an xml file. No GUI.

Configurable Sections

General

Options such as starting position, 3D orientation and metric/imperial can be modified in the general Navit tag. Autozoom and map orientation can also 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 (eg: car, pedestrian, bicycle...) are also completely configurable.

Vehicle options.

Maps

Navit can use maps from a variety of sources, thought the most popular are OpenStreetMap derived maps. Any number of maps can be configured and enabled at any one time.

Maps options.

Layout

Maps are displayed on-screen 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.

Advanced

There are many more options, including debugging, specific plugins (such as Garmin maps), speech announcements and trip logging.

Advanced options.


General

Settings which affect Navit's general behaviour are located within the <navit .. > tag. In a default installation, this is found on line 31 of navit.xml. By default, the navit 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 the full list of options.

Initial map center position

On Navit's very first startup, it needs a position 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"

Note that the latitude and longitude are multiplied by 100 (i.e. 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]"

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 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: ~/.navit, for example). Upon startup, Navit will read this file and center the map to these coordinates, rather than those defined in the center attribute.

Initial map zoom level

When Navit starts, it will display the map at a pre-defined zoom level. This is configured using the zoom attribute. The default zoom level is 256. The lower the value, the closer you will be zoomed in. (Power2?).

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.

Map orientation

You can choose to orient the map in either the direction of travel, or oriented North. Use the orientation attribute. During typical navigation, most satellite navigation systems have the map oriented in the direction of travel. 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.

The map orientation is one of the options which can be changed from within the Navit menus, either from the main menu bar (GTK GUI), or Settings -> Rules -> Northing (Internal GUI).

Autozoom

Navit has the ability to zoom the map in or out dependent upon your speed. By default this option is not included within navit.xml, so it will have to be added. To active autozoom:

autozoom_active="1"

To de-activate autozoom:

autozoom_active="0"

or just remove the entry from the navit tag entirely.

Initial 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 pitch.

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.

Note that by default the navit tag does not contain the pitch attribute so you will have to add it.

For example, the following added to the navit tag will force Navit to start with a pitch of 30 degrees:

pitch="30"

The map pitch can also be altered using the GUIs, although only to an angle specified in the gui tag.

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 imperial 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

The Navit display is highly customisable, from choosing the type of graphics driver most appropriate for your system, to displaying on-screen widgets (known as On-Screen Display items, or OSDs) to show the next turn or current speed, to configuring the menu of certain user interfaces.

Graphics Driver

The first thing to do is choose the graphics driver appropriate for your system. Note that you may not have to change this setting at all, as during the build (or in the provided packages) the navit.xml may well have been modified for your system.

The graphics driver tag is found on line 34 of the default navit.xml, and may look like the following example:

<graphics type="gtk_drawing_area"/>

The current list of available graphics drivers are as follows:

  • gtk_drawing_area - useable with the gtk or internal GUIs (see next section). This graphics driver is usually most appropriate on Linux systems.
  • opengl - useable only with the cegui GUI.
  • qt_qpainter - useable with the internal or qml GUIs. This driver can render inside an X window or on top of Qt Palmtop Environment.
  • sdl - useable with the internal GUI. Can render inside an X window, or direct to the Linux framebuffer, without very many dependencies on external libraries.
  • win32 - useable with gtk or internal GUIs for Windows systems only.

As mentioned, it's usually best to leave this as whatever the default is within your navit.xml, and only mess around with it if you know what you are doing, or have been told to by one of the developers.

General User Interface (GUI) Type

You can now choose which type of GUI you would like to use with Navit. There are currently two mature options, and a few alpha-stage GUIs which will only be of interest to developers.

Internal GUI

Example of Internal GUI with OSD

The first GUI is called internal 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.

This GUI is enabled by default in navit.xml, on line 44

<gui type="internal" enabled="yes">

More detail on the internal GUI - including configuration settings and a run-through of the default menu - can be found on the internal GUI page.

Menu

The menu presented in the internal GUI (after clicking the map) is also defined within navit.xml. As a result, you can customise the menu to change the home page, re-arrange the order of options, alter the icons shown or any number of other things. To give you an idea of what can be achieved, have a look at some alternative menu configurations at Internal_GUI/Menu_configurations.

Options

A number of options specific to the internal GUI are available. These include:

  • font_size - Base text size to use within the internal 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 internal 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 page for more information.

An example gui 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 page and the full list of options.

GTK GUI

Example of GTK GUI

The second GUI is called gtk, and is most useful for those users who wish to use a traditional windowed GUI. Whilst it used to be the default Navit GUI, it may still be useful to desktop use.

To enable this GUI type, first disable the internal GUI on line 44:

<gui type="internal" enabled="no">

...and enable the gtk GUI on line 38:

<gui type="gtk" enabled="yes" ... />
Menu

All menu options are found on the toolbar and menubars. Some status messages can be found on the statusbar.

Options

A number of options specific to the gtk GUI are available. These include:

  • menubar - enable/disable the menubar
  • toolbar - enable/disable the toolbar
  • statusbar - enable/disable the statusbar

The following example (from the default navit.xml) shows the gui tag with the previous options, with all bars enabled (set the value to "0" to disable a specific bar).

<gui type="gtk" enabled="yes" menubar="1" toolbar="1" statusbar="1"/>

Other GUI types

Other GUI types which may be available to you include:

  • cegui - This GUI type has now been superseded by the internal GUI type.
  • qml - This GUI, currently under stalled development, is designed to be a replacement for the internal GUI. More information can be found on the QML GUI page. This GUI type only works with the qt_qpainter graphics driver.

Generic GUI Option

There are some options available for the gui 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.

The following example uses the internal 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, change the pitch value in the navit tag:

<gui type="internal" enabled="yes" fullscreen="1" pitch="35">

Vehicle

Maps

Layout

Advanced

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