]> git.street.me.uk Git - andy/viking.git/blobdiff - doc/viking.xml
Support Waypoint timestamps in .vik files.
[andy/viking.git] / doc / viking.xml
index 64d037e603b00ee79c77431aa14c2a6d70f111cd..0f7689e71454f81b4b708b0a649701b4d79d4649 100644 (file)
@@ -30,7 +30,10 @@ and docbook-xsl in your Build-Depends control field.
   <!ENTITY dhfirstname "<firstname>Ralf</firstname>">
   <!ENTITY dhsurname   "<surname>Meyer</surname>">
   <!-- Please adjust the date whenever revising the manpage. -->
   <!ENTITY dhfirstname "<firstname>Ralf</firstname>">
   <!ENTITY dhsurname   "<surname>Meyer</surname>">
   <!-- Please adjust the date whenever revising the manpage. -->
-  <!ENTITY dhdate      "<date>2007-05-24</date>">
+  <!ENTITY dhdate      "<date>2013-04-08</date>">
+  <!-- Would be nice if the version could auto-update. -->
+  <!ENTITY dhsource      "Viking">
+  <!ENTITY dhversion     "1.4.1">
   <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
        allowed: see man(7), man(1). -->
   <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
   <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
        allowed: see man(7), man(1). -->
   <!ENTITY dhsection   "<manvolnum>1</manvolnum>">
@@ -44,7 +47,10 @@ and docbook-xsl in your Build-Depends control field.
   <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
 ]>
 
   <!ENTITY gpl         "&gnu; <acronym>GPL</acronym>">
 ]>
 
-<refentry>
+<reference>
+<title>&dhsource; &dhversion;</title>
+
+<refentry xmlns:xi="http://www.w3.org/2001/XInclude">
   <refentryinfo>
     <address>
       &dhemail;
   <refentryinfo>
     <address>
       &dhemail;
@@ -53,12 +59,21 @@ and docbook-xsl in your Build-Depends control field.
       <year>2007</year>
       <holder>&dhusername;</holder>
     </copyright>
       <year>2007</year>
       <holder>&dhusername;</holder>
     </copyright>
+    <copyright>
+      <year>2010</year>
+      <holder>Guilhem Bonnefille</holder>
+    </copyright>
+    <copyright>
+      <year>2013</year>
+      <holder>Rob Norris</holder>
+    </copyright>
     &dhdate;
   </refentryinfo>
   <refmeta>
     &dhucpackage;
     &dhdate;
   </refentryinfo>
   <refmeta>
     &dhucpackage;
-
     &dhsection;
     &dhsection;
+    <refmiscinfo CLASS="source">&dhsource;</refmiscinfo>
+    <refmiscinfo CLASS="version">&dhversion;</refmiscinfo>
   </refmeta>
   <refnamediv>
     <refname>&dhpackage;</refname>
   </refmeta>
   <refnamediv>
     <refname>&dhpackage;</refname>
@@ -68,30 +83,48 @@ and docbook-xsl in your Build-Depends control field.
   <refsynopsisdiv>
     <cmdsynopsis>
       <command>&dhpackage;</command>
   <refsynopsisdiv>
     <cmdsynopsis>
       <command>&dhpackage;</command>
-      <arg><replaceable>[file]</replaceable></arg>
-
+      <group choice="opt">
+        <arg choice="plain"><option>-d</option></arg>
+        <arg choice="plain"><option>--debug</option></arg>
+      </group>
+      <group choice="opt">
+        <arg choice="plain"><option>-V</option></arg>
+        <arg choice="plain"><option>--verbose</option></arg>
+      </group>
+      <arg rep="repeat"><replaceable>file</replaceable></arg>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+      <group choice="opt">
+        <arg choice="plain"><option>-h</option></arg>
+        <arg choice="plain"><option>--help</option></arg>
+      </group>
+    </cmdsynopsis>
+    <cmdsynopsis>
+      <command>&dhpackage;</command>
+      <group choice="opt">
+        <arg choice="plain"><option>-v</option></arg>
+        <arg choice="plain"><option>--version</option></arg>
+      </group>
     </cmdsynopsis>
   </refsynopsisdiv>
   <refsect1>
     <title>DESCRIPTION</title>
 
     <para>
     </cmdsynopsis>
   </refsynopsisdiv>
   <refsect1>
     <title>DESCRIPTION</title>
 
     <para>
-  Viking is a free/open source program to manage GPS data. You can 
-  import and plot tracks and waypoints, show Google maps and/or 
-  Terraserver maps under it, add coordinate lines, make new tracks 
-  and waypoints, hide different things, etc. It is written in C 
-  with the GTK+ 2 toolkit, available for Linux, other POSIX 
-  operating systems, and Windows, and is licensed under the GNU GPL. 
+      Viking is a program to manage GPS data.
     </para>
     <para>  
     </para>
     <para>  
-  Homepage: http://viking.sf.net
+      You can import and plot tracks, routes and waypoints, show OpenStreetMap (OSM) maps and/or
+      Terraserver maps under it, add coordinate lines, make new tracks, routes and waypoints, hide different things, etc.
+      It is written in C with the GTK+ 2 toolkit, available for Linux, other POSIX operating systems and Windows.
     </para>
     </para>
-
-    <para>This manual page was written for the &debian; distribution
-      because the original program does not have a manual page.
+    <para>  
+      Homepage: <ulink type="http" url="http://viking.sf.net">http://viking.sf.net</ulink>
+    </para>
+    <para>  
+      Viking is licensed under the GNU GPL.
     </para>
     </para>
-
-    <para><command>&dhpackage;</command> is a program to manage GPS data</para>
 
   </refsect1>
   <refsect1>
 
   </refsect1>
   <refsect1>
@@ -99,24 +132,340 @@ and docbook-xsl in your Build-Depends control field.
 
     <variablelist>
       <varlistentry>
 
     <variablelist>
       <varlistentry>
-        <term><option>[file]</option>
-        </term>
+        <term><option>file</option></term>
         <listitem>
           <para>Specify file to load at start.</para>
         </listitem>
       </varlistentry>
         <listitem>
           <para>Specify file to load at start.</para>
         </listitem>
       </varlistentry>
+      <varlistentry>
+        <term><option>-d</option></term>
+        <term><option>--debug</option></term>
+        <listitem>
+          <para>Enable debug output.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-V</option></term>
+        <term><option>--verbose</option></term>
+        <listitem>
+          <para>Enable verbose output.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-?</option></term>
+        <term><option>--help</option></term>
+        <listitem>
+          <para>Show help options.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><option>-v</option></term>
+        <term><option>--version</option></term>
+        <listitem>
+          <para>Show version.</para>
+        </listitem>
+      </varlistentry>
+    </variablelist>
+
+  </refsect1>
+  <refsect1>
+    <title>Extending Viking</title>
+
+      <para>Currently, &dhpackage; 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:
+<literallayout><![CDATA[
+<objects>
+  <object class="ClassName">
+    <property name="property_name1">Property value</property>
+    <property name="property_name2">Property value</property>
+  </object>
+  ...
+<objects>
+]]>
+</literallayout>
+</para>
+      <para>You can find more examples in the documentation part of the distribution.</para>
+      <formalpara>
+        <title>Map Source</title>
+        <para>It is possible to add new map's sources. The file is <filename>~/.viking/maps.xml</filename>.</para>
+        <para>An example of the file in the distribution <filename>doc/examples/maps.xml</filename>.</para>
+        <para>The VikSlippyMapSource 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 VikTmsMapSource 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 VikWmscMapSource 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>
+      </formalpara>
+
+      <formalpara>
+        <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>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>
+      </formalpara>
+
+      <formalpara>
+        <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 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>
+            </varlistentry>
+          </variablelist>
+        </para>
+        <para>The VikWebtoolBounds 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&amp;right=%s&amp;bottom=%s&amp;top=%s")</para></listitem>
+            </varlistentry>
+          </variablelist>
+        </para>
+      </formalpara>
+
+      <formalpara>
+        <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 VikWebtoolDatasource 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>
+      </formalpara>
+
+  </refsect1>
+  <refsect1>
+    <title>FILES</title>
+
+    <variablelist>
+      <varlistentry>
+        <term><filename>~/.viking/maps.xml</filename></term>
+        <listitem>
+          <para>File containing definition of map sources.</para>
+          <para>See previous section for details.</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>~/.viking/goto_tools.xml</filename></term>
+        <listitem>
+          <para>File containing definition of "Go-to" services.</para>
+          <para>See previous section for details.</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>~/.viking/external_tools.xml</filename></term>
+        <listitem>
+          <para>File containing definition of external tools.</para>
+          <para>See previous section for details.</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>~/.viking/datasources.xml</filename></term>
+        <listitem>
+          <para>File containing definition of remote file datasources.</para>
+          <para>See previous section for details.</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>~/.viking/viking.prefs</filename></term>
+        <listitem>
+          <para>Preferences for &dhpackage;.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>~/.viking/viking_layer_defaults.ini</filename></term>
+        <listitem>
+          <para>Layer default values for &dhpackage;.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>~/.viking/viking.ini</filename></term>
+        <listitem>
+          <para>Values for &dhpackage; automatically saved between sessions.</para>
+          <para>Not generally intended to be manually edited.</para>
+         <para>However some finer control of default internal values can be set.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>~/.viking/cookies.txt</filename></term>
+        <listitem>
+          <para>File hosting cookies used by &dhpackage;.</para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><filename>~/.viking-maps/</filename></term>
+        <listitem>
+          <para>Map cache of tiles downloaded by &dhpackage;.</para>
+        </listitem>
+      </varlistentry>
     </variablelist>
 
     </variablelist>
 
+       <para>Extension files (<filename>maps.xml</filename>,
+       <filename>goto_tools.xml</filename>,
+       <filename>datasources.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>
+
   </refsect1>
   <refsect1>
   </refsect1>
   <refsect1>
-    <title>SEE ALSO</title>
+    <title>ENVIRONMENT</title>
+
+    <variablelist>
+      <varlistentry>
+        <term><envar>XDG_DATA_HOME</envar></term>
+        <listitem>
+          <para>Optional directory to look for extension files
+          (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>,
+          <filename>external_tools.xml</filename>).</para>
+       </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term><envar>XDG_DATA_DIRS</envar></term>
+        <listitem>
+          <para>Path used to change the directories scanned for extension files
+          (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>,
+          <filename>external_tools.xml</filename>).</para>
+       </listitem>
+      </varlistentry>
+    </variablelist>
 
 
-    <para>viking-remote (1).</para>
   </refsect1>
   <refsect1>
     <title>AUTHOR</title>
 
   </refsect1>
   <refsect1>
     <title>AUTHOR</title>
 
-    <para>This manual page was written by &dhusername; &dhemail; for
+    <para>This manual page was originally written by &dhusername; &dhemail; for
       the &debian; system (but may be used by others).  Permission is
       granted to copy, distribute and/or modify this document under
       the terms of the &gnu; General Public License, Version 2 any 
       the &debian; system (but may be used by others).  Permission is
       granted to copy, distribute and/or modify this document under
       the terms of the &gnu; General Public License, Version 2 any 
@@ -129,4 +478,4 @@ and docbook-xsl in your Build-Depends control field.
 
   </refsect1>
 </refentry>
 
   </refsect1>
 </refentry>
-
+</reference>