]> git.street.me.uk Git - andy/viking.git/blobdiff - help/C/viking.xml
[DOC] Update help with text and images for multi-layer TrackWaypoint lists and statis...
[andy/viking.git] / help / C / viking.xml
index 43c7f228600f7a360d4f92b9cb906d188ea05baa..e0a016aad63328070397892a2f88b67e0b65c27f 100644 (file)
@@ -3,9 +3,9 @@
 "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
   <!ENTITY appname          "Viking">
   <!ENTITY app "<application>Viking</application>">
-  <!ENTITY appversion   "1.3">
-  <!ENTITY manrevision  "0.2">
-  <!ENTITY date "September 2012">
+  <!ENTITY appversion   "1.4">
+  <!ENTITY manrevision  "1.4">
+  <!ENTITY date "February 2013">
 ]>
 <!--
       (Do not remove this comment block.)
@@ -24,7 +24,7 @@
     </abstract>
 
     <copyright>
-      <year>2012</year>
+      <year>2013</year>
       <holder>Guilhem Bonnefille</holder>
       <holder>Rob Norris</holder>
     </copyright>
@@ -179,12 +179,18 @@ View, create and update Geotagged Images (using EXIF data).
 &appname; is under continual improvement: see the potential areas in the <ulink url="http://sourceforge.net/apps/mediawiki/viking/index.php?title=Main_Page#TODO_.2F_Ideas"><citetitle>Roadmap / Wishlist</citetitle></ulink>:
 </para>
 </note>
+<figure>
+<title>Screenshot: OSM Cycle Map and Many Tracks</title>
+<screenshot>
+  <graphic format="JPG" fileref="figures/Viking-OSM-CycleMap-ManyTracks.jpg"/>
+</screenshot>
+</figure>
 </section>
 
 <section><title>General Concepts</title>
-<section><title>Layers</title>
+<section id="gc_layers" xreflabel="Layers"><title>Layers</title>
 <para>
-'Layers' is concept one may know from powerful graphics editors such as <application>Photoshop</application> or <application>GIMP</application>.
+<emphasis>Layers</emphasis> is concept one may know from powerful graphics editors such as <application>Photoshop</application> or <application>GIMP</application>.
 Instead of putting all the data on the same level, it is stacked (i.e. layered) with different data over one another.
 This can be useful for analysis and general handling of various sets of data.
 </para>
@@ -197,12 +203,12 @@ to create the appearance of partial transparency.
 By controlling this value one can see data below it in the layer heirarchy for interesting effects.
 </para>
 </section>
-<section><title>Layers Panel</title>
+<section id="gc_layers_panel" xreflabel="Layers Panel"><title>Layers Panel</title>
 <para>
 The panel on the left is called the <emphasis role="bold">layers panel</emphasis>.
 It determines which layers and sublayers (such as tracks and waypoints)
-are shown, and the order in which they are drawn. Layers list on the
-top of the layers panel are drawn last. You can change the order by
+are shown, and the order in which they are drawn. Layers on the
+top of the layers panel list are drawn last. You can change the order by
 drag and drop, or by selecting a layer and using the up and down
 buttons at the bottom of the layers panel.
 </para>
@@ -220,6 +226,27 @@ The main &appname; area where the layer data is drawn, is called the <emphasis r
 <listitem><para>The zoom factor</para></listitem>
 <listitem><para>The location of the mouse pointer (and potentially height information if DEM data is available)</para></listitem>
 </itemizedlist>
+<para>When creating a track/route, the statusbar also displays some information about the track/route.</para>
+<figure>
+<title>Statusbar</title>
+<screenshot>
+  <graphic format="PNG" fileref="figures/trw_statusbar.png"/>
+</screenshot>
+</figure>
+<para>This part of the statusbar displays:
+<itemizedlist>
+<listitem><para>The total distance of the track/route (including currently edited segment).</para></listitem>
+<listitem><para>The bearing of the currently edited segment.</para></listitem>
+<listitem><para>The distance of the currently edited segment.</para></listitem>
+</itemizedlist>
+</para>
+<para>For convenience, a zoom selector can be opened from the status bar. Simply left-click on the zoom factor.</para>
+<figure>
+  <title>The zoom selector available from status bar</title>
+  <screenshot>
+    <graphic format="PNG" fileref="figures/zoom_status_popup.png"/>
+  </screenshot>
+</figure>
 </section>
 
 <section><title>Projections</title>
@@ -253,7 +280,7 @@ The &appname; automatic caching strategy is two fold:
 <itemizedlist>
 <listitem>
 <para>
-  If the age of the tile on disk is less than the specified tile age in the <link linkend="prefs_osm">preferences</link>,
+  If the age of the tile on disk is less than the specified tile age (see <xref linkend="prefs"/>),
   it will <emphasis>not</emphasis> attempt to contact the server to get a new version of the tile.
 </para>
 </listitem>
@@ -273,7 +300,7 @@ The &appname; automatic caching strategy is two fold:
 </note>
 </section>
 
-<section id="shortcut_keys"><title>Shortcut Keys</title>
+<section id="shortcut_keys" xreflabel="Shortcut Keys"><title>Shortcut Keys</title>
 <para>
 &appname; has several shortcut keys or key combinations for commands as listed in the main window along side the command.
 </para>
@@ -317,7 +344,7 @@ For these combinations see the menu entry themselves.
 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.
 </para>
 <para>
-Q. When planning a 'route' what difference does it make if it's a route or a track?
+Q. When planning a <emphasis>route</emphasis> what difference does it make if it's a route or a track?
 </para>
 <para>
 A. One difference is in how a GPS device navigates following the route or track.
@@ -361,9 +388,9 @@ Besides it's own file type, &appname; can open (and save to via export methods)
 </para>
 </note>
 <para>
-By default &appname; opens a default blank window centered on the home location.
+By default &appname; opens a default blank window centered on the home location. This behaviour can be changed by the <xref linkend="prefs_startup"/>.
 Each window contains menus, a toolbar, a viewport, layers panel and a statusbar.
-Each section (apart from the viewport) can be hidden via the <link linkend="shortcut_keys">keyboard shortcuts</link> or from the
+Each section (apart from the viewport) can be hidden using the <xref linkend="shortcut_keys"/> or from the
 <menuchoice><guimenu>View</guimenu><guisubmenu>Show</guisubmenu></menuchoice> choices.
 </para>
 <para>
@@ -372,7 +399,7 @@ However generally one window is enough for most purposes!
 </para>
 <para>
 Several operations apply at the window level as follows next.
-Also see the <link linkend="tools">Tools</link> section for the operational modes that generally work in conjunction with a selected layer.
+Also see <xref linkend="tools"/> for the operational modes that generally work in conjunction with a selected layer.
 </para>
 
 <section><title>New</title>
@@ -435,13 +462,16 @@ GPX and KML files may also be appended, but this is exactly the same as the norm
 </para>
 </section>
 
-<section id="acquire"><title>Acquire</title>
+<section id="acquire" xreflabel="acquire"><title>Acquire</title>
 
 <para>
-Located on the <menuchoice><guimenu>File</guimenu><guisubmenu>Acquire</guisubmenu></menuchoice> menu only.
+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.
 </para>
 <para>
-If successful, these methods place the results in a new TrackWaypoint layer.
+If used from the <xref linkend="TrackWaypoint"/> layer menu these methods place the results in that TrackWaypoint layer.
 </para>
 
 <section>
@@ -479,7 +509,19 @@ since there is no automatic detection of the file kind.
 <title>OSM Traces</title>
 <para>
 <menuchoice><guimenu>File</guimenu><guimenuitem>Acquire</guimenuitem><guimenuitem>OSM Traces</guimenuitem></menuchoice>
-See <link linkend="osm_dl">OpenStreetMap Download</link> section for more information.
+</para>
+<para>
+See <xref linkend="osm_dl"/> section for more information.
+</para>
+</section>
+
+<section>
+<title>My OSM Traces</title>
+<para>
+<menuchoice><guimenu>File</guimenu><guimenuitem>Acquire</guimenuitem><guimenuitem>My OSM Traces</guimenuitem></menuchoice>
+</para>
+<para>
+See <xref linkend="osm_my_dl"/> section for more information.
 </para>
 </section>
 
@@ -491,7 +533,27 @@ Enables automatic creation of waypoints from geotagged images.
 </para>
 <para>
 This menu opens a dialog to select such image files.
-If the image files have geotag information in them, then a TrackWaypoint layer with named waypoints positioned at the location of each image with a thumbnail of that image is created.
+If the image files have geotag information in them, then a <xref linkend="TrackWaypoint"/> layer with named waypoints positioned at the location of each image with a thumbnail of that image is created.
+</para>
+</section>
+
+<section>
+<title>From Wikipedia Waypoints</title>
+<para>
+<menuchoice><guimenu>File</guimenu><guimenuitem>Acquire</guimenuitem><guimenuitem>From Wikipedia Waypoints</guimenuitem></menuchoice>
+</para>
+<para>
+This gets <emphasis>interesting</emphasis> points from Wikipedia for the specified view: either within the extent of layer bounds or within the current viewport boundary.
+</para>
+</section>
+
+<section>
+<title>From Routing</title>
+<para>
+<menuchoice><guimenu>File</guimenu><guimenuitem>Acquire</guimenuitem><guimenuitem>From Directions</guimenuitem></menuchoice>
+</para>
+<para>
+This gets a route from given directions.
 </para>
 </section>
 
@@ -538,9 +600,11 @@ For instance the largest successful image generated on my (RN) Debian system is
 <para>
 Located on the <menuchoice><guimenu>File</guimenu><guisubmenu>Generate Directory of Images</guisubmenu></menuchoice> menu only.
 </para>
+<note>
 <para>
 This is only available in UTM mode.
 </para>
+</note>
 </section>
 
 </section> <!-- End File Types -->
@@ -551,13 +615,13 @@ This is only available in UTM mode.
 Layers supported by &appname; are:
 </para>
 <itemizedlist>
-<listitem><para>Aggregate</para></listitem>
-<listitem><para>TrackWaypoint</para></listitem>
-<listitem><para>GPS</para></listitem>
-<listitem><para>DEM</para></listitem>
-<listitem><para>Coord</para></listitem>
-<listitem><para>Map</para></listitem>
-<listitem><para>GeoRef</para></listitem>
+<listitem><para><xref linkend="Aggregate"/></para></listitem>
+<listitem><para><xref linkend="TrackWaypoint"/></para></listitem>
+<listitem><para><xref linkend="GPS"/></para></listitem>
+<listitem><para><xref linkend="DEM"/></para></listitem>
+<listitem><para><xref linkend="Coordinate"/></para></listitem>
+<listitem><para><xref linkend="Maps"/></para></listitem>
+<listitem><para><xref linkend="GeoRef"/></para></listitem>
 </itemizedlist>
 <para>
 For each layer there are a few standard options:
@@ -580,10 +644,14 @@ The cut/copy/paste options can be accessed in a variety of ways once the layer h
 <listitem><para>Buttons at the bottom of the Layers Panel</para></listitem>
 </itemizedlist>
 <para>
+Default values used for each layer's properties can be altered via the <menuchoice><guimenu>Edit</guimenu><guisubmenu>Layer Defaults</guisubmenu></menuchoice> menu options.
+</para>
+<para>
 See the individual section for detail about each layer.
 </para>
+</section>
 
-<section><title>TrackWaypoint Layer</title>
+<section id="TrackWaypoint" xreflabel="TrackWaypoint"><title>TrackWaypoint Layer</title>
 <para>
 TrackWaypoint layers display GPS data (tracks, routes and waypoints).
 </para>
@@ -593,7 +661,7 @@ geocaches, and paste it into an active TrackWaypoint layer. &appname; can
 automatically recognize several variations of the lat/lon format.
 </para>
 <para>
-By right-clicking on tracks, routes or waypoints in the layers panel, you can access many commands on them.
+By right-clicking on tracks, routes or waypoints in the <xref linkend="gc_layers_panel"/>, you can access many commands on them.
 You can easily find a specific track, route or waypoint by expanding the appropriate containing Tracks, Routes or Waypoints sublayer in the
 layers panel to show all the individual items and then typing the name of the track, route or waypoint.
 </para>
@@ -603,12 +671,17 @@ The containing Tracks, Routes or Waypoints sublayers are only shown when items o
 To start creating them enter into a create mode via either the <guibutton>Create</guibutton> toolbar commands or the <guimenuitem>New</guimenuitem> menu commands.
 </para>
 
+<para>
+The sublayers also offer right click menu options.
+These are the same as those available at the TrackWaypoint level, but only those that relate to the sublayer type.
+</para>
+
 <para>
 By default routes are coloured red. Tracks are automatically assigned a spread of colours.
 </para>
 
 <para>
-Most operations are available on tracks are available on routes, except for functionality that relies on having timestamps - since routes by definition have no timing information. Thus for example, uploading a route to OpenStreetMap Traces is not available nor is Geotagging on a route.
+Most operations available on tracks are available on routes, except for functionality that relies on having timestamps - since routes by definition have no timing information. Thus for example, uploading a route to OpenStreetMap Traces is not available nor is Geotagging on a route.
 It is possible to convert between Tracks and Routes, although converting from a Track to a Route may involve a loss of information (hence you are required to confirm this operation before it happens).
 </para>
 
@@ -625,19 +698,19 @@ Version1.1+: This will automatically move the viewport and select the best zoom
 
 <section><title>View</title>
 
-<section><title>View All Tracks</title>
+<section id="track_view_all"><title>View All Tracks</title>
 <para>
 Version1.1+: This will automatically move the viewport and select the best zoom level to see the all the tracks in the layer (ignoring positions of any routes or waypoints).
 </para>
 </section>
 
-<section><title>View All Routes</title>
+<section id="route_view_all"><title>View All Routes</title>
 <para>
 Version1.4+: This will automatically move the viewport and select the best zoom level to see the all the routes in the layer (ignoring positions of any tracks or waypoints).
 </para>
 </section>
 
-<section><title>View All Waypoints</title>
+<section id="wp_view_all"><title>View All Waypoints</title>
 <para>
 Version1.1+: This will automatically move the viewport and select the best zoom level to see the all the waypoints in the layer (ignoring positions of any tracks or routes).
 </para>
@@ -651,7 +724,7 @@ This will automatically move the viewport to see the whole layer (i.e. tracks, r
 </para>
 </section>
 
-<section><title>Goto Waypoint</title>
+<section id="wp_goto"><title>Goto Waypoint</title>
 <para>
 This opens a dialog box to enter a name of waypoint to search for. If it is found the viewport is centred on it.
 </para>
@@ -672,17 +745,34 @@ Version1.1+: An individual track can be exported to a GPX file via the track men
 </para>
 </section>
 
+<section id="finish_track"><title>Finish Track or Route</title>
+<para>
+Selecting this option ends the creation of that individual track or route.
+</para>
+<note>
+<para>
+This is only available when a track or route is being created by the <xref linkend="track_create"/> or <xref linkend="route_create"/> tools.
+</para>
+</note>
+</section>
+
+<section><title>New</title>
 <section id="new_wp"><title>New Waypoint</title>
 <para>
 This opens a dialog box to create a new waypoint. A default name will be suggested and the default position is the center of the viewport.
 </para>
 </section>
-
-<section><title>Add Wikipedia Waypoints</title>
+<section id="new_track"><title>New Track</title>
+<para>
+This turns on the <xref linkend="track_create"/> tool.
+</para>
+</section>
+<section id="new_route"><title>New Route</title>
 <para>
-This gets 'interesting' points from Wikipedia for the specified view: either within the extent of layer bounds or within the current viewport boundary.
+This turns on the <xref linkend="route_create"/> tool.
 </para>
 </section>
+</section>
 
 <section><title>Geotag Images</title>
 <para>
@@ -693,7 +783,7 @@ See <link linkend="geotagging">Geotagging</link> for further detail.
 
 <section><title>Acquire</title>
 <para>
-This offers the same choice of <link linkend="acquire">Acquire</link> methods as on the <guimenu>File</guimenu> menu.
+This offers the same choice from <xref linkend="acquire"/> methods as on the <guimenu>File</guimenu> menu.
 However when invoked from here, the results will be stored in this layer (instead of creating a new one).
 </para>
 </section>
@@ -712,10 +802,10 @@ Tracks, Routes or Waypoints that are invisible will not be transferred.
 </para>
 </section>
 
-<section id="osm_upload"><title>Upload To OSM</title>
+<section id="osm_upload" xreflabel="Upload To OSM" ><title>Upload To OSM</title>
 <para>
 This opens a dialog to upload all tracks and waypoints to <ulink url="http://openstreetmap.org/">OpenStreetMap</ulink> traces.
-Useful if you are an OpenStreetMap contributor (you will need an OpenStreetMap account), these details can be stored in &appname; <link linkend="prefs_osm">preferences.</link>
+Useful if you are an OpenStreetMap contributor (you will need an OpenStreetMap account), these details can be stored in &appname; <xref linkend="prefs_osm"/>
 </para>
 <para>
  &appname; allows you to edit a track, e.g. remove duplicate points, perhaps remove track points leading to your home and then upload it to OpenStreetMap.
@@ -730,6 +820,28 @@ The password is transferred <emphasis role="bold">unencrypted</emphasis> in ever
 
 </section>
 
+<section><title>Delete</title>
+<para>Offers deletion of various parts of a TrackWaypoint layer:</para>
+<section id="delete_all_tracks"><title>Delete All Tracks</title>
+<para>Deletes all the tracks in this layer.</para>
+</section>
+<section id="delete_selection_tracks"><title>Delete Tracks from Selection</title>
+<para>Opens a dialog with list of all the tracks from this layer to choose the ones to delete.</para>
+</section>
+<section id="delete_all_routes"><title>Delete All Routes</title>
+<para>Deletes all the routes in this layer.</para>
+</section>
+<section id="delete_selection_routes"><title>Delete Routes from Selection</title>
+<para>Opens a dialog with list of all the routes from this layer to choose the ones to delete.</para>
+</section>
+<section id="delete_all_waypoints"><title>Delete All Waypoints</title>
+<para>Deletes all the waypoints in this layer.</para>
+</section>
+<section id="delete_selection_waypoints"><title>Delete Waypoints from Selection</title>
+<para>Opens a dialog with list of all the waypoints from this layer to choose the ones to delete.</para>
+</section>
+</section>
+
 <section><title>Filter</title>
 <section><title>Simplify All Tracks</title>
 <para>
@@ -768,8 +880,37 @@ 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>
+<para>Repeats options available at the TrackWaypoint level, but only those for tracks and routes:</para>
+<itemizedlist>
+<listitem><para>Finish Track or Route. Same as the layer <link linkend="finish_track">Finish Track or Route</link></para></listitem>
+<listitem><para>New Track or Route. Same as the layer <link linkend="new_track">New Track</link> or <link linkend="new_route">New Route</link></para></listitem>
+<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>
 <para>
 Show many useful statistics about a track or a route, including a
@@ -784,7 +925,7 @@ The following colors are used in the elevation-distance graph:
 </para>
 <variablelist>
 <varlistentry>
-<term>'Main' colour - this is dependent on your Desktop theme - often blue by default</term>
+<term><emphasis>Main</emphasis> colour - this is dependent on your Desktop theme - often blue by default</term>
 <listitem><para>elevation data in graph</para></listitem>
 </varlistentry>
 <varlistentry>
@@ -811,6 +952,17 @@ The following colors are used in the elevation-distance graph:
 
 <section><title>Track and Route Operations</title>
 
+<section><title>Finish Track</title>
+<para>
+Selecting this option ends the creation of the individual track.
+</para>
+<note>
+<para>
+This is only available when a track is being created by the <xref linkend="track_create"/> tool.
+</para>
+</note>
+</section>
+
 <section><title>Goto</title>
 <para>
 This centers the viewport on the selected position on the track:
@@ -841,9 +993,11 @@ threshold time away. This way, if you somehow end up with lots of small
 segments (say, caused by turning the GPS on and off) you can merge them
 easily into one track.
 </para>
+<note>
 <para>
 This is not available on routes as they have no timestamps.
 </para>
+</note>
 </section>
 
 <section><title>Merge With Other Tracks</title>
@@ -874,9 +1028,11 @@ time interval between successive trackpoints is larger than some
 threshold. This is useful when processing raw NMEA GPS data, especially
 taken over a long time.
 </para>
+<note>
 <para>
 This is not available on routes as they have no timestamps.
 </para>
+</note>
 </section>
 
 <section><title>Split By Number of Points</title>
@@ -890,19 +1046,60 @@ This can be useful with devices which may have limits on the number of points it
 <para>
 Splits track segments into new tracks.
 </para>
+<note>
 <para>
 This is not available on routes as they do not have route segments.
 </para>
+</note>
+</section>
+
+<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.
+</para>
+</note>
+</section>
 </section>
 
-<section><title>Split at Trackpoint</title>
+<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>
-Splits the track at the currently selected trackpoint. This is only enabled when a trackpoint is selected.
+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).
@@ -912,18 +1109,71 @@ Deletes subsequent points that have the same position (but have different timest
 <para>
 Deletes subsequent points that have the same time stamp (but may have different positions).
 </para>
+<note>
 <para>
 This is not available on routes as they have no timestamps.
 </para>
+</note>
 </section>
 
 </section>
 
+<section><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>
+<para>
+<note>
+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).
+</note>
+</para>
+</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>
+<para>
+<note>
+This is not available for routes, as they have no timestamps.
+</note>
 </para>
 </section>
+</section>
 
 <section><title>Export Track as GPX</title>
 <para>
@@ -939,7 +1189,7 @@ Changes the current tool to add trackpoints to the end of the track.
 
 <section><title>Extend Using Route Finder</title>
 <para>
-Enables the Route Finder tool. Thus on a subsequent left click in the viewport, a route is calculated from the end of track to that point using Google's route service and applied to the track.
+Enables the Route Finder tool. Thus on a subsequent left click in the viewport, a route is calculated from the end of track to that point using the default route service and applied to the track.
 </para>
 </section>
 
@@ -963,9 +1213,35 @@ Same as the layer <link linkend="osm_upload">Upload to OSM</link> command, but o
 <para>
 This selects the track to be used in the <link linkend="filter_with_track">Filter With <emphasis>Trackname</emphasis></link> feature.
 </para>
+<note>
 <para>
 This is not available on routes.
 </para>
+</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>
@@ -984,6 +1260,18 @@ The record of the Google route is stored in the track's comment, so if the comme
 
 </section><!-- End Track Options -->
 
+<section><title>Waypoint Sublayer Options</title>
+<para>Repeats options available at the TrackWaypoint level, but only those for waypoints:</para>
+<itemizedlist>
+<listitem><para>New Waypoint. Same as the layer <link linkend="new_wp">New Waypoint</link></para></listitem>
+<listitem><para>View All Waypoints. Same as the layer <link linkend="wp_view_all">View All Waypoints</link></para></listitem>
+<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>
+
 <section><title>Waypoint Properties</title>
 
 <para>
@@ -1004,9 +1292,15 @@ This centers the viewport on the selected waypoint.
 </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.
+</para>
+</section>
+
 <section><title>Visit Geocache Webpage</title>
 <para>
-If the waypoint's name is in Geocache form (GCXXXXX) you can launch a web browser to go to the Geocache page.
+If the waypoint's name is in Geocache form (GCXXXXX) then this option is available and allows launching a web browser to go to the Geocache page.
 </para>
 </section>
 
@@ -1018,7 +1312,7 @@ Same as the layer <link linkend="new_wp">New Waypoint</link>.
 
 </section><!-- WP END -->
 
-<section id="geotagging"><title>Version1.3+: Geotag Images</title>
+<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.
 </para>
@@ -1047,11 +1341,11 @@ Various options allow control of how the geotagging process is performed:
 
 </section><!-- TRW Layer END -->
 
-<section id="gps_layer"><title>GPS Layer</title>
+<section id="GPS" xreflabel="GPS"><title>GPS Layer</title>
 <para>
 The GPS layer is responsible for uploading and downloading GPS data
 from a GPS device. It also is responsible for realtime GPS tracking.
-Expand the GPS layer in the layers panel to see the two TrackWaypoint layers it
+Expand the GPS layer in the layers panel to see the two <xref linkend="TrackWaypoint"/> layers it
 uses for uploading and downloading. To upload, download, or use
 realtime tracking, right-click the GPS layer and click the appropiate
 menu item.
@@ -1094,7 +1388,7 @@ There are several options to quickly delete a subsection of data:
 
 </section><!-- End GPS -->
 
-<section><title>DEM (Digital Elevation Model) Layer</title>
+<section id="DEM" xreflabel="DEM"><title>DEM (Digital Elevation Model) Layer</title>
 <para>
 This layer provides elevation data from the <ulink url="http://www2.jpl.nasa.gov/srtm/">Shuttle Radar Topography Mission (SRTM)</ulink>
 </para>
@@ -1119,13 +1413,13 @@ Using many DEMs is CPU/memory intensive. Depending on your computer's capability
 </section><!-- End DEM -->
 
 
-<section><title>Maps Layer</title>
+<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.
 </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 - 'Tile Age' 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) 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.
 </para>
 <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:
@@ -1144,7 +1438,7 @@ Inbuilt maps include various <ulink url="http://en.wikipedia.org/wiki/TerraServe
 </itemizedlist>
 
 <para>
-&appname; can be configured to handle additional maps. See <link linkend="extend_viking">Extending &appname;</link> for further detail.
+&appname; can be configured to handle additional maps. See <xref linkend="extend_viking"/> for further detail.
 </para>
 
 <section><title>Layer Operations</title>
@@ -1165,17 +1459,41 @@ 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>
 
 
 </section><!-- End Maps -->
 
-<section><title>Aggregrate Layer</title>
+<section id="Aggregate" xreflabel="Aggregate"><title>Aggregate Layer</title>
 <para>
-This layer is a container layer to hold other layers. There is always an initial and controlling 'Top Layer' that can not be removed, although it can be renamed.
+This layer is a container layer to hold other layers. There is always an initial and controlling <emphasis>Top Layer</emphasis> that can not be removed or renamed.
 </para>
 <para>
-This layer type is useful for grouping other layers, especially TrackWaypoint layers, in whatever categories are relevant to you: such as by activity, location or date.
+This layer type is useful for grouping other layers, especially <xref linkend="TrackWaypoint"/> layers, in whatever categories are relevant to you: such as by activity, location or date.
 Here are some suggestions:
 <itemizedlist>
 <listitem><para>Hiking</para></listitem>
@@ -1193,9 +1511,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>
@@ -1203,9 +1523,100 @@ Add a new layer of the selected type.
 </para>
 </section>
 
+<section id="sort_items" xreflabel="Sort"><title>Sort</title>
+<para>
+The list within the treeview can be sorted.
+</para>
+<para>
+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 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>
+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!
+<screenshot>
+  <graphic format="PNG" fileref="figures/LayersTracksList.png"/>
+</screenshot>
+</figure>
+</para>
+<para>
+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. Open the properties dialog on the 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>
+This was invoked on a TrackWaypoint layer and shows all waypoints from that single layer. It has been sorted by the symbols.
+<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 id="vis_options" xreflabel="Visibility Options"><title>Visibility Options</title>
+<para>
+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><!-- End Agg -->
 
-<section><title>GeoRef Layer</title>
+<section id="GeoRef" xreflabel="GeoRef"><title>GeoRef Layer</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.
 </para>
@@ -1231,15 +1642,14 @@ Opens a file save dialog to save the scale and position information as a <ulink
 
 </section><!-- End GeoRef -->
 
-<section><title>Coord Layer</title>
+<section id="Coordinate" xreflabel="Coordinate"><title>Coordinate Layer</title>
 <para>
 This layer is allows drawing of grid lines on the viewport.
 </para>
 </section><!-- End Coord -->
 
-</section>
 
-<section id="tools"><title>Tools</title>
+<section id="tools" xreflabel="Tools"><title>Tools</title>
 <para>
 &appname;'s mouse actions on the viewport are controlled by which tool is active. Only one tool can be active at a time. The default mode is pan.
 </para>
@@ -1305,14 +1715,14 @@ This mode is entered by clicking on the toolbar icon: <guiicon><inlinegraphic fi
 </para>
 <para>
 The ruler is used to measure the bearing and distance between two points: Click on first point and then move the mouse point around - the values will be continually updated.
-A second click will 'freeze' the ruler at that point.
+A second click will <emphasis>freeze</emphasis> the ruler at that point.
 </para>
 <para>
 This mode can also be entered by the keyboard shortcut <keycap>Ctrl+Shift+U</keycap>
 </para>
 </section>
 
-<section id="select"><title>Version1.1+: Select</title>
+<section id="select" xreflabel="Select"><title>Version1.1+: Select</title>
 <para>
 This mode is entered by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/select_18.png"/></guiicon>
 </para>
@@ -1329,9 +1739,9 @@ This mode can also be entered by the keyboard shortcut <keycap>Ctrl+Shift+S</key
 
 <section><title>TrackWaypoint Layer Tools</title>
 <para>
-You must have a TrackWaypoint Layer selected to use these tools.
+You must have a <xref linkend="TrackWaypoint"/> Layer selected to use these tools.
 </para>
-<section><title>Create Waypoint</title>
+<section id="createwptool" xreflabel="Create Waypoint"><title>Create Waypoint</title>
 <para>
 Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/addwp_18.png"/></guiicon>
 </para>
@@ -1340,7 +1750,7 @@ Left click will open the new waypoint dialog using the specified position.
 </para>
 </section>
 
-<section><title>Create/Begin Track</title>
+<section id="track_create" xreflabel="Create Track"><title>Create Track</title>
 <para>
 Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/addtr_18.png"/></guiicon>
 </para>
@@ -1350,20 +1760,36 @@ If <keycap>Ctrl</keycap> is held at the same time, it will jump the new trackpoi
 Right click or <keycap>Backspace</keycap>: undo one point.
 </para>
 <para>
-Double click or <keycap>Escape</keycap>: finish track creation.
+Double click or <keycap>Escape</keycap>: to finish track creation.
+Finishing the track is also available via the right click <xref linkend="TrackWaypoint"/> and track menus.
+</para>
+<para>
+One must finish the current track to be able to create another track.
 </para>
 </section>
 
-<section><title>Edit Waypoint</title>
+<section id="route_create" xreflabel="Create Route"><title>Create Route</title>
 <para>
-Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/edwp_18.png"/></guiicon>
+Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/vik_new_route_18.png"/></guiicon>
 </para>
 <para>
-Left Click/drag: select/move a waypoint.
-If <keycap>Ctrl</keycap> is held at the same time, it will jump the waypoint position to a nearby existing trackpoint.
-If <keycap>Shift</keycap> is held at the same time, it will jump the waypoint position to a nearby existing waypoint.
+This operates in exactly the same way as the <link linkend="track_create">Create Track</link> above.
 </para>
-<para>Right-click on waypoint: opens a menu with waypoint actions (the
+<para>
+One must finish the current route to be able to create another route.
+</para>
+</section>
+
+<section><title>Edit Waypoint</title>
+<para>
+Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/edwp_18.png"/></guiicon>
+</para>
+<para>
+Left Click/drag: select/move a waypoint.
+If <keycap>Ctrl</keycap> is held at the same time, it will jump the waypoint position to a nearby existing trackpoint.
+If <keycap>Shift</keycap> is held at the same time, it will jump the waypoint position to a nearby existing waypoint.
+</para>
+<para>Right-click on waypoint: opens a menu with waypoint actions (the
 same menu accessed by right-clicking the waypoint in the layers panel)
 </para>
 </section>
@@ -1377,10 +1803,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>
+Editing options in the Trackpoint Edit dialog include:
+<itemizedlist>
+<listitem>Edit the trackpoint name</listitem>
+<listitem>Changing raw lat/long position and altitude</listitem>
+<listitem>Forward (go to the next trackpoint)</listitem>
+<listitem>Back (go to the previous trackpoint)</listitem>
+<listitem>Delete</listitem>
+<listitem>Insert. Inserts a point halfway to next trackpoint</listitem>
+<listitem>Split. <xref linkend="trkpt_split"/></listitem>
+</itemizedlist>
+</para>
+<para>
+Several fields are read only for reference purposes, values are shown if the trackpoint has such information:
+<itemizedlist>
+<listitem>Time.</listitem>
+<listitem>Speed and course.</listitem>
+<listitem>'Between' values: Speed, Time Difference and Distance Difference. When moving between trackpoints (via the Back and Forward buttons) these values are calculated.</listitem>
+<listitem>GPS precision factors.</listitem>
+</itemizedlist>
+</para>
 <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.
+<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>
@@ -1389,15 +1844,15 @@ Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic filere
 <para>
 Opens an image viewer with the picture associated with the waypoint.
 By default this uses the default system image viewer.
-For Linux you can override this with the setting in the <link linkend="prefs_external">preferences.</link>
+For Linux you can override this with the setting in the <xref linkend="prefs_external"/>
 </para>
 </section>
 
-<section><title>Route Finder</title>
+<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 Google maps routing between two points.
+<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>
@@ -1413,7 +1868,7 @@ Right-click: undo last routing (only track removed - not any waypoints)
 
 <section><title>Georef Map Layer Tools</title>
 <para>
-You must have a Georef Map Layer selected to use these tools.
+You must have a <xref linkend="GeoRef"/> Map Layer selected to use these tools.
 </para>
 <section><title>Georef zoom</title>
 <para>
@@ -1435,9 +1890,9 @@ Drag to move the georeferenced map.
 </section>
 </section>
 
-<section><title>Map Download</title>
+<section id="map_tool_dl" xreflabel="Map Download"><title>Map Download</title>
 <para>
-You must have a Map Layer selected to use this.
+You must have a <xref linkend="Maps"/> Layer selected to use this.
 </para>
 <para>
 Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/mapdl_18.png"/></guiicon>
@@ -1446,13 +1901,36 @@ Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic filere
 Click to download a single tile. Drag to download tiles in the dragged rectangle area.
 </para>
 <para>
-Right-click to redownload bad/all tiles. Right-click and drag to redownload bad/all tiles in the dragged rectangle area.
+Right-click to redownload tiles via the selected method. Right-click and drag to redownload tiles in the dragged rectangle area by the selected method.
+The possible methods to redownload one or more tiles are:
+</para>
+<para>
+<itemizedlist>
+<listitem><para>Bad - Only if the tile is corrupt in some way or missing, then this will download a new copy</para></listitem>
+<listitem><para>New - Refresh the tile according to the local map cache and if server has a newer version</para></listitem>
+<listitem><para>All - Redownload the tile</para></listitem>
+</itemizedlist>
+</para>
+<formalpara><title>Map Tile Information</title>
+<para>
+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>
+<para>
+<figure>
+<title>Map Tile Info Dialog: Example</title>
+<screenshot>
+  <graphic format="PNG" fileref="figures/map_tile_info_dialog.png"/>
+</screenshot>
+</figure>
+This is using MapQuest at &appname; zoom level 128 over the Isle of Wight, UK.
 </para>
 </section>
 
 <section><title>DEM Download</title>
 <para>
-You must have a DEM Layer selected to use this.
+You must have a <xref linkend="DEM"/> Layer selected to use this.
 </para>
 <para>
 Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/demdl_18.png"/></guiicon>
@@ -1460,6 +1938,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>
@@ -1480,7 +1973,7 @@ This feature is called <guilabel>Webtools</guilabel>. It is also known as Extern
 </section>
 
 <!-- Preferences -->
-<section id="prefs"><title>Preferences</title>
+<section id="prefs" xreflabel="Preferences"><title>Preferences</title>
 <section><title>General</title>
 <section><title>Localisation</title>
 <para>You can select units displayed by &appname; to best fit your usage.</para>
@@ -1514,8 +2007,8 @@ This feature is called <guilabel>Webtools</guilabel>. It is also known as Extern
 <para>An option exists to control the icon (symbol) size used for waypoints
 </para>
 </section>
-<section><title>'Home' Default Location: Latitude and Longitude</title>
-<para>You can set the 'Home' location directly by inputting the latitude and longitude in decimal degrees.
+<section><title><emphasis>Home</emphasis> Default Location: Latitude and Longitude</title>
+<para>You can set the <emphasis>Home</emphasis> location directly by inputting the latitude and longitude in decimal degrees.
 </para>
 </section>
 <section><title>Tile's age</title>
@@ -1536,7 +2029,7 @@ Generally if you have a system with lots of memory it's recommended to increase
 </section>
 </section>
 
-<section id="prefs_external"><title>Export/External</title>
+<section id="prefs_external" xreflabel="Export/External Preferences"><title>Export/External</title>
 <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>
@@ -1546,7 +2039,7 @@ Generally if you have a system with lots of memory it's recommended to increase
 <para>Note: for Windows systems, viewing images associated with Waypoints always uses the system's default image viewer.</para>
 </section>
 <section><title>External GPX programs</title>
-<para>Allows setting the programs invoked via the TrackWaypoint Layer -> Export Layer -> Open With 'program'</para>
+<para>Allows setting the programs invoked via the <xref linkend="TrackWaypoint"/> Layer menu <menuchoice><guimenu>Export Layer</guimenu><guisubmenu>Open With 'program'</guisubmenu></menuchoice></para>
 <para>Two options are given so that it can be configured for various uses such as:</para>
 <itemizedlist>
 <listitem><para>An OSM editor (default)</para></listitem>
@@ -1555,9 +2048,9 @@ Generally if you have a system with lots of memory it's recommended to increase
 </section>
 </section>
 
-<section id="prefs_osm"><title>OpenStreetMap Traces</title>
+<section id="prefs_osm" xreflabel="OpenStreetMap Traces Preferences"><title>OpenStreetMap Traces</title>
 <section><title>OSM Username + Password</title>
-<para>Store your OSM details here, so that you don't need to enter it in every time in the <link linkend="osm_upload">Upload to OSM</link> procedure.</para>
+<para>Store your OSM details here, so that you don't need to enter it in every time in the <xref linkend="osm_upload"/> procedure.</para>
 <warning>
 <para>
 Your OSM password will be stored in plain text.
@@ -1566,13 +2059,50 @@ Your OSM password will be stored in plain text.
 </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>
+</section>
+</section>
+
+<section id="prefs_startup" xreflabel="Startup Preferences"><title>Startup</title>
+<para>Naturally since these preferences effect the startup, the values will not be used until &appname; is restarted.</para>
+<section><title>Restore Window Setup</title>
+<para>When this is enabled, the main window size and layout (such as whether the statusbar or layers panel are shown) is restored to the values from last use.</para>
+</section>
+<section><title>Default Map Layer</title>
+<para>When this is enabled, a map layer is automatically added whenever &appname; is opened and a &appname; file is not to be loaded.</para>
+<para>The map layer used is defined by the map layer's default values.</para>
+</section>
+<section><title>Startup Method</title>
+<para>Enables selection of how the startup position should be determined.</para>
+<itemizedlist>
+<listitem><para>Home Location (default) - Position as set by the <guilabel>Set the Default Location</guilabel></para></listitem>
+<listitem><para>Last Location - Uses the last position viewed on the viewport</para></listitem>
+<listitem><para>Specified File - Load the file as specified below</para></listitem>
+<listitem><para>Auto Location - Use the web service <ulink url="http://www.hostip.info">hostip.info</ulink> to attempt to determine your location via IP lookup</para></listitem>
+</itemizedlist>
+</section>
+<section><title>Startup File</title>
+<para>Loads this specified file when the Startup method is set to <guilabel>Specified File</guilabel></para>
+</section>
+<section><title>Check For New Version</title>
+<para>Periodically (no more than once every 14 days), check to see if there is a new version of &appname; available.</para>
+</section>
+</section>
+
 </section>
 
 <!-- HOWTOS-->
 <section><title>Howto's</title>
 <section id="howto_start"><title>Getting Started</title>
 <para>
-To quickly get started using &appname;, follow these instructions.
+&appname; from version 1.5 has several features to ease the start up process.
+On the very first run, you will be asked if you want to enable these features which make use of an Internet connection.
+If you select no or you have upgraded from an earlier version you can choose to enable any of the startup options via the <xref linkend="prefs_startup"/>.
+</para>
+<para>
+Some other general use cases for using &appname;, are as follows:
 </para>
 <section><title>Go to an area of interest</title>
 <para>
@@ -1654,13 +2184,13 @@ The viewport will be automatically moved and resized to view the contents of the
 </step>
 </procedure>
 </section>
-<section><title>Add a map layer</title>
+<section><title>Add a Map Layer</title>
 <para>
-1. Use Layers - New Map Layer, and choose a suitable cache directory
+Use <menuchoice><guimenu>Layers</guimenu><guimenuitem>New Map Layer</guimenuitem></menuchoice>, and choose a suitable cache directory
 where you would like to store your tracks and click <guilabel>OK</guilabel>. Zoom to a
 comfortable level (I suggest 4 mpp) by clicking the left and right
 mouse buttons on the gray area where your tracks are. Now from the menu
-choose Tools - Map Download, Click where you would like to download a
+choose the <xref linkend="map_tool_dl"/> Tool. Click where you would like to download a
 map. Regardless of what tool you are using, the middle mouse button
 always pans. </para>
 <note>
@@ -1669,13 +2199,13 @@ You need an open internet connection when you are downloading maps.
 </para>
 </note>
 <para>
-1. You will notice the maps are being drawn on top of the tracks, which
-is probably not what you want. Look at the Layers Panel to the left.
-Notice how the layer named Map is ABOVE your TrackWaypoint layer that
-your GPS data is in. This means that it will be drawn last, or on top
-of the other layers. Select the Map layer from the list and click the
-down arrow button beneath the list. Your tracks will now be drawn over
-the map. </para>
+If you can no longer see your tracks or waypoints and only the map,
+it is because the layer named <emphasis>Map</emphasis> is <emphasis>ABOVE</emphasis> your TrackWaypoint layer that your GPS data is in.
+This means that it will be drawn last and on top of the other <xref linkend="gc_layers"/>.
+Look at the  <xref linkend="gc_layers_panel"/> to the left which shows this order.
+Select the Map layer from the list and click the down arrow button beneath the list until the Map layer is below the TrackWaypoint layer.
+Your tracks will now be drawn over the map.
+</para>
 </section>
 
 <section><title>Set Your Home Location</title>
@@ -1687,7 +2217,7 @@ the map. </para>
        Then at any time you can return to this place by clicking on the <guibutton>Home</guibutton> icon on the toolbar.
 </para>
 <para>
-    You can also set the default location via specifing the exact latitude and longitude in the <link linkend="prefs">Preferences</link>.
+    You can also set the default location via specifing the exact latitude and longitude in the <xref linkend="prefs"/>.
 </para>
 </section>
 
@@ -1695,7 +2225,7 @@ the map. </para>
 <section><title>From 1st startup to GPS track (including offline maps)</title>
 <para>
 The first you'll see is an empty map, because &appname; in its default configuration will download maps only on demand.
-Before fetching unneeded data, one can position to a location of interest, e.g. Stuttgart: <menuchoice><guimenu>View</guimenu><guimenuitem>Go to Location</guimenuitem></menuchoice>, enter 'Stuttgart'.
+Before fetching unneeded data, one can position to a location of interest, e.g. Stuttgart: <menuchoice><guimenu>View</guimenu><guimenuitem>Go to Location</guimenuitem></menuchoice>, enter <userinput>Stuttgart</userinput>.
 </para>
 <section><title>Fetching the maps</title>
 <para>
@@ -1732,7 +2262,7 @@ automatically.
 <step><para>Keep the download source as is (SRTM Global 90m), hit <guilabel>OK</guilabel>.</para></step>
 </procedure>
 
-<para>In the layer listing on the left, the DEM layer should reside
+<para>In the layer listing on the left, the <xref linkend="DEM"/> layer should reside
 above the map layer. If this is not the case, highlight the DEM layer
 an shift it one up (using the arrow up button).
 </para>
@@ -1760,12 +2290,12 @@ You can also alter the Min. and Max. elevation in this dialogue.
 </section>
 <section><title>GPS Track with Height Profile</title>
 <procedure>
-<step><para>Uncheck the DEM layer (the map is shown again)</para></step>
+<step><para>Uncheck the <xref linkend="DEM"/> layer (the map is shown again)</para></step>
 <step>
        <para><menuchoice><guimenu>Layers</guimenu><guimenuitem>New TrackWaypoint Layer</guimenuitem></menuchoice></para>
        <para>Ensure the new track layer is above the map layer.</para>
 </step>
-<step><para>Expand the TrackWaypoint layer, select <guimenuitem>Tracks</guimenuitem></para></step>
+<step><para>Expand the <xref linkend="TrackWaypoint"/> layer, select <guimenuitem>Tracks</guimenuitem></para></step>
 <step><para>In the tools menu choose <guiicon><inlinegraphic fileref="figures/addtr_18.png"/></guiicon> <guibutton>Create Track</guibutton>
 </para></step>
 <step><para>Leftclick in the map window, enter a name</para></step>
@@ -1788,7 +2318,7 @@ In order to save this setting for later usage
 </section>
 <section><title>Usecase: offline data for holiday</title>
 <para>
-Suppose you want to have the map and DEM data offline for your holiday in Italy near Bologna.
+Suppose you want to have the <xref linkend="Maps"/> and <xref linkend="DEM"/> data offline for your holiday in Italy near Bologna.
 </para>
 <procedure>
 <step><para>Start a new &appname; session.</para></step>
@@ -1801,7 +2331,7 @@ This allows you to delete the map stuff after holiday without purging the rest o
 <step><para>check <guilabel>autodownload map</guilabel></para></step>
 <step><para>keep <guilabel>viking zoom level</guilabel></para></step>
 <step><para>zoom out to 1024</para></step>
-<step><para>add a DEM layer (as discussed above)</para></step>
+<step><para>add a <xref linkend="DEM"/> layer (as discussed above)</para></step>
 <step><para>download the DEM data</para></step>
 </procedure>
 <para>In the &app; version discussed here, the DEM data automatically
@@ -1839,6 +2369,9 @@ Do not forget to save your configuration (as discussed above).
 One of sources of data for this project is GPS tracks.
 &appname; supports this project via the GPS Traces methods, both uploading and downloading such data.
 </para>
+<para>
+Also see <ulink url="http://wiki.openstreetmap.org/wiki/API_v0.6#GPS_Traces"/> for further detail.
+</para>
 <section><title>Uploading data to OpenStreetMap</title>
 <para>
 It is possible to upload data directly from &appname; to OpenStreetMap.
@@ -1846,16 +2379,15 @@ It is possible to upload data directly from &appname; to OpenStreetMap.
 <formalpara>
 <title>Upload a layer</title>
 <para>
-One solution is to upload whole a TrackWaypoint layer. To do this,
+One solution is to upload whole a <xref linkend="TrackWaypoint"/> layer. To do this,
 simply select the layer and right click on it. Then, select <guimenuitem>Upload to
 OSM</guimenuitem>.
 </para>
 </formalpara>
 <formalpara>
 <title>Upload a single track</title>
-<para>One solution is to upload whole a TrackWaypoint layer. To do
-this, simply select the layer and right click on it. Then, select
-<guimenuitem>Upload to OSM</guimenuitem>.
+<para>Another solution is to upload an individual track. Simply select the track and right click on it.
+Then select <guimenuitem>Upload to OSM</guimenuitem>.
 </para>
 </formalpara>
 <formalpara>
@@ -1866,11 +2398,12 @@ The email field is the email you used to subscribed into OpenStreetMap.
 The password field is the password you used with this account.
 The filename is the name you want your upload has on the server. This information is displayed by the osm server.
 The description is some descriptive information.
-The tags field is a white separated list of tag.
+The tags field is a white separated list of tags.
 </para> 
 </formalpara>
 </section>
-<section id="osm_dl"><title>Downloading traces from OpenStreetMap</title>
+
+<section id="osm_dl" xreflabel="OpenStreetMap Traces Download"><title>Downloading Traces from OpenStreetMap</title>
 <para>
 It is possible to download GPS traces directly from OpenStreetMap into &appname;.
 This feature can be really useful for checking existing data before uploading new ones.
@@ -1884,17 +2417,27 @@ This feature can be really useful for checking existing data before uploading ne
 <guimenuitem>OSM traces...</guimenuitem>
 </menuchoice>.
 Each request can get up to 5,000 points.
-The dialog box allows setting which group of 5,000 points to get. These groups are known as 'Page Numbers' which start at 0.
+The dialog box allows setting which group of 5,000 points to get. These groups are known as <emphasis>Page Numbers</emphasis> which start at 0.
 Increasing the page number parameter allows one to request the subsequent sets of point groups.
-See <ulink url="http://wiki.openstreetmap.org/wiki/API_v0.6#GPS_Traces"/> for further detail.
 </para>
 </formalpara>
 </section>
+<section id="osm_my_dl" xreflabel="OpenStreetMap My Traces Download"><title>Downloading Your Own Traces from OpenStreetMap</title>
+<para>
+It is possible to download any of <emphasis>your personal</emphasis> GPS traces previously uploaded to OpenStreetMap into &appname;.
+</para>
+<para>
+You will need to provide your OSM username and password to get the list of your OSM Traces.
+From this list you can select which traces to retrieve.
+This list can be sorted on each column so that it easier to find an individual trace or select a group of traces by similar properties.
+</para>
+</section>
+
 </section>
 
 <section><title>Geotagging</title>
 <para>
-       This assumes you already have a map layer enabled for ease of use (if not see above to get one).
+       This assumes you already have a <xref linkend="Maps"/> layer enabled for ease of use (if not see above to get one).
 </para>
 <section><title>Manual Positioning</title>
 <para>
@@ -1903,12 +2446,12 @@ See <ulink url="http://wiki.openstreetmap.org/wiki/API_v0.6#GPS_Traces"/> for fu
        ATM this process only works on an individual image, so it will be tedious for handling lots of images.
 </para>
 <para>
-       First create a Track Waypoint layer or use an existing one; and select it in the Layers Panel.
+       First create a <xref linkend="TrackWaypoint"/> layer or use an existing one; and select it in the <xref linkend="gc_layers_panel"/>.
        NB Make sure this layer is above the map layer in the Layers Panel list.
        Create a new waypoint (or move an existing one) to exact location desired:
 <itemizedlist>
-       <listitem><para>Select the New Waypoint tool, then left click on the map at the location desired, choosing an image to associate with it in the new waypoint dialog</para></listitem>
-       <listitem><para>Select the <link linkend="select">Select Tool</link>, then left click on waypoint to be moved. Left click again and drag the waypoint to the location desired</para></listitem>
+       <listitem><para>Select the <xref linkend="createwptool"/> tool, then left click on the map at the location desired, choosing an image to associate with it in the new waypoint dialog</para></listitem>
+       <listitem><para>Select the <xref linkend="select"/> tool, then left click on waypoint to be moved. Left click again and drag the waypoint to the location desired</para></listitem>
 </itemizedlist>
        Then using the Select tool left click on waypoint to select it, then right click to access the Waypoint properties menu, then choose
        <menuchoice><guimenu>Update Geotag on Image</guimenu><guisubmenu>Update</guisubmenu></menuchoice>
@@ -1925,8 +2468,8 @@ See <ulink url="http://wiki.openstreetmap.org/wiki/API_v0.6#GPS_Traces"/> for fu
        It helps if this is the track that was recorded at the time you took some photographs!
 </para>
 <para>
-       Select the track either from the layers panel on the left or via the viewport using the <link linkend="select">Select Tool</link>.
-       Then right click on it and chose the <menuchoice><guimenu>Geotag Images...</guimenu></menuchoice> leading you to the <link linkend="geotagging">Geotagging Dialog</link>.
+       Select the track either from the layers panel on the left or via the viewport using the <xref linkend="select"/> tool.
+       Then right click on it and chose the <menuchoice><guimenu>Geotag Images...</guimenu></menuchoice> leading you to the <xref linkend="geotagging"/> Dialog.
 </para>
 <para>
        Load some images that where taken around the time the track log was recorded. Confirm the other options in the dialog - normally the defaults should be alright and select OK.
@@ -1953,14 +2496,14 @@ See <ulink url="http://wiki.openstreetmap.org/wiki/API_v0.6#GPS_Traces"/> for fu
        so currently this functionality is disabled in <trademark>Windows</trademark> builds of &appname;
 </para>
 <para>
-       This assumes you already have a map layer enabled for ease of use (if not see above to get one).
+       This assumes you already have a <xref linkend="Maps"/> layer enabled for ease of use (if not see above to get one).
 </para>
 <para>
        Turn on the GPS Device, ensure it has figured out it's location and plug it in to your computer.
 </para>
 <section><title>Set Up GPS Layer</title>
 <para>
-       You will need a <link linkend="gps_layer">GPS Layer</link>. One can be added via <menuchoice><guimenu>Layers</guimenu><guisubmenu>Add GPS Layer</guisubmenu></menuchoice>.
+       You will need a <xref linkend="GPS"/> layer. One can be added via <menuchoice><guimenu>Layers</guimenu><guisubmenu>Add GPS Layer</guisubmenu></menuchoice>.
 </para>
 <para>
        Adjust the <emphasis>Realtime Tracking Mode</emphasis> settings to interface with <ulink url="http://www.catb.org/gpsd/">gpsd</ulink> as necessary. Normally the defaults should suffice.
@@ -1981,7 +2524,102 @@ See <ulink url="http://wiki.openstreetmap.org/wiki/API_v0.6#GPS_Traces"/> for fu
 </section>
 </section>
 
-<section id="extend_viking">
+<section><title>What to Do if &appname; Does Not Seem to Work</title>
+<para>
+In order to get some information about what &appname; is doing, start it in verbose debug mode via the command line:
+<programlisting>viking -dV</programlisting>
+</para>
+<para>
+For instance you can check the correct URLs &appname; is using in requesting remote data for DEMs or map tiles in the verbose debug output.
+E.g. Something like this for DEMs:
+<screen>
+** (viking:28778): DEBUG: curl_download_uri: uri=http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N48E008.hgt.zip
+* About to connect() to dds.cr.usgs.gov port 80 (#0)
+* Trying 152.61.128.95... * connected
+* Connected to dds.cr.usgs.gov (152.61.128.95) port 80 (#0)
+ GET /srtm/version2_1/SRTM3/Eurasia/N48E008.hgt.zip HTTP/1.1
+User-Agent: viking/0.9.8 libcurl/7.18.2 GnuTLS/2.4.2 zlib/1.2.3.3 libidn/1.8
+Host: dds.cr.usgs.gov
+Accept: */*
+ HTTP/1.1 200 OK
+ Date: Sun, 26 Jul 2009 18:13:38 GMT
+ Server: Apache
+ Last-Modified: Tue, 21 Jul 2009 19:57:35 GMT
+ ETag: eac3f8-1828f5-46f3caa76070a
+ Accept-Ranges: bytes
+ Content-Length: 1583349
+ Content-Type: application/zip
+
+* Connection #0 to host dds.cr.usgs.gov left intact
+* Closing connection #0
+** (viking:28778): DEBUG: dem_layer_add_file: /home/username/.viking-maps/srtm3-Eurasia/N48E008.hgt.zip
+</screen>
+Or for OSM Mapnik tile server:
+<screen>
+* About to connect() to tile.openstreetmap.org port 80 (#0)
+*   Trying 193.63.75.28... * connected
+* Connected to tile.openstreetmap.org (193.63.75.28) port 80 (#0)
+ GET /13/4065/2748.png HTTP/1.1
+User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
+Host: tile.openstreetmap.org
+Accept: */*
+
+* HTTP 1.0, assume close after body
+ HTTP/1.0 200 OK
+ Date: Thu, 14 Oct 2010 22:18:42 GMT
+ Server: Apache/2.2.8 (Ubuntu)
+ ETag: "b66ff9d46474bab68262a3483428a232"
+** (viking:16704): DEBUG: curl_get_etag_func: ETAG found: "b66ff9d46474bab68262a3483428a232"
+ Content-Length: 17194
+ Cache-Control: max-age=94805
+ Expires: Sat, 16 Oct 2010 00:38:47 GMT
+ Content-Type: image/png
+ Age: 5153
+ X-Cache: HIT from konqi.openstreetmap.org
+ X-Cache-Lookup: HIT from konqi.openstreetmap.org:3128
+ Via: 1.1 konqi.openstreetmap.org:3128 (squid/2.7.STABLE7)
+ Connection: close
+* Closing connection #0
+* About to connect() to a.andy.sandbox.cloudmade.com port 80 (#0)
+*   Trying 178.63.75.195... ** (viking:16704): DEBUG: curl_download_uri: uri=http://tile.openstreetmap.org/13/4065/2749.png
+* About to connect() to tile.openstreetmap.org port 80 (#0)
+*   Trying 193.63.75.28... * connected
+* Connected to a.andy.sandbox.cloudmade.com (178.63.75.195) port 80 (#0)
+ GET /tiles/cycle/13/4065/2747.png HTTP/1.1
+User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
+Host: a.andy.sandbox.cloudmade.com
+Accept: */*
+
+* connected
+* Connected to tile.openstreetmap.org (193.63.75.28) port 80 (#0)
+ GET /13/4065/2749.png HTTP/1.1
+User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
+Host: tile.openstreetmap.org
+Accept: */*
+
+* HTTP 1.0, assume close after body
+ HTTP/1.0 200 OK
+ Date: Thu, 14 Oct 2010 23:44:35 GMT
+ Server: Apache/2.2.8 (Ubuntu)
+ ETag: "8e520ad47ce9c1b63430554886eb5fab"
+** (viking:16704): DEBUG: curl_get_etag_func: ETAG found: "8e520ad47ce9c1b63430554886eb5fab"
+ Content-Length: 18094
+ Cache-Control: max-age=87742
+ Expires: Sat, 16 Oct 2010 00:06:57 GMT
+ Content-Type: image/png
+ X-Cache: MISS from konqi.openstreetmap.org
+ X-Cache-Lookup: MISS from konqi.openstreetmap.org:3128
+ Via: 1.1 konqi.openstreetmap.org:3128 (squid/2.7.STABLE7)
+ Connection: close
+</screen>
+</para>
+</section>
+
+</section>
+<!-- End of Howtos -->
+
+<section id="extend_viking" xreflabel="Extending Viking">
     <title>Extending Viking</title>
 
       <para>Currently, &app; has some extention points based on configuration files. The file format is heavily inspired by the GtkBuilder file format: you specify the class of the GObject to build and set its properties. Technically, it is a XML file containing a "objects" root element. Inside this element, you set a collection of "object".</para>
@@ -2003,7 +2641,7 @@ See <ulink url="http://wiki.openstreetmap.org/wiki/API_v0.6#GPS_Traces"/> for fu
         <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>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 VikSlippyMapSource allows to declare any map's source working like OpenStreetMap. It supports the following properties:
+        <para>The <classname>VikSlippyMapSource</classname> allows to declare any map's source working like OpenStreetMap. It supports the following properties:
           <variablelist>
             <varlistentry>
               <term>id</term>
@@ -2023,7 +2661,7 @@ See <ulink url="http://wiki.openstreetmap.org/wiki/API_v0.6#GPS_Traces"/> for fu
             </varlistentry>
           </variablelist>
         </para>
-        <para>The VikTmsMapSource 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:
           <variablelist>
             <varlistentry>
               <term>id</term>
@@ -2043,7 +2681,7 @@ See <ulink url="http://wiki.openstreetmap.org/wiki/API_v0.6#GPS_Traces"/> for fu
             </varlistentry>
           </variablelist>
         </para>
-        <para>The VikWmscMapSource 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:
           <variablelist>
             <varlistentry>
               <term>id</term>
@@ -2069,7 +2707,7 @@ See <ulink url="http://wiki.openstreetmap.org/wiki/API_v0.6#GPS_Traces"/> for fu
         <title>Go-to search engines</title>
         <para>It is possible to add new new search engines for the "Go-To" feature. The file is <filename>~/.viking/goto_tools.xml</filename>.</para>
         <para>An example of the file in the distribution <filename>doc/examples/goto_tools.xml</filename>.</para>
-        <para>Currently, there is a single object class available: VikGotoXmlTool. Such feature allows to declare any search engine using a XML format as result.</para>
+        <para>Currently, there is a single object class available: <classname>VikGotoXmlTool</classname>. Such feature allows to declare any search engine using a XML format as result.</para>
         <para>The related properties are:
           <variablelist>
             <varlistentry>
@@ -2105,144 +2743,220 @@ See <ulink url="http://wiki.openstreetmap.org/wiki/API_v0.6#GPS_Traces"/> for fu
         <title>External tools</title>
         <para>It is possible to add new external tools. The file is <filename>~/.viking/external_tools.xml</filename>.</para>
         <para>An example of the file in the distribution <filename>doc/examples/external_tools.xml</filename>.</para>
-        <para>The VikWebtoolCenter allows to declare any Webtool using a logic based on center coordinates and zoom level value.</para>
+        <para>The <classname>VikWebtoolCenter</classname> allows to declare any Webtool using a logic based on center coordinates and zoom level value.</para>
         <para>The related properties are:
           <variablelist>
             <varlistentry>
-              <term>id</term>
-              <listitem><para>this is an integer and should be unique as it used to identify the tool</para></listitem>
+              <term>label</term>
+              <listitem><para>the text displayed in the menu entry</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>url</term>
+              <listitem><para>the parametrized URL to open, in the spirit of C printf format, with 2 "%s" and a "%d" fields for X, Y and Z (zoom level) (eg. "http://hostname/?lat=%s&amp;lon=%s&amp;zoom=%d")</para></listitem>
             </varlistentry>
+          </variablelist>
+        </para>
+        <para>The <classname>VikWebtoolBounds</classname> allows to declare any Webtool using a logic based on bounds coordinates.</para>
+        <para>The related properties are:
+          <variablelist>
             <varlistentry>
               <term>label</term>
               <listitem><para>the text displayed in the menu entry</para></listitem>
             </varlistentry>
             <varlistentry>
               <term>url</term>
-              <listitem><para>the parametrized URL to open, in the spirit of C printf format, with 2 "%s" and a "%d" fields for X, Y and Z (zoom level) (eg. "http://hostname/?lat=%s&amp;lon=%s&amp;zoom=%d")</para></listitem>
+              <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 4 "%s" fields for left, right, bottom and top (eg. "http://hostname:8111/load_and_zoom?left=%s&amp;right=%s&amp;bottom=%s&amp;top=%s")</para></listitem>
             </varlistentry>
           </variablelist>
         </para>
-        <para>The VikWebtoolBounds allows to declare any Webtool using a logic based on bounds coordinates.</para>
+      </section>
+      
+      <section>
+        <title>Routing engine</title>
+        <para>It is possible to declare new routing engines. The file is <filename>~/.viking/routing.xml</filename>.</para>
+        <para>An example of the file in the distribution <filename>doc/examples/routing.xml</filename>.</para>
+        <para>The <classname>VikRoutingWebEngine</classname> allows to declare a routing engine available via HTTP.</para>
         <para>The related properties are:
           <variablelist>
             <varlistentry>
               <term>id</term>
-              <listitem><para>this is an integer and should be unique as it used to identify the tool</para></listitem>
+              <listitem><para>a string, should be unique as it used to identify the routing engine</para></listitem>
             </varlistentry>
             <varlistentry>
               <term>label</term>
               <listitem><para>the text displayed in the menu entry</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 left, right, bottom and top (eg. "http://hostname:8111/load_and_zoom?left=%s&amp;right=%s&amp;bottom=%s&amp;top=%s")</para></listitem>
+              <term>url-base</term>
+              <listitem><para>the base URL of the web service (eg. "http://hostname/service?")</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>url-start-ll</term>
+              <listitem><para>the part of the URL setting the starting point location, parametrized in the spirit of C printf format, with 2 "%s" for coordinates (eg. "&amp;start=%s,%s")</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <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>
+                                               <para>(Optional)</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>url-stop-dir</term>
+              <listitem><para>the part of the URL setting the end point location for direction based routing, parametrized in the spirit of C printf format, with one "%s" for direction (eg. "&amp;start=%s")</para>
+                                               <para>(Optional)</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>referer</term>
+              <listitem><para>an URL to serve as referer for the HTTP request (eg. "http://hostname/")</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>follow-location</term>
+              <listitem><para>the max depth of recursive redirections</para></listitem>
             </varlistentry>
           </variablelist>
         </para>
       </section>
       
+      <section>
+        <title>Remote File Datasources</title>
+        <para>It is possible to add web references expected to return a file which can then be opened directly or converted via GPSBabel.</para>
+        <para>The file is <filename>~/.viking/datasources.xml</filename>.</para>
+        <para>An example of the file is in the source distribution <filename>doc/examples/datasources.xml</filename>.</para>
+        <para>The <classname>VikWebtoolDatasource</classname> allows to declare any URL using logic based on coordinates.</para>
+        <para>The related properties are:
+          <variablelist>
+            <varlistentry>
+              <term>label</term>
+              <listitem><para>the text displayed in the menu entry</para></listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>url</term>
+              <listitem>
+                <para>the parametrized URL to open in the spirit of C printf format, with up to 7 "%s" values. e.g. <literal>http://hostname/getfile?lat=%s&amp;lon=%s</literal></para>
+                <para>The order and meaning of these parameters is given by the url_format_code below</para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>url_format_code</term>
+              <listitem>
+                <para>A string describing the parametrized URL substitution parameters, each character represents how to translate each term.</para>
+                <para>B = Bottom of the current view i.e. minimum latitude</para>
+                <para>L = Left of the current view i.e. minimum longitude</para>
+                <para>T = Top of the current view i.e. maximum latitude</para>
+                <para>R = Right of the current view i.e. maximum longitude</para>
+                <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>Thus for the url example above then the format code should be <emphasis>AO</emphasis></para>
+              </listitem>
+            </varlistentry>
+            <varlistentry>
+              <term>file_type</term>
+              <listitem>
+                <para>This value is passed on for the -i parameter in interfacing with GPSBabel.</para>
+                <para>If it is not defined then the returned file is interpreted internally as a GPX file.</para>
+                <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>
+          </variablelist>
+        </para>
+      </section>
+
       <section>
         <title>More</title>
-        <para>Note that, on <trademark>UNIX</trademark> like systems, the extension files (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>, <filename>external_tools.xml</filename>) are also searched in <filename>/etc/viking</filename> and <filename>/usr/share/viking</filename> directories (or related in your system).</para>
+        <para>Note that, on <trademark>UNIX</trademark> like systems, the extension files (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>, <filename>external_tools.xml</filename>, <filename>datasources.xml</filename>) are also searched in <filename>/etc/viking</filename> and <filename>/usr/share/viking</filename> directories (or related in your system).</para>
         <para>The <envar>XDG_DATA_DIRS</envar> environment variable can be used to change these directories.</para>
-        <para>The <envar>XDG_DATA_HOME</envar> environment variable s also used (if set) to look for these extension files.</para>
+        <para>The <envar>XDG_DATA_HOME</envar> environment variable is also used (if set) to look for these extension files.</para>
       </section>
 
-</section>
-
-<section><title>What to Do if &appname; Does Not Seem to Work</title>
-<para>
-In order to get some information about what &appname; is doing, start it in verbose debug mode via the command line:
-<programlisting>viking -dV</programlisting>
-</para>
-<para>
-For instance you can check the correct URLs &appname; is using in requesting remote data for DEMs or map tiles in the verbose debug output.
-E.g. Something like this for DEMs:
-<screen>
-** (viking:28778): DEBUG: curl_download_uri: uri=http://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/N48E008.hgt.zip
-* About to connect() to dds.cr.usgs.gov port 80 (#0)
-* Trying 152.61.128.95... * connected
-* Connected to dds.cr.usgs.gov (152.61.128.95) port 80 (#0)
- GET /srtm/version2_1/SRTM3/Eurasia/N48E008.hgt.zip HTTP/1.1
-User-Agent: viking/0.9.8 libcurl/7.18.2 GnuTLS/2.4.2 zlib/1.2.3.3 libidn/1.8
-Host: dds.cr.usgs.gov
-Accept: */*
- HTTP/1.1 200 OK
- Date: Sun, 26 Jul 2009 18:13:38 GMT
- Server: Apache
- Last-Modified: Tue, 21 Jul 2009 19:57:35 GMT
- ETag: eac3f8-1828f5-46f3caa76070a
- Accept-Ranges: bytes
- Content-Length: 1583349
- Content-Type: application/zip
-
-* Connection #0 to host dds.cr.usgs.gov left intact
-* Closing connection #0
-** (viking:28778): DEBUG: dem_layer_add_file: /home/username/.viking-maps/srtm3-Eurasia/N48E008.hgt.zip
-</screen>
-Or for OSM Mapnik tile server:
-<screen>
-* About to connect() to tile.openstreetmap.org port 80 (#0)
-*   Trying 193.63.75.28... * connected
-* Connected to tile.openstreetmap.org (193.63.75.28) port 80 (#0)
- GET /13/4065/2748.png HTTP/1.1
-User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
-Host: tile.openstreetmap.org
-Accept: */*
 
-* HTTP 1.0, assume close after body
- HTTP/1.0 200 OK
- Date: Thu, 14 Oct 2010 22:18:42 GMT
- Server: Apache/2.2.8 (Ubuntu)
- ETag: "b66ff9d46474bab68262a3483428a232"
-** (viking:16704): DEBUG: curl_get_etag_func: ETAG found: "b66ff9d46474bab68262a3483428a232"
- Content-Length: 17194
- Cache-Control: max-age=94805
- Expires: Sat, 16 Oct 2010 00:38:47 GMT
- Content-Type: image/png
- Age: 5153
- X-Cache: HIT from konqi.openstreetmap.org
- X-Cache-Lookup: HIT from konqi.openstreetmap.org:3128
- Via: 1.1 konqi.openstreetmap.org:3128 (squid/2.7.STABLE7)
- Connection: close
-* Closing connection #0
-* About to connect() to a.andy.sandbox.cloudmade.com port 80 (#0)
-*   Trying 178.63.75.195... ** (viking:16704): DEBUG: curl_download_uri: uri=http://tile.openstreetmap.org/13/4065/2749.png
-* About to connect() to tile.openstreetmap.org port 80 (#0)
-*   Trying 193.63.75.28... * connected
-* Connected to a.andy.sandbox.cloudmade.com (178.63.75.195) port 80 (#0)
- GET /tiles/cycle/13/4065/2747.png HTTP/1.1
-User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
-Host: a.andy.sandbox.cloudmade.com
-Accept: */*
-
-* connected
-* Connected to tile.openstreetmap.org (193.63.75.28) port 80 (#0)
- GET /13/4065/2749.png HTTP/1.1
-User-Agent: viking/0.9.96 libcurl/7.20.1 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18
-Host: tile.openstreetmap.org
-Accept: */*
-
-* HTTP 1.0, assume close after body
- HTTP/1.0 200 OK
- Date: Thu, 14 Oct 2010 23:44:35 GMT
- Server: Apache/2.2.8 (Ubuntu)
- ETag: "8e520ad47ce9c1b63430554886eb5fab"
-** (viking:16704): DEBUG: curl_get_etag_func: ETAG found: "8e520ad47ce9c1b63430554886eb5fab"
- Content-Length: 18094
- Cache-Control: max-age=87742
- Expires: Sat, 16 Oct 2010 00:06:57 GMT
- Content-Type: image/png
- X-Cache: MISS from konqi.openstreetmap.org
- X-Cache-Lookup: MISS from konqi.openstreetmap.org:3128
- Via: 1.1 konqi.openstreetmap.org:3128 (squid/2.7.STABLE7)
- Connection: close
-</screen>
-</para>
-</section>
+      <section>
+        <title>Miscellaneous Settings</title>
+        <para>Various individual values are automatically saved between &app; sessions in the <filename>~/.viking/viking.ini</filename> file.</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>
+        <para>Some values in this file are <emphasis>read only</emphasis>, in the sense that there is no way to set it other than by manually entering in the keys and values (the key will not exist in the file otherwise). This allows some fine tuning of &app; behaviours, without resorting to recompiling the code. However is it not expected that these values should need to be changed for a normal user, hence no GUI options for these have been provided.</para>
+        <para>Here is the list of the <emphasis>read only</emphasis> keys and their default values.</para>
+       <orderedlist>
+         <listitem>
+           <para>maps_max_tiles=1000</para>
+         </listitem>
+         <listitem>
+           <para>maps_min_shrinkfactor=0.0312499</para>
+         </listitem>
+         <listitem>
+           <para>maps_max_shrinkfactor=8.0000001</para>
+         </listitem>
+         <listitem>
+           <para>maps_real_min_shrinkfactor=0.0039062499</para>
+         </listitem>
+         <listitem>
+           <para>background_max_threads=10</para>
+         </listitem>
+         <listitem>
+           <para>window_menubar=true</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>
+       </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>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>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>
+<!-- End of Extending Viking -->
 
 <section><title>Dependencies</title>
 <formalpara><title>gpsbabel</title>