1 <?xml version='1.0' encoding='ISO-8859-1'?>
2 <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" [
7 Process this file with an XSLT processor: `xsltproc \
8 -''-nonet /usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
9 manpages/docbook.xsl manpage.dbk'. A manual page
10 <package>.<section> will be generated. You may view the
11 manual page with: nroff -man <package>.<section> | less'. A
12 typical entry in a Makefile or Makefile.am is:
14 DB2MAN=/usr/share/sgml/docbook/stylesheet/xsl/nwalsh/\
18 manpage.1: manpage.dbk
21 The xsltproc binary is found in the xsltproc package. The
22 XSL files are in docbook-xsl. Please remember that if you
23 create the nroff version in one of the debian/rules file
24 targets (such as build), you will need to include xsltproc
25 and docbook-xsl in your Build-Depends control field.
29 <!-- Fill in your name for FIRSTNAME and SURNAME. -->
30 <!ENTITY dhfirstname "<firstname>Ralf</firstname>">
31 <!ENTITY dhsurname "<surname>Meyer</surname>">
32 <!ENTITY dhdate "<date>@ISODATE@</date>">
33 <!ENTITY dhsource "Viking">
34 <!ENTITY dhversion "@PACKAGE_VERSION@">
35 <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
36 allowed: see man(7), man(1). -->
37 <!ENTITY dhsection "<manvolnum>1</manvolnum>">
38 <!ENTITY dhemail "<email>ranfyy@gmail.com</email>">
39 <!ENTITY dhusername "Ralf Meyer">
40 <!ENTITY dhucpackage "<refentrytitle>VIKING</refentrytitle>">
41 <!ENTITY dhpackage "viking">
43 <!ENTITY debian "<productname>Debian</productname>">
44 <!ENTITY gnu "<acronym>GNU</acronym>">
45 <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
49 <title>&dhsource; &dhversion;</title>
51 <refentry xmlns:xi="http://www.w3.org/2001/XInclude">
58 <holder>&dhusername;</holder>
62 <holder>Guilhem Bonnefille</holder>
66 <holder>Rob Norris</holder>
73 <refmiscinfo CLASS="source">&dhsource;</refmiscinfo>
74 <refmiscinfo CLASS="version">&dhversion;</refmiscinfo>
77 <refname>&dhpackage;</refname>
79 <refpurpose>program to manage GPS data</refpurpose>
83 <command>&dhpackage;</command>
85 <arg choice="plain"><option>-d</option></arg>
86 <arg choice="plain"><option>--debug</option></arg>
89 <arg choice="plain"><option>-V</option></arg>
90 <arg choice="plain"><option>--verbose</option></arg>
94 <arg choice="plain"><option>--latitude</option> <replaceable>degrees</replaceable></arg>
97 <arg choice="plain"><option>--longitude</option> <replaceable>degrees</replaceable></arg>
101 <arg choice="plain"><option>-z</option></arg>
102 <arg choice="plain"><option>--zoom</option> <replaceable>ZoomLevelOSM</replaceable></arg>
105 <arg choice="plain"><option>-m</option></arg>
106 <arg choice="plain"><option>--map</option> <replaceable>MapId</replaceable></arg>
109 <arg rep="repeat"><replaceable>file</replaceable></arg>
112 <command>&dhpackage;</command>
114 <arg choice="plain"><option>-h</option></arg>
115 <arg choice="plain"><option>--help</option></arg>
119 <command>&dhpackage;</command>
121 <arg choice="plain"><option>-v</option></arg>
122 <arg choice="plain"><option>--version</option></arg>
127 <title>DESCRIPTION</title>
130 Viking is a program to manage GPS data.
133 You can import and plot tracks, routes and waypoints, show OpenStreetMap (OSM) and/or other maps, generate maps (using Mapnik),
134 geotag images, add coordinate lines, make new tracks, routes and waypoints, hide different things, etc.
135 It is written mainly in C with some C++ and uses the GTK+ 2 toolkit. It is available for Linux, other POSIX operating systems and Windows.
138 Homepage: <ulink type="http" url="http://viking.sf.net">http://viking.sf.net</ulink>
141 Viking is licensed under the GNU GPL.
146 <title>OPTIONS</title>
150 <term><option>file</option></term>
152 <para>Specify file to load at start.</para>
156 <term><option>-d</option></term>
157 <term><option>--debug</option></term>
159 <para>Enable debug output.</para>
163 <term><option>-V</option></term>
164 <term><option>--verbose</option></term>
166 <para>Enable verbose output.</para>
170 <term><option>-?</option></term>
171 <term><option>--help</option></term>
173 <para>Show help options.</para>
177 <term><option>-v</option></term>
178 <term><option>--version</option></term>
180 <para>Show version.</para>
184 <term><option>--latitude</option></term>
186 <para>Set the initial position to the specified latitude in decimal degrees.</para>
190 <term><option>--longitude</option></term>
192 <para>Set the initial position to the specified longitude in decimal degrees.</para>
196 <term><option>-z</option></term>
197 <term><option>--zoom</option></term>
199 <para>Set the initial zoom level. The value is the OSM zoom level (0 - 22).</para>
203 <term><option>-m</option></term>
204 <term><option>--map</option></term>
206 <para>Add a map layer by specifying the map id. The value needs to match one of the internal ids or an id from the maps configuration extension (see below).
207 Specifying a value of 0 will use the configured map layer default.</para>
209 <varlistentry><term></term><listitem><para>Internal Map Ids:</para></listitem></varlistentry>
210 <varlistentry><term></term><listitem><para>OSM Mapnik = 13</para></listitem></varlistentry>
211 <varlistentry><term></term><listitem><para>OSM Cycle = 17</para></listitem></varlistentry>
212 <varlistentry><term></term><listitem><para>Mapquest OSM = 19</para></listitem></varlistentry>
220 <title>Extending Viking</title>
222 <para>Currently, &dhpackage; has some extension 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>
223 <para>Here is an example:
224 <literallayout><![CDATA[
226 <object class="ClassName">
227 <property name="property_name1">Property value</property>
228 <property name="property_name2">Property value</property>
235 <para>You can find more examples in the documentation part of the distribution.</para>
237 <title>Map Source</title>
238 <para>It is possible to add new map's sources. The file is <filename>~/.viking/maps.xml</filename>.</para>
239 <para>An example of the file in the distribution <filename>doc/examples/maps.xml</filename>.</para>
240 <para>The VikSlippyMapSource allows to declare any map's source working like OpenStreetMap. It supports the following properties:
244 <listitem><para>this is an integer and should be unique as it used to identify the map source</para></listitem>
248 <listitem><para>a string (should be unique) that is used for the OSM style cache directory name when the Map Cache directory is the default (<filename>~/.viking-maps</filename>)</para></listitem>
252 <listitem><para>the text displayed in the map's source selection dialog</para></listitem>
255 <term>hostname</term>
256 <listitem><para>the server's hostname (eg. "tile.openstreetmap.org")</para></listitem>
260 <listitem><para>the parametrized address of the tile, in the spirit of C printf format, with 3 "%d" fields for Z, X and Y (in that order) (eg. "/%d/%d/%d.png")</para></listitem>
263 <term>zoom-min (optional)</term>
264 <listitem><para>The minimum zoom value supported by the tile server. The Default is 0 if not specified.</para></listitem>
267 <term>zoom-max (optional)</term>
269 <para>The maximum zoom value supported by the tile server. The Default is 18 if not specified.</para>
270 <para>See <ulink url="http://wiki.openstreetmap.org/wiki/Zoom_levels">Zoom Levels</ulink></para>
274 <term>lat-min (optional)</term>
275 <listitem><para>The minimum latitude value in degrees supported by the tile server. The Default is -90 degrees if not specified.</para></listitem>
278 <term>lat-max (optional)</term>
279 <listitem><para>The maximum latitude value in degrees supported by the tile server. The Default is 90 degrees if not specified.</para></listitem>
282 <term>lon-min (optional)</term>
283 <listitem><para>The minimum longitude value in degrees supported by the tile server. The Default is -180 degrees if not specified.</para></listitem>
286 <term>lon-max (optional)</term>
287 <listitem><para>The maximum longitude value in degrees supported by the tile server. The Default is 180 degrees if not specified.</para></listitem>
290 <term>file-extension (optional)</term>
292 <para>The file extension of the files on disk. The default is <emphasis>.png</emphasis></para>
293 <para>If the tile source URL ends in something other than .png, then this parameter will need to match it.</para>
294 <para>This can also be useful in reading a tileset from other software which may name tiles in an alternative form,
295 e.g. for Mobile Atlas creator it names them <emphasis>.png.tile</emphasis></para>
296 <note><para>The file types actually usable are those supported by GDK Pixbuf Library, which includes at least PNG and JPEG.</para></note>
297 <note><para>Remember to include the beginning <emphasis>'.'</emphasis> when specifying this parameter.</para></note>
301 <term>switch-xy (optional)</term>
303 <para>Swap the X,Y values around in the URL parametrized ordering.</para>
304 <para>The default is false.</para>
308 <term>check-file-server-time (optional)</term>
310 <para>Sends the timestamp of the tile to the server, so the server can decide whether it should send a new tile or not.</para>
311 <para>The default is false.</para>
315 <term>use-etag (optional)</term>
317 <para>Use and compare the <ulink url="http://en.wikipedia.org/wiki/HTTP_ETag">ETag</ulink> value in determining whether to download a newer tile. The default is false.</para>
318 <para>The ETag value is stored in a separate file in the same directory as the tile to enable checking the value across multiple runs of the program.</para>
323 <para>The VikTmsMapSource allows to declare any TMS service. It supports the following properties (as per VikSlippyMapSource above):
332 <term>hostname</term>
338 <term>check-file-server-time (optional)</term>
341 <term>zoom-min (optional)</term>
344 <term>zoom-max (optional)</term>
347 <term>lat-min (optional)</term>
350 <term>lat-max (optional)</term>
353 <term>lon-min (optional)</term>
356 <term>lon-max (optional)</term>
360 <para>The VikWmscMapSource allows to declare any WMS or WMS-C service. It supports the following properties (as per VikSlippyMapSource above):
369 <term>hostname</term>
375 <term>check-file-server-time (optional)</term>
378 <term>zoom-min (optional)</term>
381 <term>zoom-max (optional)</term>
384 <term>lat-min (optional)</term>
387 <term>lat-max (optional)</term>
390 <term>lon-min (optional)</term>
393 <term>lon-max (optional)</term>
400 <title>Go-to search engines</title>
401 <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>
402 <para>An example of the file in the distribution <filename>doc/examples/goto_tools.xml</filename>.</para>
403 <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>
404 <para>The related properties are:
408 <listitem><para>the text displayed in the <guilabel>Go-To</guilabel> dialog</para></listitem>
411 <term>url-format</term>
412 <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>
415 <term>lat-path</term>
416 <listitem><para>XML path of the latitude (eg. <literal>/root/parent/elem</literal>)</para></listitem>
419 <term>lat-attr (optional)</term>
420 <listitem><para>name of the attribute (of previous element) containing the latitude</para></listitem>
423 <term>lon-path</term>
424 <listitem><para>XML path of the longitude (eg. <literal>/root/parent/elem</literal>)</para></listitem>
427 <term>lon-attr (optional)</term>
428 <listitem><para>name of the attribute (of previous element) containing the longiude</para></listitem>
432 <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>
436 <title>External tools</title>
437 <para>It is possible to add new external tools. The file is <filename>~/.viking/external_tools.xml</filename>.</para>
438 <para>An example of the file in the distribution <filename>doc/examples/external_tools.xml</filename>.</para>
439 <para>The VikWebtoolCenter allows to declare any Webtool using a logic based on center coordinates and zoom level value.</para>
440 <para>The related properties are:
444 <listitem><para>the text displayed in the menu entry</para></listitem>
448 <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>
452 <para>The VikWebtoolBounds allows to declare any Webtool using a logic based on bounds coordinates.</para>
453 <para>The related properties are:
457 <listitem><para>the text displayed in the menu entry</para></listitem>
461 <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>
468 <title>Remote File Datasources</title>
469 <para>It is possible to add web references expected to return a file which can then be opened directly or converted via GPSBabel.</para>
470 <para>The file is <filename>~/.viking/datasources.xml</filename>.</para>
471 <para>An example of the file is in the source distribution <filename>doc/examples/datasources.xml</filename>.</para>
472 <para>The VikWebtoolDatasource allows to declare any URL using logic based on coordinates.</para>
473 <para>The related properties are:
477 <listitem><para>the text displayed in the menu entry</para></listitem>
482 <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>
483 <para>The order and meaning of these parameters is given by the url_format_code below</para>
487 <term>url_format_code</term>
489 <para>A string describing the parametrized URL substitution parameters, each character represents how to translate each term.</para>
490 <para>B = Bottom of the current view i.e. minimum latitude</para>
491 <para>L = Left of the current view i.e. minimum longitude</para>
492 <para>T = Top of the current view i.e. maximum latitude</para>
493 <para>R = Right of the current view i.e. maximum longitude</para>
494 <para>A = center lAtitude of the current view</para>
495 <para>O = center lOngitude of the current view</para>
496 <para>Z = OSM Zoom value of the current view. See <ulink url="http://wiki.openstreetmap.org/wiki/Zoom_levels">Zoom Levels</ulink></para>
497 <para>S = A user specified input string requested from the user via a dialog box</para>
498 <para>Thus for the url example above then the format code should be <emphasis>AO</emphasis></para>
502 <term>file_type</term>
504 <para>This value is passed on for the -i parameter in interfacing with GPSBabel.</para>
505 <para>If it is not defined then the returned file is interpreted internally as a GPX file.</para>
506 <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>
510 <term>babel_filter_args</term>
512 <para>This value is passed on for the filter arguments interfacing with GPSBabel.</para>
513 <para>E.g. "-x nuketypes,routes" can be used to filter all routes from the results.</para>
517 <term>input_label</term>
519 <para>This value is used when requesting input from the user.</para>
520 <para>It is the label of the text input box.</para>
533 <term><filename>~/.viking/maps.xml</filename></term>
535 <para>File containing definition of map sources.</para>
536 <para>See previous section for details.</para>
540 <term><filename>~/.viking/goto_tools.xml</filename></term>
542 <para>File containing definition of "Go-to" services.</para>
543 <para>See previous section for details.</para>
547 <term><filename>~/.viking/external_tools.xml</filename></term>
549 <para>File containing definition of external tools.</para>
550 <para>See previous section for details.</para>
554 <term><filename>~/.viking/datasources.xml</filename></term>
556 <para>File containing definition of remote file datasources.</para>
557 <para>See previous section for details.</para>
561 <term><filename>~/.viking/viking.prefs</filename></term>
563 <para>Preferences for &dhpackage;.</para>
567 <term><filename>~/.viking/viking_layer_defaults.ini</filename></term>
569 <para>Layer default values for &dhpackage;.</para>
573 <term><filename>~/.viking/viking.ini</filename></term>
575 <para>Values for &dhpackage; automatically saved between sessions.</para>
576 <para>Not generally intended to be manually edited.</para>
577 <para>However some finer control of default internal values can be set.</para>
581 <term><filename>~/.viking/keys.rc</filename></term>
583 <para>File containing short cut key accelerators.</para>
584 <para>This is in the standard GTK Accelerator map format.</para>
588 <term><filename>~/.viking/cookies.txt</filename></term>
590 <para>File hosting cookies used by &dhpackage;.</para>
594 <term><filename>~/.viking-maps/</filename></term>
596 <para>Default location of the map cache of tiles downloaded or created by &dhpackage;.</para>
601 <para>Extension files (<filename>maps.xml</filename>,
602 <filename>goto_tools.xml</filename>,
603 <filename>datasources.xml</filename>,
604 <filename>external_tools.xml</filename>)
605 are also searched in <filename>/etc/viking</filename> and
606 <filename>/usr/share/viking</filename> directories (or related in your system).</para>
610 <title>ENVIRONMENT</title>
614 <term><envar>XDG_DATA_HOME</envar></term>
616 <para>Optional directory to look for extension files
617 (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>,
618 <filename>external_tools.xml</filename>).</para>
622 <term><envar>XDG_DATA_DIRS</envar></term>
624 <para>Path used to change the directories scanned for extension files
625 (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>,
626 <filename>external_tools.xml</filename>).</para>
633 <title>AUTHOR</title>
635 <para>This manual page was originally written by &dhusername; &dhemail; for
636 the &debian; system (but may be used by others). Permission is
637 granted to copy, distribute and/or modify this document under
638 the terms of the &gnu; General Public License, Version 2 any
639 later version published by the Free Software Foundation.
642 On Debian systems, the complete text of the GNU General Public
643 License can be found in /usr/share/common-licenses/GPL.