]> git.street.me.uk Git - andy/viking.git/blobdiff - help/C/viking.xml
[DOC] Document the Mapnik Rendering Layer capability.
[andy/viking.git] / help / C / viking.xml
index 001146f35dccf1a37efefb47061ef6f5cfee34dc..2fab04f940a2c319fe832031724e1f0d9060ef25 100644 (file)
@@ -1,11 +1,11 @@
 <?xml version="1.0"?>
-<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
-"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
+"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
   <!ENTITY appname          "Viking">
   <!ENTITY app "<application>Viking</application>">
-  <!ENTITY appversion   "1.4">
-  <!ENTITY manrevision  "1.4">
-  <!ENTITY date "February 2013">
+  <!ENTITY appversion   "1.5">
+  <!ENTITY manrevision  "1.5">
+  <!ENTITY date "October 2013">
 ]>
 <!--
       (Do not remove this comment block.)
@@ -112,7 +112,7 @@ Uploading and downloading waypoints, tracks and routes to/from GPS.
 </para>
 </listitem>
 <listitem>
-<para>Preparing tracks, routes and waypoints for trips using maps from services such as OpenStreetMap (OSM) and/or Terrasever.
+<para>Preparing tracks, routes and waypoints for trips using maps from services such as OpenStreetMap (OSM).
 The data is only needed to be uploaded to your GPS before you leave.
 The maps together with your tracks, routes and waypoints can also be printed and used during the trip.
 </para>
@@ -150,7 +150,7 @@ Analyzing speed at different places (to some degree), adding waypoints where you
 </listitem>
 <listitem>
 <para>
-Downloading and storing OpenStreetMap and/or Terraserver maps on your hard drive and looking at them later.
+Downloading and storing OpenStreetMap and/or other map types on your hard drive and looking at them later.
 </para>
 </listitem>
 <listitem>
@@ -249,7 +249,14 @@ The main &appname; area where the layer data is drawn, is called the <emphasis r
 </figure>
 </section>
 
-<section><title>Projections</title>
+<section id="toolbar" xreflabel="Toolbar"><title>Toolbar</title>
+<para>The toolbar is an area for buttons that perform common actions.</para>
+<para>Some actions are modal, so the appropriate layer needs selected before these toolbar buttons are enabled. See <xref linkend="tools"/> more detail.</para>
+<para>The display of the toolbar is influenced by the <xref linkend="prefs_toolbar"/></para>
+<para>Right clicking on the toolbar and selecting <menuchoice><guimenu>Customize</guimenu></menuchoice> allows jumping to the <xref linkend="prefs_toolbar_customize"/> directly.</para>
+</section>
+
+<section id="projection" xreflabel="Projection"><title>Projections</title>
 <para>
 &appname; supports differents projections:
 <itemizedlist>
@@ -266,7 +273,7 @@ The main &appname; area where the layer data is drawn, is called the <emphasis r
 </para>
 </section>
 
-<section><title>Map Cache</title>
+<section id="mapcache" xreflabel="Map Cache"><title>Map Cache</title>
 <para>
 &appname; stores downloaded map tiles to disk for a couple of reasons:
 </para>
@@ -298,6 +305,19 @@ The &appname; automatic caching strategy is two fold:
   This can be useful if you contribute to OpenStreetMap and wish to see your modifications (of course give time for the server to have processed your changes - see <ulink url="http://help.openstreetmap.org/questions/102/i-have-made-edits-but-they-dont-show-up-on-the-map">I have made edits but they don't show up on the map</ulink>)
 </para>
 </note>
+
+<para>
+The layout of the cache on disk itself can be controlled via a per Map Layer property.
+<itemizedlist>
+<listitem><para>Viking - Legacy default in a private cache layout scheme</para></listitem>
+<listitem><para>OSM - Newer available default (1.6+)</para>
+<para>
+This is to increase the compatibility between &appname; and similar applications that cache tiles on disk so that the tiles can be shared.
+</para>
+</listitem>
+</itemizedlist>
+
+</para>
 </section>
 
 <section id="shortcut_keys" xreflabel="Shortcut Keys"><title>Shortcut Keys</title>
@@ -305,7 +325,7 @@ The &appname; automatic caching strategy is two fold:
 &appname; has several shortcut keys or key combinations for commands as listed in the main window along side the command.
 </para>
 <para>
-Some function keys follow standard GUI behaviour:
+By default some function keys follow standard GUI behaviour:
 </para>
 <itemizedlist>
 <listitem><para><keycap>F1</keycap> Help (view this manual)</para></listitem>
@@ -334,11 +354,41 @@ Other function keys control turn on/off visibility of various elements:
 </itemizedlist>
 <para>
 Standard shortcuts are provided for normal GUI operations: such as creating new files, opening, saving and exitting.
-Then there are shortcuts specific to &appname; to switch projection modes, zoom in/out, create layers and switch the active tool mode.
-For these combinations see the menu entry themselves.
+Then there are shortcuts specific to &appname; to switch projection modes, zoom in/out, create layers,switch the active tool mode and move the map:
+<itemizedlist>
+<listitem><para><keycap>Ctrl+Up</keycap> Pan the viewport North</para></listitem>
+<listitem><para><keycap>Ctrl+Right</keycap> Pan the viewport East</para></listitem>
+<listitem><para><keycap>Ctrl+Down</keycap> Pan the viewport South</para></listitem>
+<listitem><para><keycap>Ctrl+Left</keycap> Pan the viewport West</para></listitem>
+<listitem><para><keycap>Ctrl+Keypad+</keycap> Zoom In</para></listitem>
+<listitem><para><keycap>Ctrl+Keypad-</keycap> Zoom Out</para></listitem>
+</itemizedlist>
+<important><para>These work irrespective of the <xref linkend="tools"/> mode selected</para></important>
+For other combinations see the menu entry themselves.
 </para>
 </section>
 
+<section>
+<title>Keyboard Configuration</title>
+<para>Keyboard configuration is supported by the standard GTK+ way of changing shortcuts for menu entries.</para>
+<para>Hover over the menu option with the mouse pointer and press the keyboard shortcut you want to bind it to.</para>
+<para>To delete a keyboard assignment, press <keycap>Backspace</keycap> whilst over the menu entry.</para>
+<note>
+<para>
+       If the keyboard shortcut is already in use you will not receive any notification that new action replaces the old action.
+       This is probably why most distributions have this facility disabled by default.
+       Thus you will need to enable <emphasis>Editable menu accelerators</emphasis> for your system.
+       Check the Desktop Menu and Toolbar Control or other User Interface preferences for this setting.
+</para>
+</note>
+<note>
+<para>
+       For Windows systems this can be done by adding the line <emphasis>gtk-can-change-accels=1</emphasis> to <filename>%USERPROFILE%\.gtkrc-2.0</filename> (create the file if it does not exist).
+</para>
+</note>
+<para>From &app; 1.6+ the keyboard configuration is automatically loaded and saved between sessions in the <xref linkend="config_keys"/></para>
+</section>
+
 <section><title>Tracks vs Routes</title>
 <para>
 In theory a route is path you are planning to follow and a track of where you have actually been. The GPX specification splits these into two separate catergories, although tracks contain everything route may have.
@@ -421,10 +471,11 @@ This opens a file chooser dialog to select one (or more) files of the supported
 <listitem><para>Viking</para></listitem>
 <listitem><para>GPX</para></listitem>
 <listitem><para>KML</para></listitem>
+<listitem><para>JPG</para></listitem>
 </itemizedlist>
 </para>
 <para>
-GPX and KML files will be loaded into the existing &appname; view. A <emphasis>Viking</emphasis> file will be given a new window if the current window is already assigned.
+GPX, KML and JPG files will be loaded into the existing &appname; view. A <emphasis>Viking</emphasis> file will be given a new window if the current window is already assigned.
 </para>
 <tip>
 <para>
@@ -468,7 +519,7 @@ GPX and KML files may also be appended, but this is exactly the same as the norm
 Available on the <menuchoice><guimenu>File</guimenu><guisubmenu>Acquire</guisubmenu></menuchoice> menu and from the <xref linkend="TrackWaypoint"/> layer menu.
 </para>
 <para>
-If used from the <guimenu>File</guimenu> menu and a TrackWaypoint layer is not currently selected, these methods place the results in a new TrackWaypoint layer. When a TrackWaypoint layer is selected, then using the <menuchoice><guimenu>File</guimenu><guisubmenu>Acquire</guisubmenu></menuchoice> will put the results into the selected TrackWaypoint layer.
+If used from the <guimenu>File</guimenu> menu these methods place the results in a new TrackWaypoint layer.
 </para>
 <para>
 If used from the <xref linkend="TrackWaypoint"/> layer menu these methods place the results in that TrackWaypoint layer.
@@ -557,6 +608,37 @@ This gets a route from given directions.
 </para>
 </section>
 
+<section>
+<title>From URL</title>
+<para>
+<menuchoice><guimenu>File</guimenu><guimenuitem>Acquire</guimenuitem><guimenuitem>From URL</guimenuitem></menuchoice>
+</para>
+<para>
+This gets a file from the entered URL.
+File formats that can be opened are those supported by GPSBabel.
+</para>
+<note>
+<para>
+You need to select the type of the file that is going to be returned, since there is no automatic detection of the file kind.
+</para>
+</note>
+</section>
+
+<section>
+<title>Import GeoJSON File</title>
+<para>
+<menuchoice><guimenu>File</guimenu><guimenuitem>Acquire</guimenuitem><guimenuitem>Import GeoJSON File</guimenuitem></menuchoice>
+</para>
+<para>
+This uses the program <ulink url="https://github.com/tyrasd/togpx">togpx</ulink> to load .geojson files.
+If the program is not detected on your system, then this option will not be available.
+See <ulink url="https://www.npmjs.org/package/togpx">here</ulink> for the installation method.
+</para>
+<para>
+The current version (1.4.4) of GPSBabel does not support the <ulink url="http://geojson.org/">GeoJSON</ulink> file format.
+</para>
+</section>
+
 </section> <!-- End Acquire -->
 
 <section><title>Print</title>
@@ -622,6 +704,7 @@ Layers supported by &appname; are:
 <listitem><para><xref linkend="Coordinate"/></para></listitem>
 <listitem><para><xref linkend="Maps"/></para></listitem>
 <listitem><para><xref linkend="GeoRef"/></para></listitem>
+<listitem><para><xref linkend="MapnikRendering"/></para></listitem>
 </itemizedlist>
 <para>
 For each layer there are a few standard options:
@@ -738,8 +821,30 @@ You are probably better off expanding the waypoint list and directly start typin
 
 <section><title>Export Layer</title>
 <para>
-The layer (all tracks, routes and waypoints) can be exported to a file GPX, GPSPoint, GPSMapper or Google's KML format.
-</para>
+The layer (all tracks, routes and waypoints) can be exported to following file formats:
+</para>
+<orderedlist>
+       <listitem>
+               <para>GPX</para>
+       </listitem>
+       <listitem>
+               <para>GPSPoint</para>
+       </listitem>
+       <listitem>
+               <para>GPSMapper</para>
+       </listitem>
+       <listitem>
+               <para>Google's KML</para>
+       </listitem>
+       <listitem>
+               <para>Any GPSBabel <ulink url="http://www.gpsbabel.org/capabilities.html">File Formats</ulink></para>
+       </listitem>
+       <listitem>
+               <para>GeoJSON. Via the program <ulink url="https://github.com/mapbox/togeojson">togeojson</ulink></para>
+               <para>This option will not be available if the program is not detected on your system.
+               See <ulink url="https://www.npmjs.org/package/togeojson">here</ulink> for the installation method.</para>
+       </listitem>
+</orderedlist>
 <para>
 Version1.1+: An individual track can be exported to a GPX file via the track menu.
 </para>
@@ -848,6 +953,15 @@ The password is transferred <emphasis role="bold">unencrypted</emphasis> in ever
 This opens dialog to request the number of points each track will be simplified using <application>GPSBabel</application>. The result is put into a new layer. The simplification method removes points considered to be in a 'near straight line', thus reducing the number of points and attempting to keep the most important turning points.
 </para>
 </section>
+<section><title>Compress Tracks</title>
+<para>
+Enables compression of tracks and routes via <application>GPSBabel</application>'s <emphasis>Crosstrack</emphasis> simplify method.
+It opens a dialog to request the Error factor value which is the maximum allowable error that may be introduced by removing a single point.
+It is expressed a distance in units as specified by the <xref linkend="prefs"/> distance option.
+Thus a higher value will remove more points.
+The result is put into a new layer.
+</para>
+</section>
 <section><title>Remove Duplicate Waypoints</title>
 <para>
 Remove Duplicate Waypoints - fairly self explainatory, with the results created in a new layer.
@@ -880,6 +994,18 @@ See <link linkend="geotagging">Geotagging</link> for further detail.
 </para>
 </section>
 
+<section><title>List Tracks or Routes</title>
+<para>
+Opens a new dialog with the list. As described in the Aggregrate layer <xref linkend="track_list"/>
+</para>
+</section>
+
+<section><title>List Waypoints</title>
+<para>
+Opens a new dialog with the list. As described in the Aggregrate layer <xref linkend="waypoint_list"/>
+</para>
+</section>
+
 </section><!-- End TRW Layer Options -->
 
 <section><title>Track and Route Sublayer Options</title>
@@ -890,17 +1016,50 @@ See <link linkend="geotagging">Geotagging</link> for further detail.
 <listitem><para>View All Tracks or Routes. Same as the layer <link linkend="track_view_all">View All Tracks</link> or <link linkend="route_view_all">View All Routes</link></para></listitem>
 <listitem><para>Delete All Tracks or Routes. Same as the layer <link linkend="delete_all_tracks">Delete All Tracks</link> or <link linkend="delete_all_routes">Delete All Routes</link></para></listitem>
 <listitem><para>Delete Tracks or Routes from Selection. Same as the layer <link linkend="delete_selection_tracks">Delete Tracks from Selection</link> or <link linkend="delete_selection_routes">Delete Routes from Selection</link></para></listitem>
+<listitem><para>List Tracks or Routes. Opens a new dialog with the list. As described in the Aggregrate layer <xref linkend="track_list"/></para></listitem>
+</itemizedlist>
+<para>Also gives other options for handling multiple items:</para>
+<itemizedlist>
+<listitem><para>Sort. Gives the ability to sort the items in the treeview alphabetically</para></listitem>
+<listitem><para>Visibility. Offers options to quickly control the visibility of all items within the sublayer, as per <xref linkend="vis_options"/></para></listitem>
 </itemizedlist>
 </section>
 
-<section><title>Track and Route Properties</title>
+<section xreflabel="Track and Route Properties"><title>Track and Route Properties</title>
 <para>
-Show many useful statistics about a track or a route, including a
-elevation-distance graph and a speed-time graph (if data is available).
-You can click these graphs to jump to the point in the track. You can
-also reverse it, delete duplicates, and split a track from its
-component segments (discontinuous breaks in a track) into separate
-tracks.
+This shows several tabs for properties and useful statistics about a track or a route, including elevation-distance and speed-time graphs (if data is available).
+Moving the mouse pointer over the graph displays values related to that point along the track.
+You can click on these graphs to jump to the point in the track.
+You can reverse it, delete duplicates, split at marked position or split a track from its component segments (discontinuous breaks in a track) into separate tracks.
+</para>
+<section id='track_properties' xreflabel="Track and Route Properties"><title>Track and Route Properties Tab</title>
+<para>
+<figure>
+<title>Properties Tab: Example</title>
+<screenshot>
+  <graphic format="PNG" fileref="figures/Track_properties.png"/>
+</screenshot>
+</figure>
+</para>
+</section>
+<section id='track_statistics' xreflabel="Track and Route Statistics"><title>Track and Route Statistics Tab</title>
+<para>
+<figure>
+<title>Statistics Tab: Example</title>
+<screenshot>
+  <graphic format="PNG" fileref="figures/Track_statistics.png"/>
+</screenshot>
+</figure>
+</para>
+</section>
+<section id='track_elev_graphs' xreflabel="Track Elevation Graph"><title>Track Elevation Graph</title>
+<para>
+<figure>
+<title>Elevation Distance Tab: Example</title>
+<screenshot>
+  <graphic format="PNG" fileref="figures/Track_elevation_graph.png"/>
+</screenshot>
+</figure>
 </para>
 <para>
 The following colors are used in the elevation-distance graph:
@@ -929,7 +1088,7 @@ The following colors are used in the elevation-distance graph:
 </listitem>
 </varlistentry>
 </variablelist>
-
+</section>
 </section>
 
 <section><title>Track and Route Operations</title>
@@ -1035,10 +1194,14 @@ This is not available on routes as they do not have route segments.
 </note>
 </section>
 
-<section><title>Split at Trackpoint</title>
+<section id='trkpt_split' xreflabel="Split at Trackpoint"><title>Split at Trackpoint</title>
 <para>
 Splits the track at the currently selected trackpoint.
 </para>
+<para>
+The current track will finish at this trackpoint.
+A new track will start from a copy of this trackpoint.
+</para>
 <note>
 <para>
 This is only enabled when a trackpoint is selected.
@@ -1047,7 +1210,37 @@ This is only enabled when a trackpoint is selected.
 </section>
 </section>
 
+<section><title>Insert Points</title>
+<note>
+<para>
+These options are only enabled when a trackpoint is selected.
+</para>
+</note>
+<section><title>Insert Point Before Selected Point</title>
+<para>
+Inserts a track point halfway between the previous track point and the current track point.
+All track point properties are interpolated between the two points.
+</para>
+</section>
+<section><title>Insert Point After Selected Point</title>
+<para>
+Inserts a track point halfway between the current track point and the next track point.
+All track point properties are interpolated between the two points.
+</para>
+</section>
+</section>
+
 <section><title>Delete Points</title>
+<section><title>Delete Selected Point</title>
+<para>
+Deletes the currently selected track point.
+</para>
+<note>
+<para>
+This is only enabled when a trackpoint is selected.
+</para>
+</note>
+</section>
 <section><title>Delete Points With the Same Position</title>
 <para>
 Deletes subsequent points that have the same position (but have different timestamps).
@@ -1066,10 +1259,61 @@ This is not available on routes as they have no timestamps.
 
 </section>
 
+<section id="transform" xreflabel="Transform"><title>Transform</title>
+<para>
+These options alter the data of trackpoints of a track but not add or remove trackpoints.
+And don't seem to fit any other category :)
+</para>
 <section><title>Apply DEM data</title>
 <para>
 If any DEM data is loaded, this will apply the DEM data to give the track elevation data.
+Two ways of applying DEM data are offered:
+<orderedlist>
+<listitem><para>Keep. Retains the existing elevation data of trackpoints and only those missing an elevation value are set.</para></listitem>
+<listitem><para>Overwrite. Elevation data are set on all trackpoints even if they already elevation values.</para></listitem>
+</orderedlist>
+</para>
+</section>
+<section><title>Smooth Missing Elevation data</title>
+<para>
+In various locations across the world, there are missing DEM values (AKA DEM Holes) from the SRTM data.
+This is particularly noticeable in mountainous areas.
+Two ways of applying elevation data to trackpoints that do not have elevation values are offered:
+<orderedlist>
+<listitem><para>Interpolated. Missing elevation data is interpolated between the previous and next known values.</para></listitem>
+<listitem><para>Flat. Elevation data is filled in from the last previously known value.</para></listitem>
+</orderedlist>
+</para>
+</section>
+<section>
+<title>Convert to Track or Route</title>
+<para>
+If this is a Route then it will convert it to a Track.
+</para>
+<para>
+If this is Track then convert it to a Route.
+</para>
+<note>
+<para>
+Converting from a Track to a Route may involve a loss of information, in particular timestamp values (hence you are required to confirm this operation before it happens).
 </para>
+</note>
+</section>
+<section>
+<title>Anonymize Times</title>
+<para>
+Timestamp information of a track can be shifted to be all offset from 1901-01-01.
+</para>
+<para>
+Thus the timestamps themselves will no longer reveal exactly when a track was taken.
+However the relative difference between the timestamps is kept thus one is still able to calculate some properties such as speeds along the track.
+</para>
+<note>
+<para>
+This is not available for routes, as they have no timestamps.
+</para>
+</note>
+</section>
 </section>
 
 <section><title>Export Track as GPX</title>
@@ -1117,6 +1361,30 @@ This is not available on routes.
 </note>
 </section>
 
+<section><title>Edit Trackpoint</title>
+<para>
+This opens the Trackpoint edit dialog. See <xref linkend="Trackpoint_edit"/>.
+</para>
+<note>
+<para>
+This is only enabled when a trackpoint is selected.
+</para>
+</note>
+</section>
+
+<section><title>Refine Route...</title>
+<para>
+This function allows to request a Routing Engine in order to refine a given route.
+By "refining" we mean computing all real intermediates points between some given major points.
+This could be useful to compute a trip giving only the wished important steps.
+</para>
+<note>
+<para>
+This is only available on routes.
+</para>
+</note>
+</section>
+
 <section><title>View Google Directions</title>
 <para>
 This option is only available on a track created using the Route Finder tool.
@@ -1141,6 +1409,7 @@ The record of the Google route is stored in the track's comment, so if the comme
 <listitem><para>Goto Waypoint. Same as the layer <link linkend="wp_goto">Goto Waypoint</link></para></listitem>
 <listitem><para>Delete All Waypoints. Same as the layer <link linkend="delete_all_waypoints">Delete All Waypoints</link></para></listitem>
 <listitem><para>Delete Waypoints from Selection. Same as the layer <link linkend="delete_selection_waypoints">Delete Waypoints from Selection</link></para></listitem>
+<listitem><para>List Waypoints. Opens a new dialog with the list. As described in the Aggregrate layer <xref linkend="waypoint_list"/></para></listitem>
 </itemizedlist>
 </section>
 
@@ -1164,6 +1433,20 @@ This centers the viewport on the selected waypoint.
 </para>
 </section>
 
+<section><title>Geotag Images...</title>
+<para>
+This opens the <link linkend="geotagging">Geotag Dialog</link> to allow Geotagging multiple images to the position of this waypoint.
+In this circumstance creation of waypoint options are disabled and only the options related to writing the EXIF information are available.
+</para>
+</section>
+
+<section><title>Transform</title>
+<para>
+Offers a subset of the track <xref linkend="transform"/> utilities.
+Currently only setting the altitude from DEM data methods are available.
+</para>
+</section>
+
 <section><title>Visit Webpage</title>
 <para>
 If the waypoint's comment (or description) starts with <literal>http:</literal> then this option is available and allows launching a web browser to go to the webpage.
@@ -1186,10 +1469,10 @@ Same as the layer <link linkend="new_wp">New Waypoint</link>.
 
 <section id="geotagging" xreflabel="Geotagging"><title>Version1.3+: Geotag Images</title>
 <para>
-This dialog allows geotagging images (normally taken with a digital camera) via interpolation against a specific track or all tracks in the TrackWaypoint layer - depending on how it is invoked.
+This dialog allows geotagging images (normally taken with a digital camera) against a specific waypoint or via interpolation against a specific track or all tracks in the TrackWaypoint layer - depending on how it is invoked.
 </para>
 <para>
-Images need to have an EXIF DATE_TIME_ORIGINAL (nearly always set by a camera). This timestamp is then used to find the location when the image(s) was taken by searching through the track(s) to find the nearest time - interpolating between points if necessary to set the location.
+When geotagging against tracks, images need to have an EXIF DATE_TIME_ORIGINAL (nearly always set by a camera). This timestamp is then used to find the location when the image(s) was taken by searching through the track(s) to find the nearest time - interpolating between points if necessary to set the location.
 </para>
 <note>
 <para>
@@ -1287,32 +1570,75 @@ Using many DEMs is CPU/memory intensive. Depending on your computer's capability
 
 <section id="Maps" xreflabel="Maps"><title>Maps Layer</title>
 <para>
-This layer provides a single map resource, you may have multiple map layers but only top one (if enabled) will be visible.
-You will need an open internet connection when you are downloading maps, but once downloaded they are available from the hard disk cache. When map are avaliable from the disk cache it is much faster and can be used offline.
+This layer provides a single map resource, you may have multiple map layers but only top one (if enabled) will be visible (subject to the Alpha compositing property).
 </para>
 <para>
-Some maps are continually improving over time (e.g. OpenStreetMap) and so in order to not to have to (re)download the data all the time &appname; employs a timeout method - <emphasis>Tile Age</emphasis> to determine whether to access the server. However a forced refresh for the current view can be made via the <guilabel>Reload All Onscreen Maps</guilabel> option.
+Some maps are continually improving over time (e.g. OpenStreetMap) thus &appname; employs a caching mechanism to avoid redownloading data (see <xref linkend="mapcache"/>).
+However a forced refresh for the current view can be made via the <guilabel>Reload All Onscreen Maps</guilabel> option or <keycap>Ctrl+F5</keycap>.
 </para>
+<formalpara><title>Online Map Tile Providers</title>
 <para>
-Inbuilt maps include various <ulink url="http://en.wikipedia.org/wiki/TerraServer-USA">Terraserver</ulink> (Primarily USA coverage) and <ulink url="http://openstreetmap.org/">OpenStreetMap (OSM)</ulink> ones and more:
+You will need an open internet connection when you are downloading maps these following map types, but once downloaded they are available from the hard disk cache. When map are avaliable from the disk cache it is much faster and can be used offline.
+Inbuilt maps include various <ulink url="http://openstreetmap.org/">OpenStreetMap (OSM)</ulink> ones and more:
 </para>
+</formalpara>
 <itemizedlist>
 <listitem><para>Bing Bird's Eye (Aerial) Maps (&appname; Version1.2+)</para></listitem>
-<listitem><para>Terraserver Topos</para></listitem>
-<listitem><para>Terraserver Aerials</para></listitem>
-<listitem><para>Terraserver Urban Areas</para></listitem>
 <listitem><para>OpenStreetMap (Mapquest) - This is the default (&appname; Version1.3+)</para></listitem>
 <listitem><para>OpenStreetMap (Mapnik)</para></listitem>
 <listitem><para>OpenStreetMap (Cycle)</para></listitem>
 <listitem><para>OpenStreetMap (Transport) (&appname; Version1.3+)</para></listitem>
+<listitem><para>OpenStreetMap (Humanitarian) (&appname; Version1.5+)</para></listitem>
 <listitem><para>NASA BlueMarble</para></listitem>
-<listitem><para>SpotMap (&appname; Version1.1+)</para></listitem>
 </itemizedlist>
 
 <para>
-&appname; can be configured to handle additional maps. See <xref linkend="extend_viking"/> for further detail.
+&appname; can be configured to handle additional online map resources. See <xref linkend="extend_viking"/> for further detail.
 </para>
 
+<formalpara><title>Offline Map Tilesets</title>
+<para>
+Some map types supported are for on disk tile formats:
+</para>
+</formalpara>
+<itemizedlist>
+<listitem>
+       <para>On Disk OSM Tile Format</para>
+       <para>This is equivalent to any map set with <emphasis>OSM</emphasis> Cache Layput.</para>
+</listitem>
+<listitem><para><ulink url="https://github.com/mapbox/mbtiles-spec">MBTiles File</ulink></para></listitem>
+<listitem><para><ulink url="http://wiki.openstreetmap.org/wiki/Meta_tiles">OSM Metatiles</ulink></para></listitem>
+</itemizedlist>
+<para>
+Of course you need to have acquired or generated these tilesets yourself.
+</para>
+
+<section><title>Map Layer Properties</title>
+<para>
+Configurable properties:
+</para>
+<itemizedlist>
+<listitem>
+       <para>Map Type. The kind of map this layer displays.</para>
+       <note><para>Map types are dependent on the current <xref linkend="projection"/> mode.</para></note>
+</listitem>
+<listitem><para>Maps Directory. Not applicable for MBTiles Map type since it is a single file.</para></listitem>
+<listitem><para>Cache Layout. Viking or OSM. See <xref linkend="mapcache"/>. Only applies to maps from online tile providers.</para></listitem>
+<listitem><para>Map File. Ony applicable for MBTiles Map type since it is a single file.</para></listitem>
+<listitem>
+       <para>Alpha. Control the Alpha value for transparency effect using a value between 0 and 255 with the default being 255 for a fully solid image.</para>
+       <para>Zero is fully transparent. A value of around 160 can be useful for blending views of multiple map layers (when applied to the upper most map layer).</para>
+</listitem>
+<listitem><para>Autodownload Maps. This can be useful to turn off when you are not online to avoid pointless download requests or may be keep a map in a 'historical' state.
+e.g. perhaps in case a current map rendering is broken.</para></listitem>
+<listitem><para>Autodownload Only Gets Missing Maps. Using this option avoids attempting to update already acquired tiles.
+This can be useful if you want to restrict the network usage, without having to resort to manual control. Only applies when <emphasis>Autodownload Maps</emphasis> is on.</para></listitem>
+<listitem><para>Zoom Level. Determines the method of displaying map tiles for the current zoom level.
+<emphasis>Viking Zoom Level</emphasis> uses the best matching level, otherwise setting a fixed value will always use map tiles of the specified value regardless of the actual zoom level.</para></listitem>
+</itemizedlist>
+</section><!-- Map Prop END -->
+
+
 <section><title>Layer Operations</title>
 <section><title>Download Missing Onscreen Maps</title>
 <para>
@@ -1331,6 +1657,30 @@ This requests map tiles only if the maps are older than the Tile Age preference.
 Force a refresh of all visible map tiles.
 </para>
 </section>
+
+<section><title>Download Maps in Zoom Levels</title>
+<para>
+This opens a dialog to enable requesting the download of maps for the region in the viewport over a specified number of zoom levels.
+The download method type can be specified to help limit the number of requests.
+</para>
+<warning>
+<para>
+There are some inbuilt limits to prevent downloading large amounts of map tiles.
+</para>
+<para>
+Please respect the usage policy of the tile set provider.
+Such as <ulink url="http://wiki.openstreetmap.org/wiki/Tile_usage_policy"><citetitle>OSM Tile Usage Policy</citetitle></ulink>.
+</para>
+</warning>
+<para>
+<figure>
+<title>Maps Download Dialog: Example</title>
+<screenshot>
+  <graphic format="PNG" fileref="figures/Maps_download_region_dialog.png"/>
+</screenshot>
+</figure>
+</para>
+</section>
 </section>
 
 
@@ -1359,9 +1709,11 @@ Here are some suggestions:
 Thus one can have a list of all your tracks, but groups can be shown or not using the relevant layers visibility checkbox.
 </para>
 
+<section><title>Layer Operations</title>
 <para>
-This layer only has one operation: <guilabel>New Layer</guilabel>
+The following are available on Aggregate Layers:
 </para>
+</section>
 
 <section><title>New Layer</title>
 <para>
@@ -1369,33 +1721,118 @@ Add a new layer of the selected type.
 </para>
 </section>
 
-</section><!-- End Agg -->
-
-<section id="GeoRef" xreflabel="GeoRef"><title>GeoRef Layer</title>
+<section id="sort_items" xreflabel="Sort"><title>Sort</title>
 <para>
-This layer allows one to use any image as a map. You will need to tell it how to align the map to a position in the world and the scale of map.
+The list within the treeview can be sorted.
 </para>
-<section><title>Layer Operations</title>
-<section><title>Zoom to Fit Map</title>
 <para>
-Automatically set a zoom level to see the entire map coverage.
+Currently alphabetical (A to Z or Z to A) sorts are available, since only the name can be seen in the treeview.
 </para>
 </section>
 
-<section><title>Goto Map Center</title>
+<section id="track_list" xreflabel="Track List"><title>Track List</title>
+<para>
+Selecting this opens a dialog listing all the tracks in a table along side statistics such as track length and maximum speed.
+Each column header is clickable and will reorder the list according to that particular column.
+</para>
+<para>
+This table may be invoked from a variety of different layer levels and will then list only the relevant tracks (and/or routes).
+<itemizedlist>
+<listitem><para>Aggregate Layer: Lists Tracks and Routes and the TrackWaypoint Layer they are in</para></listitem>
+<listitem><para>TrackWaypoint Layer: Lists Tracks and Routes</para></listitem>
+<listitem><para>TrackWaypoint Track sublayer: Lists Tracks only</para></listitem>
+<listitem><para>TrackWaypoint Route sublayer: Lists Routes only</para></listitem>
+</itemizedlist>
+</para>
+<para>
+<figure>
+<title>Track List Dialog: Example</title>
+<blockquote>
+<para>
+This is showing all tracks and routes (although there are no actual routes here!) in multiple TrackWaypoint layers, that has been sorted by height.
+Note that routes will not have timestamps or speeds, but may have elevations and should have some distance!
+</para>
+</blockquote>
+<screenshot>
+  <graphic format="PNG" fileref="figures/LayersTracksList.png"/>
+</screenshot>
+</figure>
+</para>
 <para>
-Center the viewport on this map.
+Hovering the mouse over an entry will show a tooltip of the comment or description if it is available.
 </para>
+<para>
+Each entry in the track list can be selected and on mouse right click offers these options:
+<itemizedlist>
+<listitem><para>View. Move the viewport to the area of the item and highlight it.</para></listitem>
+<listitem><para>Statistics. Opens the Properties dialog on the <xref linkend="track_statistics"/> tab. Note this will close the track list dialog.</para></listitem>
+</itemizedlist>
+</para>
+</section>
 
+<section id="waypoint_list" xreflabel="Waypoint List"><title>Waypoint List</title>
+<para>
+Selecting this opens a dialog listing all the waypoints to give a overview of the waypoint information.
+Each column header is clickable and will reorder the list according to that particular column.
+</para>
+<para>
+This table may be invoked from a variety of different layer levels and will then list only the relevant waypoints.
+<itemizedlist>
+<listitem><para>Aggregate Layer: Lists Waypoints and the TrackWaypoint Layer they are in</para></listitem>
+<listitem><para>TrackWaypoint Layer: : Lists Waypoints</para></listitem>
+<listitem><para>TrackWaypoint Waypoint sublayer: Lists Waypoints</para></listitem>
+</itemizedlist>
+</para>
+<para>
+<figure>
+<title>Waypoint List Dialog: Example</title>
+<blockquote>
+<para>
+This was invoked on a TrackWaypoint layer and shows all waypoints from that single layer. It has been sorted by the symbols.
+</para>
+</blockquote>
+<screenshot>
+  <graphic format="PNG" fileref="figures/WaypointsList.png"/>
+</screenshot>
+</figure>
+</para>
+<para>
+Hovering the mouse over an entry will show a tooltip of the description if it is available.
+</para>
+<para>
+Each entry in the list can be selected and on mouse right click offers these options:
+<itemizedlist>
+<listitem><para>View. Move the viewport to the area of the item and highlight it.</para></listitem>
+<listitem><para>Properties. This will open the properties dialog. Note this will close the waypoint list dialog.</para></listitem>
+<listitem><para>Show Picture. If enabled, this will open the associated image in an external Image Viewer program.</para></listitem>
+</itemizedlist>
+</para>
 </section>
-<section><title>Export to World File</title>
+
+<section id="vis_options" xreflabel="Visibility Options"><title>Visibility Options</title>
 <para>
-Opens a file save dialog to save the scale and position information as a <ulink url="http://en.wikipedia.org/wiki/World_file">World File</ulink>.
+This offers a quick way to set all the visibilities of each item within the containing layer, rather than having to change each one individually.
+<itemizedlist>
+<listitem><para>Show All. Ensures all items are set to be visible.</para></listitem>
+<listitem><para>Hide All. Ensures all items are set to be invisible. This is useful for then turning on single items afterwards so the display is not cluttered.</para></listitem>
+<listitem><para>Toggle. Inverts the visibility status of each item.</para></listitem>
+</itemizedlist>
 </para>
 </section>
+
+<section id="search_date" xreflabel="Search by Date"><title>Search by Date</title>
+<para>
+This opens calendar dialog to select a date to search by within this Aggregate layer.
+The first item that is found on that date will be selected.
+Tracks are searched first in preference over waypoints.
+</para>
 </section>
 
-</section><!-- End GeoRef -->
+</section><!-- End Agg -->
+
+<xi:include href="georef_layer.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<xi:include href="mapnik_rendering_layer.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
 <section id="Coordinate" xreflabel="Coordinate"><title>Coordinate Layer</title>
 <para>
@@ -1444,6 +1881,11 @@ This is the default tool.
 <para>
 This mode can also be entered by the keyboard shortcut <keycap>Ctrl+Shift+P</keycap>
 </para>
+<para>
+Double clicking the left mouse button will zoom the map in.
+<keycap>Shift</keycap> + double clicking the left mouse button will zoom the map out.
+Double clicking the right mouse button will also zoom the map out.
+</para>
 </section>
 
 <section><title>Zoom</title>
@@ -1462,6 +1904,12 @@ This mode can also be entered by the keyboard shortcut <keycap>Ctrl+Shift+Z</key
 <para>
 <keycap>Shift</keycap> (and hold) + left mouse button: Draws a bounding box area on which to zoom in. The zoom action is performed when the left mouse button is released.
 </para>
+<para>
+<keycap>Shift</keycap> + left click button: Jump Zoom In by up to factor of 3 standard zooms.
+</para>
+<para>
+<keycap>Shift</keycap> + right click button: Jump Zoom Out by up to factor of 3 standard zooms.
+</para>
 </section>
 
 <section><title>Ruler</title>
@@ -1533,6 +1981,31 @@ This operates in exactly the same way as the <link linkend="track_create">Create
 <para>
 One must finish the current route to be able to create another route.
 </para>
+<para>
+One can switch between the <link linkend="route_create">Create Route</link> and <link linkend="route_finder">Route Finder</link> tools while editing routes.
+</para>
+</section>
+
+<section id="route_finder" xreflabel="Route Finder"><title>Create Route Using the Route Finder</title>
+<para>
+Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/route_finder_18.png"/></guiicon>
+</para>
+<para>
+Requires an internet connection.
+Left click to create a new trackpoint.
+If it's the initial trackpoint you will be asked to enter a name for the route, otherwise the default routing engine will be queried to find a route to the new trackpoint.
+Right click or <keycap>Backspace</keycap>: remove the last added route.
+</para>
+<para>
+<keycap>Escape</keycap>: to finish route creation.
+Finishing the track is also available via the right click <xref linkend="TrackWaypoint"/> and track menus.
+</para>
+<para>
+One must finish the current route to be able to create another route.
+</para>
+<para>
+One can switch between the <link linkend="route_create">Create Route</link> and <link linkend="route_finder">Route Finder</link> tools while editing routes.
+</para>
 </section>
 
 <section><title>Edit Waypoint</title>
@@ -1558,10 +2031,39 @@ Left click near a trackpoint (in screen pixel terms) to bring up the Track Point
 Whilst the edit dialog is already open, left click again and drag enables moving of the trackpoint.
 If <keycap>Ctrl</keycap> is held at the same time, it will jump the new trackpoint position to a nearby existing trackpoint.
 </para>
+<section id="Trackpoint_edit" xreflabel="Edit Trackpoint Dialog"><title>Edit Trackpoint Dialog</title>
 <para>
-Options in the Track Point Edit dialog include: change position, go to next, go to previous, delete, insert (halfway to next trackpoint) and splitting the track.
+Editing options in the Trackpoint Edit dialog include:
+<itemizedlist>
+<listitem><para>Edit the trackpoint name</para></listitem>
+<listitem><para>Changing raw lat/long position and altitude</para></listitem>
+<listitem><para>Forward (go to the next trackpoint)</para></listitem>
+<listitem><para>Back (go to the previous trackpoint)</para></listitem>
+<listitem><para>Delete</para></listitem>
+<listitem><para>Insert. Inserts a point halfway to next trackpoint</para></listitem>
+<listitem><para>Split. <xref linkend="trkpt_split"/></para></listitem>
+</itemizedlist>
+</para>
+<para>
+Several fields are read only for reference purposes, values are shown if the trackpoint has such information:
+<itemizedlist>
+<listitem><para>Time.</para></listitem>
+<listitem><para>Speed and course.</para></listitem>
+<listitem><para>'Between' values: Speed, Time Difference and Distance Difference. When moving between trackpoints (via the Back and Forward buttons) these values are calculated.</para></listitem>
+<listitem><para>GPS precision factors.</para></listitem>
+</itemizedlist>
+</para>
+<para>
+<figure>
+<title>Trackpoint Edit Dialog: Example</title>
+<screenshot>
+  <graphic format="PNG" fileref="figures/Trackpoint_edit_dialog.png"/>
+</screenshot>
+</figure>
+One must have been going downhill here to get a reasonable speed by bicycle!
 </para>
 </section>
+</section>
 
 <section><title>Show Picture</title>
 <para>
@@ -1574,25 +2076,9 @@ For Linux you can override this with the setting in the <xref linkend="prefs_ext
 </para>
 </section>
 
-<section id="route_finder" xreflabel="Route Finder"><title>Route Finder</title>
-<para>
-Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/route_finder_18.png"/></guiicon>
-</para>
-<para>Creates a track using default routing engine between two points.
-Requires an internet connection. Click one point, then click another to
-create a track.
-</para>
-<para>
-Right-click: undo last routing (only track removed - not any waypoints)
-</para>
-<para>
-<keycap>Ctrl</keycap>: continue previous track
-</para>
-</section>
-
 </section>
 
-<section><title>Georef Map Layer Tools</title>
+<section id="georef_tools"><title>Georef Map Layer Tools</title>
 <para>
 You must have a <xref linkend="GeoRef"/> Map Layer selected to use these tools.
 </para>
@@ -1639,7 +2125,7 @@ The possible methods to redownload one or more tiles are:
 </para>
 <formalpara><title>Map Tile Information</title>
 <para>
-By right clicking on viewport you can see the tile properties of the that location for the current map layer and current zoom level.
+By right clicking on viewport and selecting <guimenu>Show Tile Information</guimenu> you can see the tile properties of this location for the current map layer and current zoom level.
 This includes the remote source URL for the tile and the cached version on the local filesystem with timestamp details.
 </para>
 </formalpara>
@@ -1664,6 +2150,21 @@ Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic filere
 <para>
 Click to download and import a DEM file.
 </para>
+<formalpara><title>DEM File Information</title>
+<para>
+By right clicking on viewport and selecting <guimenu>Show DEM File Infomation</guimenu> you can see the file properties of the DEM file for this location.
+This includes the remote source URL for the file and the cached version on the local filesystem with timestamp details.
+</para>
+</formalpara>
+<para>
+<figure>
+<title>DEM File Info Dialog: Example</title>
+<screenshot>
+  <graphic format="PNG" fileref="figures/DEM_file_info_dialog.png"/>
+</screenshot>
+</figure>
+This is for block 51N, 003W - covering Bristol in the UK.
+</para>
 </section>
 
 <section><title>Webtools</title>
@@ -1722,12 +2223,18 @@ This feature is called <guilabel>Webtools</guilabel>. It is also known as Extern
 <para>You can set the <emphasis>Home</emphasis> location directly by inputting the latitude and longitude in decimal degrees.
 </para>
 </section>
+<section><title>Time Display</title>
+<para>This controls the reference timezone that times are shown in.</para>
+<para><emphasis>Locale</emphasis> is the current user's system preference. This was how all times were shown up to version 1.5.</para>
+<para><emphasis>World</emphasis> will attempt to determine the timezone at an object's position.</para>
+<para><emphasis>UTC</emphasis> enforces this standard timezone.</para>
+</section>
 <section><title>Tile's age</title>
 <para>This age is used to decided wether or not a new request to tile server must be done.
 </para>
 <para>Changing this value, you will increase or decrese the network load.</para>
 </section>
-<section><title>Default maplayer directory</title>
+<section><title>Default map layer directory</title>
 <para>This property sets the default directory of the tiles cache.
 This value is used when you create a new map layer.
 </para>
@@ -1744,6 +2251,16 @@ Generally if you have a system with lots of memory it's recommended to increase
 <section><title>KML Export Units</title>
 <para>Allows setting the units used when saved as the KML file type, such as Metric or Statue units</para>
 </section>
+<section><title>GPX Track Order</title>
+<para>
+       Other software may display tracks in a particular order (often the order saved into the file).
+       This allows you to control the order they are saved when exporting to a GPX file.
+</para>
+</section>
+<section><title>GPX Waypoint Symbols</title>
+<para>Some GPS devices require waypoint symbols to be in a particular case.</para>
+<para>E.g. On a Garmin Oregon 450 they must be in <emphasis>Title Case</emphasis> to be recognized.</para>
+</section>
 <section><title>Image Viewer (Not Windows)</title>
 <para>Allows setting the program used to view images associated with Waypoints.</para>
 <para>By default this is set to <application>xdg-open</application> which should open the system's default image viewer, however this can be overridden with this setting.</para>
@@ -1757,6 +2274,14 @@ Generally if you have a system with lots of memory it's recommended to increase
 <listitem><para>Some other user defined program</para></listitem>
 </itemizedlist>
 </section>
+<section><title>GPSBabel</title>
+<para>This allows setting the specific location of GPSBabel.</para>
+<para>&appname; will need to be restarted for this setting to take effect.</para>
+</section>
+<section><title>Auto Read World Files</title>
+<para>If this is on, when a new image is selected for the GeoRef layer then the associated world file will be read to find the scale and positional properties.</para>
+<para>The associated file is based on filename patterns; e.g. if the image is <filename>filename.jpg</filename> - then the world file may be <filename>filename.jpgw</filename> or <filename>filename.jgw</filename></para>
+</section>
 </section>
 
 <section id="prefs_osm" xreflabel="OpenStreetMap Traces Preferences"><title>OpenStreetMap Traces</title>
@@ -1770,6 +2295,33 @@ Your OSM password will be stored in plain text.
 </section>
 </section>
 
+<section id="prefs_mapnik" xreflabel="Mapnik Preferences"><title>Mapnik</title>
+<note>
+<para>If any changes to these settings are made, you will need to restart &appname; to make them be applied.
+</para>
+</note>
+<section><title>Plugins Directory</title>
+<para>The location of Mapnik plugins. An attempt is made to automatically determine the initial value,
+ however if this is wrong or Mapnik is upgraded then the directory can be set here.</para>
+</section>
+<section><title>Fonts Directory</title>
+<para>
+The location of fonts for use with Mapnik. Normally it is best to simply use the System's font directory.
+</para>
+</section>
+<section><title>Recurse Fonts Directory</title>
+<para>Load fonts in any sub-directories of the main font directory.</para>
+</section>
+<section><title>Rerender Timeout</title>
+<para>The time in hours before any tile is rerendered.</para>
+<para>This is useful in case the underlying source data for the tiles changes (e.g. OSM data is continually evovling).
+ &appname; normally has no way of knowing when the data has changed, so this simple timeout method is provided to maintain consistency of the tile images.</para>
+</section>
+<section><title>CartoCSS</title>
+<para>This allows setting the specific location of the <emphasis>carto</emphasis> executable.</para>
+</section>
+</section>
+
 <section id="prefs_routing" xreflabel="Routing Preferences"><title>Routing</title>
 <section><title>Routing engine</title>
 <para>You can select the routing engine used by default, ie by features that do not propose a live selection, like <xref linkend="route_finder"/>.</para>
@@ -1802,6 +2354,28 @@ Your OSM password will be stored in plain text.
 </section>
 </section>
 
+<section id="prefs_toolbar" xreflabel="Toolbar Preferences"><title>Toolbar</title>
+<section><title>Append to Menu</title>
+<para>Allows setting the toolbar on the same vertical space as the menu, thus increasing vertical space for the map.</para>
+</section>
+<section><title>Icon Size</title>
+<para>Allows configuration of the icon size, including overiding the system's default preference to the setting desired just for &appname;</para>
+</section>
+<section><title>Icon Style</title>
+<para>Allows configuration of the icon style, including overiding the system's default preference to the setting desired just for &appname;</para>
+</section>
+<section id="prefs_toolbar_customize" xreflabel="Customize Toolbar"><title>Customize</title>
+<para>Opens the Customize Toolbar dialog.</para>
+<para>From this dialog the items in the toolbar can be added, removed and reordered. Reordering of items is performed by drag and drop.</para>
+<figure>
+<title>Customize Toolbar dialog</title>
+<screenshot>
+  <graphic format="PNG" fileref="figures/customize_toolbar_dialog.png"/>
+</screenshot>
+</figure>
+</section>
+</section>
+
 </section>
 
 <!-- HOWTOS-->
@@ -2347,9 +2921,9 @@ Accept: */*
 </programlisting>
 </para>
       <para>You can find more examples in the documentation part of the distribution.</para>
-      <section>
+      <section id="map_source" xreflabel="Map Source Extensions">
         <title>Map Source</title>
-        <para>It is possible to add new map's sources. The file is <filename>~/.viking/maps.xml</filename> for <trademark>UNIX</trademark> like systems and <filename>C:\Documents and Settings\<replaceable>username</replaceable>\.viking\maps.xml</filename> on <trademark>Windows XP</trademark>.</para>
+        <para>It is possible to add new map's sources. The file is <filename>~/.viking/maps.xml</filename> for <trademark>UNIX</trademark> like systems, <filename>C:\Documents and Settings\<replaceable>username</replaceable>\.viking\maps.xml</filename> on <trademark>Windows XP</trademark> or <filename>C:\Users\<replaceable>username</replaceable>\.viking\maps.xml</filename> on <trademark>Windows 7</trademark> onwards.</para>
         <para>An example of the file is in the distribution <filename>doc/examples/maps.xml</filename>. Further examples and values are online in the <ulink url="http://sourceforge.net/apps/mediawiki/viking/index.php?title=Maps">Maps Wiki</ulink></para>
 
         <para>The <classname>VikSlippyMapSource</classname> allows to declare any map's source working like OpenStreetMap. It supports the following properties:
@@ -2358,6 +2932,10 @@ Accept: */*
               <term>id</term>
               <listitem><para>this is an integer and should be unique as it used to identify the map source</para></listitem>
             </varlistentry>
+            <varlistentry>
+              <term>name</term>
+              <listitem><para>a string (should be unique) that is used for the OSM style cache directory name when the Map Cache directory is the default (<filename>~/.viking-maps</filename>)</para></listitem>
+            </varlistentry>
             <varlistentry>
               <term>label</term>
               <listitem><para>the text displayed in the map's source selection dialog</para></listitem>
@@ -2368,47 +2946,148 @@ Accept: */*
             </varlistentry>
             <varlistentry>
               <term>url</term>
-              <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 3 "%d" fields for X, Y and Z (zoom level) (eg. "/%d/%d/%d.png")</para></listitem>
+              <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 3 "%d" fields for Z, X and Y (in that order) (eg. "/%d/%d/%d.png")</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>zoom-min (optional)</term>
+              <listitem><para>The minimum zoom value supported by the tile server. The Default is 0 if not specified.</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>zoom-max (optional)</term>
+              <listitem>
+                 <para>The maximum zoom value supported by the tile server. The Default is 18 if not specified.</para>
+                 <para>See <ulink url="http://wiki.openstreetmap.org/wiki/Zoom_levels">Zoom Levels</ulink></para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lat-min (optional)</term>
+              <listitem><para>The minimum latitude value in degrees supported by the tile server. The Default is -90 degrees if not specified.</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lat-max (optional)</term>
+              <listitem><para>The maximum latitude value in degrees supported by the tile server. The Default is 90 degrees if not specified.</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lon-min (optional)</term>
+              <listitem><para>The minimum longitude value in degrees supported by the tile server. The Default is -180 degrees if not specified.</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lon-max (optional)</term>
+              <listitem><para>The maximum longitude value in degrees supported by the tile server. The Default is 180 degrees if not specified.</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>file-extension (optional)</term>
+              <listitem>
+                <para>The file extension of the files on disk. The default is <emphasis>.png</emphasis></para>
+                <para>If the tile source URL ends in something other than .png, then this parameter will need to match it.</para>
+                <para>This can also be useful in reading a tileset from other software which may name tiles in an alternative form,
+                      e.g. for Mobile Atlas creator it names them <emphasis>.png.tile</emphasis></para>
+                <note><para>The file types actually usable are those supported by GDK Pixbuf Library, which includes at least PNG and JPEG.</para></note>
+                <note><para>Remember to include the beginning <emphasis>'.'</emphasis> when specifying this parameter.</para></note>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>use-direct-file-access (optional)</term>
+              <listitem>
+                <para>Only use files on disk. The default is <emphasis>FALSE</emphasis></para>
+                <para>This can also be useful for tilesets already on disk as it will avoid attempting to download any tiles.</para>
+                <para>Thus with this type the <emphasis>hostname</emphasis> and <emphasis>url</emphasis> parameters are not necessary and are ignored.</para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>switch-xy (optional)</term>
+              <listitem>
+                <para>Swap the X,Y values around in the URL parametrized ordering.</para>
+                <para>The default is false.</para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>check-file-server-time (optional)</term>
+              <listitem>
+                <para>Sends the timestamp of the tile to the server, so the server can decide whether it should send a new tile or not.</para>
+                <para>The default is false.</para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>use-etag (optional)</term>
+              <listitem>
+                <para>Use and compare the <ulink url="http://en.wikipedia.org/wiki/HTTP_ETag">ETag</ulink> value in determining whether to download a newer tile. The default is false.</para>
+                <para>The ETag value is stored in a separate file in the same directory as the tile to enable checking the value across multiple runs of the program.</para>
+              </listitem>
             </varlistentry>
           </variablelist>
         </para>
-        <para>The <classname>VikTmsMapSource</classname> allows to declare any TMS service. It supports the following properties:
+        <para>The <classname>VikTmsMapSource</classname> allows to declare any TMS service. It supports the following properties (as per VikSlippyMapSource above):
           <variablelist>
             <varlistentry>
-              <term>id</term>
-              <listitem><para>this is an integer and should be unique as it used to identify the map source</para></listitem>
+              <term>id</term><listitem><para></para></listitem>
             </varlistentry>
             <varlistentry>
-              <term>label</term>
-              <listitem><para>the text displayed in the map's source selection dialog</para></listitem>
+              <term>label</term><listitem><para></para></listitem>
             </varlistentry>
             <varlistentry>
-              <term>hostname</term>
-              <listitem><para>the server's hostname (eg. "tile.openstreetmap.org")</para></listitem>
+              <term>hostname</term><listitem><para></para></listitem>
             </varlistentry>
             <varlistentry>
-              <term>url</term>
-              <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 3 "%d" fields for X, Y and Z (zoom level) (eg. "/%d/%d/%d.png")</para></listitem>
+              <term>url</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>check-file-server-time (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>zoom-min (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>zoom-max (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lat-min (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lat-max (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lon-min (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lon-max (optional)</term><listitem><para></para></listitem>
             </varlistentry>
           </variablelist>
         </para>
-        <para>The <classname>VikWmscMapSource</classname> allows to declare any WMS or WMS-C service. It supports the following properties:
+        <para>The <classname>VikWmscMapSource</classname> allows to declare any WMS or WMS-C service. It supports the following properties  (as per VikSlippyMapSource above):
           <variablelist>
             <varlistentry>
-              <term>id</term>
-              <listitem><para>this is an integer and should be unique as it used to identify the map source</para></listitem>
+              <term>id</term><listitem><para></para></listitem>
             </varlistentry>
             <varlistentry>
-              <term>label</term>
-              <listitem><para>the text displayed in the map's source selection dialog</para></listitem>
+              <term>label</term><listitem><para></para></listitem>
             </varlistentry>
             <varlistentry>
-              <term>hostname</term>
-              <listitem><para>the server's hostname (eg. "tile.openstreetmap.org")</para></listitem>
+              <term>hostname</term><listitem><para></para></listitem>
             </varlistentry>
             <varlistentry>
-              <term>url</term>
-              <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 4 "%s" fields for bounding box coordinates (eg. "/coord=%s,%s,%s,%s")</para></listitem>
+              <term>url</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>check-file-server-time (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>zoom-min (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>zoom-max (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lat-min (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lat-max (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lon-min (optional)</term><listitem><para></para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>lon-max (optional)</term><listitem><para></para></listitem>
             </varlistentry>
           </variablelist>
         </para>
@@ -2509,6 +3188,10 @@ Accept: */*
               <term>url-stop-ll</term>
               <listitem><para>the part of the URL setting the end point location, parametrized in the spirit of C printf format, with 2 "%s" for coordinates (eg. "&amp;stop=%s,%s")</para></listitem>
             </varlistentry>
+            <varlistentry>
+              <term>url-via-ll</term>
+              <listitem><para>the part of the URL setting via point location, parametrized in the spirit of C printf format, with 2 "%s" for coordinates (eg. "&amp;via=%s,%s")</para></listitem>
+            </varlistentry>
             <varlistentry>
               <term>url-start-dir</term>
               <listitem><para>the part of the URL setting the starting point location for direction based routing, parametrized in the spirit of C printf format, with one "%s" for direction (eg. "&amp;start=%s")</para>
@@ -2561,6 +3244,7 @@ Accept: */*
                 <para>A = center lAtitude of the current view</para>
                 <para>O = center lOngitude of the current view</para>
                 <para>Z = OSM Zoom value of the current view. See <ulink url="http://wiki.openstreetmap.org/wiki/Zoom_levels">Zoom Levels</ulink></para>
+                <para>S = A user specified input string requested from the user via a dialog box</para>
                 <para>Thus for the url example above then the format code should be <emphasis>AO</emphasis></para>
               </listitem>
             </varlistentry>
@@ -2572,6 +3256,20 @@ Accept: */*
                 <para>Possible values such as 'kml', 'mapsource' etc.. can be used. See <ulink url="http://www.gpsbabel.org/capabilities.html">GPSBabel File Formats</ulink> for the full list.</para>
               </listitem>
             </varlistentry>
+            <varlistentry>
+              <term>babel_filter_args</term>
+              <listitem>
+                <para>This value is passed on for the filter arguments interfacing with GPSBabel.</para>
+                <para>E.g. "-x nuketypes,routes" can be used to filter all routes from the results.</para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>input_label</term>
+              <listitem>
+                <para>This value is used when requesting input from the user.</para>
+                <para>It is the label of the text input box.</para>
+              </listitem>
+            </varlistentry>
           </variablelist>
         </para>
       </section>
@@ -2603,31 +3301,123 @@ Accept: */*
          <listitem>
            <para>maps_real_min_shrinkfactor=0.0039062499</para>
          </listitem>
+         <listitem>
+           <para>maps_scale_inc_down=4</para>
+         </listitem>
+         <listitem>
+           <para>maps_scale_inc_up=2</para>
+         </listitem>
+         <listitem>
+           <para>maps_scale_smaller_zoom_first=true</para>
+         </listitem>
+         <listitem>
+           <para>mapnik_buffer_size=128 (in pixels)</para>
+         </listitem>
          <listitem>
            <para>background_max_threads=10</para>
          </listitem>
+         <listitem>
+           <para>background_max_threads_local=<emphasis>Number of CPUs</emphasis></para>
+         </listitem>
          <listitem>
            <para>window_menubar=true</para>
          </listitem>
+         <listitem>
+           <para>window_copy_centre_full_format=false</para>
+         </listitem>
          <listitem>
            <para>version_check_period_days=14</para>
          </listitem>
+         <listitem>
+           <para>trackwaypoint_start_end_distance_diff=100.0</para>
+         </listitem>
+         <listitem>
+           <para>gps_statusbar_format=GSA</para>
+           <para>This string is in the Message Format Code</para>
+         </listitem>
+         <listitem>
+           <para>trkpt_selected_statusbar_format=KEATDN</para>
+           <para>This string is in the Message Format Code</para>
+         </listitem>
+         <listitem>
+           <para>utils_nearest_tz_factor=1.0</para>
+         </listitem>
+         <listitem>
+           <para>viewport_history_size=20</para>
+         </listitem>
+         <listitem>
+           <para>viewport_history_diff_dist=500</para>
+           <para>In metres.</para>
+           <para>
+             Go Back or Go Forward requests over this range from the last history location will move back to that position.
+             If within this range it will skip over this location and move on to the next saved history location.
+           </para>
+         </listitem>
+         <listitem>
+           <para>external_diary_program=rednotebook</para>
+           <para>Or in Windows it uses <filename>C:/Progra~1/Rednotebook/rednotebook.exe</filename> - This string value must use Unix separators and not have spaces.</para>
+         </listitem>
+         <listitem>
+           <para>external_astro_program=stellarium</para>
+           <para>Or in Windows use <filename>C:/Progra~1/Stellarium/stellarium.exe</filename> - This string value must use Unix separators and not have spaces.
+                 Further note due to this <ulink url="https://bugs.launchpad.net/stellarium/+bug/1410529">Bug</ulink> in Stellarium means this does not actually work. You will need to reference a shortcut, rather than the executable directly.</para>
+         </listitem>
        </orderedlist>
+
+       <section>
+          <title>Message Format Code</title>
+         <para>Currently for ease of implementation the message format code is a string of characters.</para>
+          <para>Each character represents what should be inserted in relation to a Trackpoint.</para>
+         <para>One day it might evolve into something more user friendly with a frontend to control it, perhaps allowing arbitary text too. However for now at least some control is offered :)</para>
+         <para>
+          <variablelist>
+            <varlistentry>
+              <term>Character Code</term>
+              <listitem>
+              <para>G = Some text to display at the start of the message - <emphasis>GPSD</emphasis></para>
+              <para>K = Some text to display at the start of the message - <emphasis>Trkpt</emphasis></para>
+              <para>A = Altitude of a Trackpoint</para>
+              <para>S = Speed of a Trackpoint</para>
+              <para>B = Vertical Speed (Climb)</para>
+              <para>C = Course of a Trackpoint</para>
+              <para>L = Location of a Trackpoint</para>
+              <para>T = Time of a Trackpoint</para>
+              <para>M = Time diff of a Trackpoint from the previous trackpoint</para>
+              <para>X = Number of satellites used in the trackpoint fix</para>
+              <para>D = Distance of the trackpoint from the start of a track (following along the track)</para>
+              <para>F = Distance of the trackpoint from the finish (end) of a track (following along the track)</para>
+              <para>P = Distance difference of the trackpoint from the previous trackpoint</para>
+              <para>N = Name of track to which the trackpoint belongs</para>
+              <para>E = Name of the trackpoint</para>
+             </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>Output Notes</term>
+              <listitem>
+             <para>If the output has <emphasis>*</emphasis> after it, then the value has been calculated via interpolation (such as speed when the Trackpoint does not contain a speed value).</para>
+             <para>If the output has <emphasis>**</emphasis> after it, then difficulties were encountered in trying to work the value so probably a default of 0 will be shown.</para>
+             </listitem>
+            </varlistentry>
+          </variablelist>
+         </para>
+       </section>
+
       </section>
 
+    <section id="config_keys" xreflabel="Keyboard Shortcuts File">
+      <title>Keyboard Shortcuts (Accelerator) Settings</title>
+      <para>This is held in the file <filename>~/.viking/keys.rc</filename></para>
+      <para>It is in the standard GTK Accelerator map format. Values are automatically read in and saved between &app; sessions.</para>
+      <para>This file is not intended to be manually edited, but since it is a plain text file it can be changed if desired.</para>
+    </section>
+
 </section>
 <!-- End of Extending Viking -->
 
-<section><title>Dependencies</title>
-<formalpara><title>gpsbabel</title>
-<para>&appname; uses <ulink url="http://gpsbabel.org/">GPSBabel</ulink> to convert data.</para>
-</formalpara>
-<formalpara><title>unbuffer (optional)</title>
-<para>&appname; uses unbuffer command to optimize conversion calls.</para>
-</formalpara>
-<formalpara><title>gpsd (optional - but not <trademark>Windows</trademark>)</title>
-<para>&appname; can use <ulink url="http://www.catb.org/gpsd/">gpsd</ulink> to get the current location.</para>
-</formalpara>
-</section>
+<xi:include href="recommends.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<xi:include href="commandline.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
+
+<xi:include href="attribution.xml" xmlns:xi="http://www.w3.org/2001/XInclude"/>
 
 </article>