+<section><title>View Google Directions</title>
+<para>
+This option is only available on a track created using the Route Finder tool.
+</para>
+<para>
+Launch a web browser to see the Google directions page which yielded the route.
+</para>
+<note>
+<para>
+The record of the Google route is stored in the track's comment, so if the comment is changed (or the route was created by something other than the Route Finder tool) this will not work correctly.
+</para>
+</note>
+</section>
+
+</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>
+</itemizedlist>
+</section>
+
+<section><title>Waypoint Properties</title>
+
+<para>
+This shows a dialog with detailed information for the waypoint. Many properties of the waypoint can changed here, such as the comment, the symbol used in drawing or the image (normally a photograph taken at this position) assiocated with it. When a waypoint has an image, a thumbnail of it is drawn in the viewport for the waypoint (in preference to the symbol).
+</para>
+<para>
+If the waypoint has an associated image, then the Geotag information may be updated, either with updating the file's modification timestamp or not.
+This can be useful when the waypoint has been moved.
+</para>
+
+</section><!-- WP Prop END -->
+
+<section><title>Waypoint Operations</title>
+
+<section><title>Goto</title>
+<para>
+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) then this option is available and allows launching a web browser to go to the Geocache page.
+</para>
+</section>
+
+<section><title>New Waypoint</title>
+<para>
+Same as the layer <link linkend="new_wp">New Waypoint</link>.
+</para>
+</section>
+
+</section><!-- WP END -->
+
+<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>
+<para>
+Images need to have an EXIF DATE_TIME_ORIGINAL (nearly always set by a camera). This timestamp is then used to find the location when the image(s) was taken by searching through the track(s) to find the nearest time - interpolating between points if necessary to set the location.
+</para>
+<note>
+<para>
+Generally it is good policy to synchronize your camera's clock with your GPS clock before taking photographs. However the times can be adjusted afterwards (if necessary) to take into consideration clock differences.
+</para>
+</note>
+<para>
+Various options allow control of how the geotagging process is performed:
+</para>
+<itemizedlist>
+<listitem><para>Images - Add the images used for geotagging</para></listitem>
+<listitem><para>Create Waypoints</para></listitem>
+<listitem><para>Overwrite Existing Waypoints</para></listitem>
+<listitem><para>Write EXIF</para></listitem>
+<listitem><para>Overwrite Existing GPS Information</para></listitem>
+<listitem><para>Interpolate Between Track Segments</para></listitem>
+<listitem><para>Image Time Offset - The number of seconds to ADD to the photos time to make it match the GPS data. Calculate this with (GPS - Photo). Can be negative or positive. Useful to adjust times when a camera's timestamp was incorrect.</para></listitem>
+<listitem><para>Image Timezone - The timezone that the used when the images were created. For example, if a camera is set to AWST or +8:00 hours. Enter +8:00 here so that the correct adjustment to the images' time can be made. GPS data is always in UTC.</para></listitem>
+</itemizedlist>
+</section>
+
+</section><!-- TRW Layer END -->
+
+<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 <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.
+</para>
+
+<section><title>Download</title>
+<para>
+To download data from the GPS, right-click the GPS layer and click <guimenuitem>Download from GPS</guimenuitem>.
+</para>
+</section>
+
+<section><title>Upload</title>
+<para>
+To upload data to the GPS, first populate the GPS Upload child
+layer of the GPS layer (either by creating waypoints/tracks/routes in it, or
+copying and pasting or dragging waypoints/tracks/routes from another layer).
+Then right-click the GPS layer and click <guimenuitem>Upload to GPS</guimenuitem>.
+</para>
+</section>
+
+<section><title>Realtime Tracking</title>
+<para>
+You must set up gpsd correctly or use a GPSD server and put the
+correct information in the GPS layer properties dialog. Then right-click
+the layer and select <guimenuitem>Start Realtime Tracking</guimenuitem>.
+</para>
+</section>
+
+<section><title>Empty <emphasis>Item</emphasis></title>
+<para>
+There are several options to quickly delete a subsection of data:
+</para>
+<itemizedlist>
+<listitem><para>Empty Realtime</para></listitem>
+<listitem><para>Empty Upload</para></listitem>
+<listitem><para>Empty Download</para></listitem>
+<listitem><para>Empty All</para></listitem>
+</itemizedlist>
+</section>
+
+</section><!-- End GPS -->
+
+<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>
+<para>
+Elevation data can be useful in planning trips, as you many wish to avoid/minimise the hills encountered. [OSM Cyclemap is also useful this way too]
+</para>
+<para>
+To download the data use the DEM Download tool (shown on the toolbar), and then click on a area of the viewport. Once files have been downloaded they can then be loaded from disk via the DEM properties in future application runs.
+</para>
+<para>
+The current data server is: <ulink url="http://dds.cr.usgs.gov/srtm/version2_1/">NASA STRM 2.1</ulink>.
+</para>
+<para>
+ATM &appname; does not auto download DEM data. If you want to get lots of data blocks, you may wish to use some other program get such as <application>curl</application> or <application>wget</application> to download them for an area.
+</para>
+<note>
+<para>
+Using many DEMs is CPU/memory intensive. Depending on your computer's capability, &appname; will be less responsive when about 50+ DEM blocks are loaded. It is probably unwise to attempt using 200+ blocks, so trying to use DEMs covering large countries/continents (USA, Australia etc...) is unlikely to work. In these conditions under Linux, &appname; may be automatically stopped by the "<ulink url="http://en.wikipedia.org/wiki/Out_of_memory/">OOM</ulink> Killer"
+</para>
+</note>
+
+</section><!-- End DEM -->
+
+
+<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 - <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:
+</para>
+<itemizedlist>
+<listitem><para>Bing Bird's Eye (Aerial) Maps (&appname; Version1.2+)</para></listitem>
+<listitem><para>Terraserver Topos</para></listitem>
+<listitem><para>Terraserver Aerials</para></listitem>
+<listitem><para>Terraserver Urban Areas</para></listitem>
+<listitem><para>OpenStreetMap (Mapquest) - This is the default (&appname; Version1.3+)</para></listitem>
+<listitem><para>OpenStreetMap (Mapnik)</para></listitem>
+<listitem><para>OpenStreetMap (Cycle)</para></listitem>
+<listitem><para>OpenStreetMap (Transport) (&appname; Version1.3+)</para></listitem>
+<listitem><para>NASA BlueMarble</para></listitem>
+<listitem><para>SpotMap (&appname; Version1.1+)</para></listitem>
+</itemizedlist>
+
+<para>
+&appname; can be configured to handle additional maps. See <xref linkend="extend_viking"/> for further detail.
+</para>
+
+<section><title>Layer Operations</title>
+<section><title>Download Missing Onscreen Maps</title>
+<para>
+This requests map tiles for areas of the viewport that do not currently have one.
+</para>
+</section>
+
+<section><title>Download New Onscreen Maps</title>
+<para>
+This requests map tiles only if the maps are older than the Tile Age preference.
+</para>
+</section>
+
+<section><title>Reload All Onscreen Maps</title>
+<para>
+Force a refresh of all visible map tiles.
+</para>
+</section>
+</section>
+
+
+</section><!-- End Maps -->
+
+<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 <emphasis>Top Layer</emphasis> that can not be removed or renamed.
+</para>
+<para>
+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>
+<listitem><para>Mountain Biking</para></listitem>
+<listitem><para>Road Cycling</para></listitem>
+<listitem><para>Car Trips</para></listitem>
+<listitem><para>Sailing</para></listitem>
+<listitem><para>Holidays</para></listitem>
+<listitem><para>UK Points of Interest</para></listitem>
+<listitem><para>USA Points of Interest</para></listitem>
+<listitem><para>etc...</para></listitem>
+</itemizedlist>
+</para>
+<para>
+Thus one can have a list of all your tracks, but groups can be shown or not using the relevant layers visibility checkbox.
+</para>
+
+<para>
+This layer only has one operation: <guilabel>New Layer</guilabel>
+</para>
+
+<section><title>New Layer</title>
+<para>
+Add a new layer of the selected type.
+</para>
+</section>
+
+</section><!-- End Agg -->
+
+<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>
+<section><title>Layer Operations</title>
+<section><title>Zoom to Fit Map</title>
+<para>
+Automatically set a zoom level to see the entire map coverage.
+</para>
+</section>
+
+<section><title>Goto Map Center</title>
+<para>
+Center the viewport on this map.
+</para>
+
+</section>
+<section><title>Export to World File</title>
+<para>
+Opens a file save dialog to save the scale and position information as a <ulink url="http://en.wikipedia.org/wiki/World_file">World File</ulink>.
+</para>
+</section>
+</section>
+
+</section><!-- End GeoRef -->
+
+<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 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>
+<para>
+You can use the scroll wheel, the middle-click, the middle-click+drag to zoom, center map at position and pan respectively no matter what tool you are using.
+</para>
+<para>
+<keycap>Scroll</keycap>: zoom in and out keeping the mouse over same location
+</para>
+<para>
+<keycap>Ctrl-scroll</keycap>: pan north-south (also <keycap>Ctrl-up</keycap>, <keycap>Ctrl-down</keycap>)
+</para>
+<para>
+<keycap>Shift-scroll</keycap>: pan east-west (also <keycap>Ctrl-left</keycap>, <keycap>Ctrl-right</keycap>)
+</para>
+<para>
+<keycap>Ctrl-shift-scroll</keycap>: zoom in and out, without changing the center (also <keycap>Ctrl+</keycap>, <keycap>Ctrl-</keycap> [*not* KeyPad +/-])
+</para>
+<para>
+<keycap>Middle-click</keycap>: make the clicked point on the map the center
+</para>
+<para>
+<keycap>Middle-click</keycap> and drag: pan
+</para>
+
+<section><title>Pan</title>
+<para>
+This is the default mode of operation for &appname;.
+</para>
+<para>
+This mode is entered by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/mover_22.png"/></guiicon>
+</para>
+<para>
+Pan moves the viewpoint. A single click centers the viewport at that point, whereas click and drag dynamically moves the view around.
+This is the default tool.
+</para>
+<para>
+This mode can also be entered by the keyboard shortcut <keycap>Ctrl+Shift+P</keycap>
+</para>
+</section>
+
+<section><title>Zoom</title>
+<para>
+This mode is entered by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/zoom_18.png"/></guiicon>
+</para>
+<para>
+Zooms in and out on the clicked part of the map or by the selected area.
+</para>
+<para>
+This mode can also be entered by the keyboard shortcut <keycap>Ctrl+Shift+Z</keycap>
+</para>
+<para>
+<keycap>Ctrl</keycap> + left or right click: Zoom in/out and center the map on the clicked location
+</para>
+<para>
+<keycap>Shift</keycap> (and hold) + left mouse button: Draws a bounding box area on which to zoom in. The zoom action is performed when the left mouse button is released.
+</para>
+</section>
+
+<section><title>Ruler</title>
+<para>
+This mode is entered by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/ruler_18.png"/></guiicon>
+</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 <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" 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>
+<para>
+The select tool allows one to choose any waypoint or track by clicking on it (or reasonably near) in the viewpoint.
+</para>
+<para>
+ATM to select a track one must actually click on a trackpoint, which is also selected.
+</para>
+<para>
+This mode can also be entered by the keyboard shortcut <keycap>Ctrl+Shift+S</keycap>
+</para>
+</section>
+
+<section><title>TrackWaypoint Layer Tools</title>
+<para>
+You must have a <xref linkend="TrackWaypoint"/> Layer selected to use these tools.
+</para>
+<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>
+<para>
+Left click will open the new waypoint dialog using the specified position.
+</para>
+</section>
+
+<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>
+<para>
+Left click to create a new trackpoint. If it's the initial trackpoint you will be asked to enter a name for the track.
+If <keycap>Ctrl</keycap> is held at the same time, it will jump the new trackpoint position to a nearby existing trackpoint.
+Right click or <keycap>Backspace</keycap>: undo one point.
+</para>
+<para>
+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 id="route_create" xreflabel="Create Route"><title>Create Route</title>
+<para>
+Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/vik_new_route_18.png"/></guiicon>
+</para>
+<para>
+This operates in exactly the same way as the <link linkend="track_create">Create Track</link> above.
+</para>
+<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>
+
+<section><title>Edit Trackpoint</title>
+<para>
+Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/edtr_18.png"/></guiicon>
+</para>
+<para>
+Left click near a trackpoint (in screen pixel terms) to bring up the Track Point Edit dialog on that trackpoint.
+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>
+<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.
+</para>
+</section>
+
+<section><title>Show Picture</title>
+<para>
+Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/showpic_18.png"/></guiicon>
+</para>
+<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 <xref linkend="prefs_external"/>
+</para>
+</section>
+
+<section id="route_finder" xreflabel="Route Finder"><title>Route Finder</title>
+<para>
+Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/route_finder_18.png"/></guiicon>
+</para>
+<para>Creates a track using default routing engine between two points.
+Requires an internet connection. Click one point, then click another to
+create a track.
+</para>
+<para>
+Right-click: undo last routing (only track removed - not any waypoints)
+</para>
+<para>
+<keycap>Ctrl</keycap>: continue previous track
+</para>
+</section>
+
+</section>
+
+<section><title>Georef Map Layer Tools</title>
+<para>
+You must have a <xref linkend="GeoRef"/> Map Layer selected to use these tools.
+</para>
+<section><title>Georef zoom</title>
+<para>
+Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/geozoom_18.png"/></guiicon>
+</para>
+<para>Changes the zoom level of the georeferenced map and changes the
+&appname; zoom level accordingly. Useful if you are trying to match GPS
+data to a georeferenced map.
+</para>
+</section>
+
+<section><title>Georef move</title>
+<para>
+Enable this tool by clicking on the toolbar icon: <guiicon><inlinegraphic fileref="figures/geomove_18.png"/></guiicon>
+</para>
+<para>
+Drag to move the georeferenced map.
+</para>
+</section>
+</section>
+
+<section id="map_tool_dl" xreflabel="Map Download"><title>Map Download</title>
+<para>
+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>
+</para>
+<para>
+Click to download a single tile. Drag to download tiles in the dragged rectangle area.
+</para>
+<para>
+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 <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>
+</para>
+<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>
+<para>
+Many services are available only via a web browser (Google Maps, OpenStreetMap Potlach editor, etc.).
+</para>
+<para>
+Jumping from &app; to such service can become annoying.
+</para>
+<para>
+&appname; allows you to open such service directly at the position currently viewed in &app;.
+</para>
+<para>
+This feature is called <guilabel>Webtools</guilabel>. It is also known as External Tools.
+</para>
+</section>
+
+</section>
+
+<!-- Preferences -->
+<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>
+<figure>
+<title>Properties dialog: units part</title>
+<screenshot>
+ <graphic format="PNG" fileref="figures/properties_units.png"/>
+</screenshot>
+</figure>
+<para>Concerning degrees, you can select the way to display them:
+<variablelist>
+<varlistentry>
+<term>DDD</term><listitem><para>decimal degree</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>DMM</term><listitem><para>partial sexagesimal display: degrees, minutes and decimal part of minutes</para></listitem>
+</varlistentry>
+<varlistentry>
+<term>DMS</term><listitem><para>sexagesimal display: degrees, minutes and seconds</para></listitem>
+</varlistentry>
+</variablelist>
+</para>
+<figure>
+<title>Properties dialog: degree display options</title>
+<screenshot>
+ <graphic format="PNG" fileref="figures/properties_degree.png"/>
+</screenshot>
+</figure>
+</section>
+<section><title>Waypoint Icon Size</title>
+<para>An option exists to control the icon (symbol) size used for waypoints
+</para>
+</section>
+<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>
+<para>This age is used to decided wether or not a new request to tile server must be done.
+</para>
+<para>Changing this value, you will increase or decrese the network load.</para>
+</section>
+<section><title>Default maplayer directory</title>
+<para>This property sets the default directory of the tiles cache.
+This value is used when you create a new map layer.
+</para>
+<para>You are still able to change this value in each map layer properties.</para>
+</section>
+<section><title>Map Cache Memory Size</title>
+<para>This controls the amount of maps that are stored in memory, rather than having to reread from disk.
+Generally if you have a system with lots of memory it's recommended to increase this value.
+</para>
+</section>
+</section>
+
+<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>
+<section><title>Image Viewer (Not Windows)</title>
+<para>Allows setting the program used to view images associated with Waypoints.</para>
+<para>By default this is set to <application>xdg-open</application> which should open the system's default image viewer, however this can be overridden with this setting.</para>
+<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 <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>
+<listitem><para>Some other user defined program</para></listitem>
+</itemizedlist>
+</section>
+</section>
+
+<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 <xref linkend="osm_upload"/> procedure.</para>
+<warning>
+<para>
+Your OSM password will be stored in plain text.
+</para>
+</warning>
+</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>
+&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>
+&appname;'s default location is a Manhatten, New York, USA, so you may need to pick another place that interests you - such as where you live.
+</para>
+<procedure>
+<title>Method A</title>
+<step>
+<para>
+ Use the online location address/place search.
+</para>
+<para>
+ Use the <guibutton>Go to Location</guibutton> toolbar button or from the menus
+ <menuchoice><guimenu>View</guimenu><guimenuitem>Go to Location</guimenuitem></menuchoice>.
+ You can change the search location provider if desired.
+ Enter the name of place you wish to go to (you may need to specify the country to refine the search).
+ Also you can enter a post code or a ZIP code instead.
+</para>
+<note>
+ <para>You will need an internet connection for this search to work</para>
+</note>
+</step>
+</procedure>
+<procedure>
+<title>Method B</title>
+<step>
+<para>
+ If you know the coordinates of where you want to view:
+</para>
+<para>
+Use <menuchoice><guimenu>View</guimenu></menuchoice> and select from either <menuchoice><guimenu>Go to Lat/Lon</guimenu></menuchoice> or <menuchoice><guimenu>Go to UTM</guimenu></menuchoice> and then enter in the specific coordinates.
+</para>
+</step>
+</procedure>
+<procedure>
+<title id="method_c">Method C</title>
+<step>
+<para>Use the GPS Layer or <menuchoice><guimenu>File</guimenu><guimenuitem>Acquire</guimenuitem><guimenuitem>From GPS</guimenuitem></menuchoice>
+to load data directly from your GPS into &appname;.
+</para>
+<para>You can specify the types of data to acquire: Tracks, Routes and/or Waypoints.
+</para>
+<note>
+<para>You must have write permission to the port used. For <trademark>Unix</trademark> like OS:</para>
+<itemizedlist>
+ <listitem><para>/dev/ttyS0 is the first serial port</para></listitem>
+ <listitem><para>/dev/ttyUSB0 is the first USB port</para></listitem>
+ <listitem><para>usb: is any USB port</para></listitem>
+</itemizedlist>
+<para>Depending on your distribution only one of the USB port types may work</para>
+<para>For <trademark>Windows</trademark>:</para>
+<itemizedlist>
+ <listitem><para>com1: is the first serial port</para></listitem>
+ <listitem><para>usb: is any USB port</para></listitem>
+</itemizedlist>
+</note>
+<note>
+ <para>The GPS devices supported are those supported by <application>GPSBabel</application>.</para>
+ <para>Garmin and Magellan GPS devices supported by all versions, later versions of GPSBabel support more devices such as DeLorme and Navilink.</para>
+</note>
+</step>
+</procedure>
+<procedure>
+<title>Method D</title>
+<step>
+<para>
+Get data from files in GPX or KML format, which can be opened directly.
+Use <menuchoice><guimenu>File</guimenu><guimenuitem>Open</guimenuitem></menuchoice>
+</para>
+<para>
+Other formats can be imported that are supported by GPSBabel.
+<menuchoice><guimenu>File</guimenu><guimenuitem>Acquire</guimenuitem><guimenuitem>Import File With GPSBabel...</guimenuitem></menuchoice>
+</para>
+<note>
+<para>
+The viewport will be automatically moved and resized to view the contents of the file.
+</para>
+</note>
+</step>
+</procedure>
+</section>
+<section><title>Add a Map Layer</title>
+<para>
+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 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>
+<para>
+You need an open internet connection when you are downloading maps.
+</para>
+</note>
+<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>
+<para>
+ You can save the current center position of the viewport as the default location AKA the Home Location by
+ <menuchoice><guimenu>Edit</guimenu><guimenuitem>Set the Default Location</guimenuitem></menuchoice>.
+</para>
+<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 <xref linkend="prefs"/>.
+</para>
+</section>
+
+</section>
+<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 <userinput>Stuttgart</userinput>.
+</para>
+<section><title>Fetching the maps</title>
+<para>
+<emphasis role="bold">Map</emphasis>
+</para>
+<procedure>
+<step><para><menuchoice><guimenu>Layers</guimenu><guimenuitem>New Map Layer</guimenuitem></menuchoice></para></step>
+<step><para>in the layer properties dialogue choose e.g. <guilabel>OpenStreetMap (Mapnik)</guilabel>.</para></step>
+<step>
+<para>For the moment, we keep the default <guilabel>Maps Directory</guilabel> (the directory in
+which the maps will be stored and can be used for offline usage).</para>
+</step>
+<step>
+<para>Check <guilabel>Autodownload maps</guilabel> and keep the zoom level as <guilabel>Use Viking
+Zoom Level</guilabel>.</para>
+<note>
+<para>
+however, that these settings will play an important
+role in the pre-fetch for offline usage discussed later
+</para>
+</note>
+</step>
+</procedure>
+<para>You'll see a map of Stuttgart. Using the mouse wheel, you can
+zoom in and out. The maps for the choosen resolution will be downloaded
+automatically.
+</para>
+<para>
+<emphasis role="bold">DEM Layer (Height Map)</emphasis>
+</para>
+<procedure>
+<step><para>Zoom out to 512.</para></step>
+<step><para><menuchoice><guimenu>Layers</guimenu><guimenuitem>New DEM Layer</guimenuitem></menuchoice></para></step>
+<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 <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>
+<procedure>
+<step><para>highlight the DEM layer in the layer listing on the left</para></step>
+<step><para>in the toolbar, check DEM layer download/import (the last symbol)</para></step>
+<step><para>a left-click in the map window should then fetch the DEM data</para></step>
+</procedure>
+<para>
+This might take some time.
+</para>
+<para>
+Sometimes, a tile does not show up correctly (you might see only a
+black frame in the map window) because it got corrupted during
+transfer. In order to correct this, you can delete the corresponding
+datafile in the cache. <programlisting> right-click the DEM layer properties</programlisting>
+</para>
+<para>
+The <guilabel>DEM Files</guilabel> listing allows you to delete the specific tiles (alternatively do this from the command line).
+</para>
+<para>
+You can also alter the Min. and Max. elevation in this dialogue.
+</para>
+
+</section>
+<section><title>GPS Track with Height Profile</title>
+<procedure>
+<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 <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>
+<step>
+ <para>Click several times to generate a track (a right-click removes the last point).</para>
+ <para>Height data is set automatically since DEM data is available</para>
+</step>
+<step><para>Expand tracks in the layer menu, your track should show up, select it</para></step>
+<step><para>Right click your track, select <guimenuitem>Properties</guimenuitem></para></step>
+<step><para>Click the tab <guilabel>Elevation-distance</guilabel> - enjoy the plot</para></step>
+</procedure>
+<para>
+In order to save this setting for later usage
+</para>
+<procedure>
+<step><para>click <guilabel>OK</guilabel> in the <guilabel>Track Properties</guilabel> dialog</para></step>
+<step><para><menuchoice><guimenu>File</guimenu><guimenuitem>Save As</guimenuitem></menuchoice>, choose a name (you can open this <emphasis>view</emphasis> later via <menuchoice><guimenu>file</guimenu><guimenuitem>Open</guimenuitem></menuchoice>).</para></step>
+</procedure>
+
+</section>
+<section><title>Usecase: offline data for holiday</title>
+<para>
+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>
+<step><para><menuchoice><guimenu>View</guimenu><guimenuitem>Go to Location</guimenuitem></menuchoice>, enter Bologna</para></step>
+<step><para><menuchoice><guimenu>Layers</guimenu><guimenuitem>New Map Layer</guimenuitem></menuchoice></para></step>
+<step><para>Choose e.g. <guilabel>OpenStreetMap (mapnik)</guilabel>.</para></step>
+<step><para>adapt the <guilabel>maps directory</guilabel> e.g. to <filename>/home/user/.viking-map-holiday/</filename>.
+This allows you to delete the map stuff after holiday without purging the rest of your maps.
+</para></step>
+<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 <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
+are stored in <filename>/home/user/.viking-maps/</filename>. You can move the corresponding
+tiles into <filename>.viking-map-holiday/</filename> if you like.
+</para>
+<para>
+<emphasis role="bold">Download map data for all zoom levels</emphasis>
+</para>
+<procedure>
+<step><para>uncheck the DEM layer for the map to show up</para></step>
+<step><para>navigate the map to be centered at Bologna</para></step>
+<step><para>choose the zoom such, that all regions of interest are displayed in the map window (e.g. 1024)</para></step>
+<step>
+<para>follow this sequence until you have all tiles for all zoom levels you need</para>
+<substeps>
+<step><para>right-click the map layer properties</para></step>
+<step><para>set the zoomlevel explicitely one below the last (in the first cycle 512), hit OK</para></step>
+<step><para>right click the map layer <guimenuitem>Download Missing Onscreen Maps</guimenuitem></para></step>
+<step><para>wait until all tiles for that resolution have been downloaded</para></step>
+</substeps>
+</step>
+</procedure>
+<para>This may take some time and some hard disk capacity.</para>
+<para>
+Do not forget to save your configuration (as discussed above).
+</para>
+
+</section>
+
+</section>
+<section><title>OpenStreetMap project</title>
+<para>
+<ulink url="http://openstreetmap.org/">OpenStreetMap (OSM)</ulink> is a collaborative project to create a free editable map of the world.
+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.
+</para>
+<formalpara>
+<title>Upload a layer</title>
+<para>
+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>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>
+<title>Fill in the form</title>
+<para>
+In both cases, &appname; will retain some information.
+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 tags.
+</para>
+</formalpara>
+</section>
+
+<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.
+</para>
+<formalpara>
+<title>Download all visible tracks</title>
+<para>One solution is to select
+<menuchoice>
+<guimenu>File</guimenu>
+<guisubmenu>Acquire</guisubmenu>
+<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 <emphasis>Page Numbers</emphasis> which start at 0.
+Increasing the page number parameter allows one to request the subsequent sets of point groups.
+</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 <xref linkend="Maps"/> layer enabled for ease of use (if not see above to get one).
+</para>
+<section><title>Manual Positioning</title>
+<para>
+ This is useful for instances when you already know exactly where the image was taken (no need for tracklog).
+ Or maybe you want to adjust an automatically generated waypoint for the position of the subject of the image rather than the location that the photograph is taken from.
+ ATM this process only works on an individual image, so it will be tedious for handling lots of images.
+</para>
+<para>
+ 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 <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>
+</para>
+<para>
+ The <guilabel>Update Geotag on Image</guilabel> options are only available when a waypoint has an image associated with it.
+</para>
+</section>
+
+<section><title>Automatic Positioning Against a Tracklog</title>
+<para>
+ First you will need a tracklog with timestamps in it. Either load one from a previously saved file or freshly acquired from a GPS device -
+ see <link linkend="howto_start">Getting Started</link>.
+ 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 <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.
+ If things are succesful, new waypoints with thumbnail images of the photographs will appear.
+ You should probably check they are really in the right place as often the timestamp of the camera may not be aligned to the GPS correctly leading to inferring incorrect locations.
+</para>
+<formalpara><title>Option: Overwrite Waypoints</title>
+<para>
+ This is particularly useful when one finds an attempt at geotagging gives wrong locations, often due to time offset issues.
+ Simply try again with a new time offset (often 1 hour adjustments due to Daylight Savings or Summer Time times) and the old waypoints will be updated (instead of creating new ones).
+</para>
+</formalpara>
+<para>
+ If you have multiple tracks in a TrackWaypoint layer, then invoking the <menuchoice><guimenu>Geotag Images...</guimenu></menuchoice> action on the layer
+ will search all the tracks to find location matches.
+</para>
+</section>
+</section>
+
+<section><title>GPS Real Time Location (Not <trademark>Windows</trademark>)</title>
+<para>
+ &appname; relies on <ulink url="http://www.catb.org/gpsd/">gpsd</ulink> to provide the current location from a real time feed from a GPS device.
+ Unfortunately <application>gpsd</application> is not available on <trademark>Windows</trademark>,
+ so currently this functionality is disabled in <trademark>Windows</trademark> builds of &appname;
+</para>
+<para>
+ 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 <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.
+</para>
+<para>
+ Current Linux distributions should run <application>gpsd</application> automatically when a GPS Device is plugged in. Otherwise you may have to run <application>gpsd</application> manually.
+</para>
+<para>
+ Then right-click the layer and select <guimenuitem>Start Realtime Tracking</guimenuitem>.
+ Hopefully the viewport should jump to the GPS location.
+</para>
+<para>
+ Troubleshooting checklist:
+</para>
+<procedure><step><para>Confirm <application>gpsd</application> is running.</para></step></procedure>
+<procedure><step><para>Confirm on the GPS device it has a location.</para></step></procedure>
+<procedure><step><para>Confirm the <emphasis>Realtime Tracking Mode</emphasis> settings.</para></step></procedure>
+</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>
+<!-- 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>
+ <para>Here is an example:
+<programlisting><![CDATA[
+<objects>
+ <object class="ClassName">
+ <property name="property_name1">Property value</property>
+ <property name="property_name2">Property value</property>
+ </object>
+ ...
+<objects>
+]]>
+</programlisting>
+</para>
+ <para>You can find more examples in the documentation part of the distribution.</para>
+ <section>
+ <title>Map Source</title>
+ <para>It is possible to add new map's sources. The file is <filename>~/.viking/maps.xml</filename> for <trademark>UNIX</trademark> like systems and <filename>C:\Documents and Settings\<replaceable>username</replaceable>\.viking\maps.xml</filename> on <trademark>Windows XP</trademark>.</para>
+ <para>An example of the file is in the distribution <filename>doc/examples/maps.xml</filename>. Further examples and values are online in the <ulink url="http://sourceforge.net/apps/mediawiki/viking/index.php?title=Maps">Maps Wiki</ulink></para>
+
+ <para>The <classname>VikSlippyMapSource</classname> allows to declare any map's source working like OpenStreetMap. It supports the following properties:
+ <variablelist>
+ <varlistentry>
+ <term>id</term>
+ <listitem><para>this is an integer and should be unique as it used to identify the map source</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>label</term>
+ <listitem><para>the text displayed in the map's source selection dialog</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>hostname</term>
+ <listitem><para>the server's hostname (eg. "tile.openstreetmap.org")</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url</term>
+ <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 3 "%d" fields for X, Y and Z (zoom level) (eg. "/%d/%d/%d.png")</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>The <classname>VikTmsMapSource</classname> allows to declare any TMS service. It supports the following properties:
+ <variablelist>
+ <varlistentry>
+ <term>id</term>
+ <listitem><para>this is an integer and should be unique as it used to identify the map source</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>label</term>
+ <listitem><para>the text displayed in the map's source selection dialog</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>hostname</term>
+ <listitem><para>the server's hostname (eg. "tile.openstreetmap.org")</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url</term>
+ <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 3 "%d" fields for X, Y and Z (zoom level) (eg. "/%d/%d/%d.png")</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>The <classname>VikWmscMapSource</classname> allows to declare any WMS or WMS-C service. It supports the following properties:
+ <variablelist>
+ <varlistentry>
+ <term>id</term>
+ <listitem><para>this is an integer and should be unique as it used to identify the map source</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>label</term>
+ <listitem><para>the text displayed in the map's source selection dialog</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>hostname</term>
+ <listitem><para>the server's hostname (eg. "tile.openstreetmap.org")</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url</term>
+ <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 4 "%s" fields for bounding box coordinates (eg. "/coord=%s,%s,%s,%s")</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ </section>
+
+ <section>
+ <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: <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>
+ <term>label</term>
+ <listitem><para>the text displayed in the <guilabel>Go-To</guilabel> dialog</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>url-format</term>
+ <listitem><para>the parametrized address of the query, in the spirit of C <function>printf</function> format, with a single "%s" field (replaced by the query string)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lat-path</term>
+ <listitem><para>XML path of the latitude (eg. <literal>/root/parent/elem</literal>)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lat-attr (optional)</term>
+ <listitem><para>name of the attribute (of previous element) containing the latitude</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lon-path</term>
+ <listitem><para>XML path of the longitude (eg. <literal>/root/parent/elem</literal>)</para></listitem>
+ </varlistentry>
+ <varlistentry>
+ <term>lon-attr (optional)</term>
+ <listitem><para>name of the attribute (of previous element) containing the longiude</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </para>
+ <para>As a facility (or readability) it is possible to set both path and attribute name in a single property, like an XPath expression. To do so, simply set both info in lat-path (or lon-path) in the following format: <literal>/root/parent/elem@attribute</literal>.</para>
+ </section>
+
+ <section>
+ <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 <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>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&lon=%s&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 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&right=%s&bottom=%s&top=%s")</para></listitem>
+ </varlistentry>
+ </variablelist>
+ </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>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-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. "&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. "&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. "&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. "&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. "&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&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>, <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 is also used (if set) to look for these extension files.</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=KATDN</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>
+ </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>
+<para>&appname; uses <ulink url="http://gpsbabel.org/">GPSBabel</ulink> to convert data.</para>
+</formalpara>
+<formalpara><title>unbuffer (optional)</title>
+<para>&appname; uses unbuffer command to optimize conversion calls.</para>
+</formalpara>
+<formalpara><title>gpsd (optional - but not <trademark>Windows</trademark>)</title>
+<para>&appname; can use <ulink url="http://www.catb.org/gpsd/">gpsd</ulink> to get the current location.</para>
+</formalpara>
+</section>
+
+</article>