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 <!-- Please adjust the date whenever revising the manpage. -->
33 <!ENTITY dhdate "<date>2013-10-13</date>">
34 <!-- Would be nice if the version could auto-update. -->
35 <!ENTITY dhsource "Viking">
36 <!ENTITY dhversion "1.5.0">
37 <!-- SECTION should be 1-8, maybe w/ subsection other parameters are
38 allowed: see man(7), man(1). -->
39 <!ENTITY dhsection "<manvolnum>1</manvolnum>">
40 <!ENTITY dhemail "<email>ranfyy@gmail.com</email>">
41 <!ENTITY dhusername "Ralf Meyer">
42 <!ENTITY dhucpackage "<refentrytitle>VIKING</refentrytitle>">
43 <!ENTITY dhpackage "viking">
45 <!ENTITY debian "<productname>Debian</productname>">
46 <!ENTITY gnu "<acronym>GNU</acronym>">
47 <!ENTITY gpl "&gnu; <acronym>GPL</acronym>">
51 <title>&dhsource; &dhversion;</title>
53 <refentry xmlns:xi="http://www.w3.org/2001/XInclude">
60 <holder>&dhusername;</holder>
64 <holder>Guilhem Bonnefille</holder>
68 <holder>Rob Norris</holder>
75 <refmiscinfo CLASS="source">&dhsource;</refmiscinfo>
76 <refmiscinfo CLASS="version">&dhversion;</refmiscinfo>
79 <refname>&dhpackage;</refname>
81 <refpurpose>program to manage GPS data</refpurpose>
85 <command>&dhpackage;</command>
87 <arg choice="plain"><option>-d</option></arg>
88 <arg choice="plain"><option>--debug</option></arg>
91 <arg choice="plain"><option>-V</option></arg>
92 <arg choice="plain"><option>--verbose</option></arg>
96 <arg choice="plain"><option>--latitude</option> <replaceable>degrees</replaceable></arg>
99 <arg choice="plain"><option>--longitude</option> <replaceable>degrees</replaceable></arg>
103 <arg choice="plain"><option>-z</option></arg>
104 <arg choice="plain"><option>--zoom</option> <replaceable>ZoomLevelOSM</replaceable></arg>
107 <arg choice="plain"><option>-m</option></arg>
108 <arg choice="plain"><option>--map</option> <replaceable>MapId</replaceable></arg>
111 <arg rep="repeat"><replaceable>file</replaceable></arg>
114 <command>&dhpackage;</command>
116 <arg choice="plain"><option>-h</option></arg>
117 <arg choice="plain"><option>--help</option></arg>
121 <command>&dhpackage;</command>
123 <arg choice="plain"><option>-v</option></arg>
124 <arg choice="plain"><option>--version</option></arg>
129 <title>DESCRIPTION</title>
132 Viking is a program to manage GPS data.
135 You can import and plot tracks, routes and waypoints, show OpenStreetMap (OSM) and/or other maps, generate maps (using Mapnik),
136 geotag images, add coordinate lines, make new tracks, routes and waypoints, hide different things, etc.
137 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.
140 Homepage: <ulink type="http" url="http://viking.sf.net">http://viking.sf.net</ulink>
143 Viking is licensed under the GNU GPL.
148 <title>OPTIONS</title>
152 <term><option>file</option></term>
154 <para>Specify file to load at start.</para>
158 <term><option>-d</option></term>
159 <term><option>--debug</option></term>
161 <para>Enable debug output.</para>
165 <term><option>-V</option></term>
166 <term><option>--verbose</option></term>
168 <para>Enable verbose output.</para>
172 <term><option>-?</option></term>
173 <term><option>--help</option></term>
175 <para>Show help options.</para>
179 <term><option>-v</option></term>
180 <term><option>--version</option></term>
182 <para>Show version.</para>
186 <term><option>--latitude</option></term>
188 <para>Set the initial position to the specified latitude in decimal degrees.</para>
192 <term><option>--longitude</option></term>
194 <para>Set the initial position to the specified longitude in decimal degrees.</para>
198 <term><option>-z</option></term>
199 <term><option>--zoom</option></term>
201 <para>Set the initial zoom level. The value is the OSM zoom level (0 - 22).</para>
205 <term><option>-m</option></term>
206 <term><option>--map</option></term>
208 <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).
209 Specifying a value of 0 will use the configured map layer default.</para>
211 <varlistentry><term></term><listitem><para>Internal Map Ids:</para></listitem></varlistentry>
212 <varlistentry><term></term><listitem><para>OSM Mapnik = 13</para></listitem></varlistentry>
213 <varlistentry><term></term><listitem><para>OSM Cycle = 17</para></listitem></varlistentry>
214 <varlistentry><term></term><listitem><para>Mapquest OSM = 19</para></listitem></varlistentry>
222 <title>Extending Viking</title>
224 <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>
225 <para>Here is an example:
226 <literallayout><![CDATA[
228 <object class="ClassName">
229 <property name="property_name1">Property value</property>
230 <property name="property_name2">Property value</property>
237 <para>You can find more examples in the documentation part of the distribution.</para>
239 <title>Map Source</title>
240 <para>It is possible to add new map's sources. The file is <filename>~/.viking/maps.xml</filename>.</para>
241 <para>An example of the file in the distribution <filename>doc/examples/maps.xml</filename>.</para>
242 <para>The VikSlippyMapSource allows to declare any map's source working like OpenStreetMap. It supports the following properties:
246 <listitem><para>this is an integer and should be unique as it used to identify the map source</para></listitem>
250 <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>
254 <listitem><para>the text displayed in the map's source selection dialog</para></listitem>
257 <term>hostname</term>
258 <listitem><para>the server's hostname (eg. "tile.openstreetmap.org")</para></listitem>
262 <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>
265 <term>zoom-min (optional)</term>
266 <listitem><para>The minimum zoom value supported by the tile server. The Default is 0 if not specified.</para></listitem>
269 <term>zoom-max (optional)</term>
271 <para>The maximum zoom value supported by the tile server. The Default is 18 if not specified.</para>
272 <para>See <ulink url="http://wiki.openstreetmap.org/wiki/Zoom_levels">Zoom Levels</ulink></para>
276 <term>lat-min (optional)</term>
277 <listitem><para>The minimum latitude value in degrees supported by the tile server. The Default is -90 degrees if not specified.</para></listitem>
280 <term>lat-max (optional)</term>
281 <listitem><para>The maximum latitude value in degrees supported by the tile server. The Default is 90 degrees if not specified.</para></listitem>
284 <term>lon-min (optional)</term>
285 <listitem><para>The minimum longitude value in degrees supported by the tile server. The Default is -180 degrees if not specified.</para></listitem>
288 <term>lon-max (optional)</term>
289 <listitem><para>The maximum longitude value in degrees supported by the tile server. The Default is 180 degrees if not specified.</para></listitem>
292 <term>file-extension (optional)</term>
294 <para>The file extension of the files on disk. The default is <emphasis>.png</emphasis></para>
295 <para>If the tile source URL ends in something other than .png, then this parameter will need to match it.</para>
296 <para>This can also be useful in reading a tileset from other software which may name tiles in an alternative form,
297 e.g. for Mobile Atlas creator it names them <emphasis>.png.tile</emphasis></para>
298 <note><para>The file types actually usable are those supported by GDK Pixbuf Library, which includes at least PNG and JPEG.</para></note>
299 <note><para>Remember to include the beginning <emphasis>'.'</emphasis> when specifying this parameter.</para></note>
303 <term>switch-xy (optional)</term>
305 <para>Swap the X,Y values around in the URL parametrized ordering.</para>
306 <para>The default is false.</para>
310 <term>check-file-server-time (optional)</term>
312 <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>
313 <para>The default is false.</para>
317 <term>use-etag (optional)</term>
319 <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>
320 <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>
325 <para>The VikTmsMapSource allows to declare any TMS service. It supports the following properties (as per VikSlippyMapSource above):
334 <term>hostname</term>
340 <term>check-file-server-time (optional)</term>
343 <term>zoom-min (optional)</term>
346 <term>zoom-max (optional)</term>
349 <term>lat-min (optional)</term>
352 <term>lat-max (optional)</term>
355 <term>lon-min (optional)</term>
358 <term>lon-max (optional)</term>
362 <para>The VikWmscMapSource allows to declare any WMS or WMS-C service. It supports the following properties (as per VikSlippyMapSource above):
371 <term>hostname</term>
377 <term>check-file-server-time (optional)</term>
380 <term>zoom-min (optional)</term>
383 <term>zoom-max (optional)</term>
386 <term>lat-min (optional)</term>
389 <term>lat-max (optional)</term>
392 <term>lon-min (optional)</term>
395 <term>lon-max (optional)</term>
402 <title>Go-to search engines</title>
403 <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>
404 <para>An example of the file in the distribution <filename>doc/examples/goto_tools.xml</filename>.</para>
405 <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>
406 <para>The related properties are:
410 <listitem><para>the text displayed in the <guilabel>Go-To</guilabel> dialog</para></listitem>
413 <term>url-format</term>
414 <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>
417 <term>lat-path</term>
418 <listitem><para>XML path of the latitude (eg. <literal>/root/parent/elem</literal>)</para></listitem>
421 <term>lat-attr (optional)</term>
422 <listitem><para>name of the attribute (of previous element) containing the latitude</para></listitem>
425 <term>lon-path</term>
426 <listitem><para>XML path of the longitude (eg. <literal>/root/parent/elem</literal>)</para></listitem>
429 <term>lon-attr (optional)</term>
430 <listitem><para>name of the attribute (of previous element) containing the longiude</para></listitem>
434 <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>
438 <title>External tools</title>
439 <para>It is possible to add new external tools. The file is <filename>~/.viking/external_tools.xml</filename>.</para>
440 <para>An example of the file in the distribution <filename>doc/examples/external_tools.xml</filename>.</para>
441 <para>The VikWebtoolCenter allows to declare any Webtool using a logic based on center coordinates and zoom level value.</para>
442 <para>The related properties are:
446 <listitem><para>the text displayed in the menu entry</para></listitem>
450 <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>
454 <para>The VikWebtoolBounds allows to declare any Webtool using a logic based on bounds coordinates.</para>
455 <para>The related properties are:
459 <listitem><para>the text displayed in the menu entry</para></listitem>
463 <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>
470 <title>Remote File Datasources</title>
471 <para>It is possible to add web references expected to return a file which can then be opened directly or converted via GPSBabel.</para>
472 <para>The file is <filename>~/.viking/datasources.xml</filename>.</para>
473 <para>An example of the file is in the source distribution <filename>doc/examples/datasources.xml</filename>.</para>
474 <para>The VikWebtoolDatasource allows to declare any URL using logic based on coordinates.</para>
475 <para>The related properties are:
479 <listitem><para>the text displayed in the menu entry</para></listitem>
484 <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>
485 <para>The order and meaning of these parameters is given by the url_format_code below</para>
489 <term>url_format_code</term>
491 <para>A string describing the parametrized URL substitution parameters, each character represents how to translate each term.</para>
492 <para>B = Bottom of the current view i.e. minimum latitude</para>
493 <para>L = Left of the current view i.e. minimum longitude</para>
494 <para>T = Top of the current view i.e. maximum latitude</para>
495 <para>R = Right of the current view i.e. maximum longitude</para>
496 <para>A = center lAtitude of the current view</para>
497 <para>O = center lOngitude of the current view</para>
498 <para>Z = OSM Zoom value of the current view. See <ulink url="http://wiki.openstreetmap.org/wiki/Zoom_levels">Zoom Levels</ulink></para>
499 <para>S = A user specified input string requested from the user via a dialog box</para>
500 <para>Thus for the url example above then the format code should be <emphasis>AO</emphasis></para>
504 <term>file_type</term>
506 <para>This value is passed on for the -i parameter in interfacing with GPSBabel.</para>
507 <para>If it is not defined then the returned file is interpreted internally as a GPX file.</para>
508 <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>
512 <term>babel_filter_args</term>
514 <para>This value is passed on for the filter arguments interfacing with GPSBabel.</para>
515 <para>E.g. "-x nuketypes,routes" can be used to filter all routes from the results.</para>
519 <term>input_label</term>
521 <para>This value is used when requesting input from the user.</para>
522 <para>It is the label of the text input box.</para>
535 <term><filename>~/.viking/maps.xml</filename></term>
537 <para>File containing definition of map sources.</para>
538 <para>See previous section for details.</para>
542 <term><filename>~/.viking/goto_tools.xml</filename></term>
544 <para>File containing definition of "Go-to" services.</para>
545 <para>See previous section for details.</para>
549 <term><filename>~/.viking/external_tools.xml</filename></term>
551 <para>File containing definition of external tools.</para>
552 <para>See previous section for details.</para>
556 <term><filename>~/.viking/datasources.xml</filename></term>
558 <para>File containing definition of remote file datasources.</para>
559 <para>See previous section for details.</para>
563 <term><filename>~/.viking/viking.prefs</filename></term>
565 <para>Preferences for &dhpackage;.</para>
569 <term><filename>~/.viking/viking_layer_defaults.ini</filename></term>
571 <para>Layer default values for &dhpackage;.</para>
575 <term><filename>~/.viking/viking.ini</filename></term>
577 <para>Values for &dhpackage; automatically saved between sessions.</para>
578 <para>Not generally intended to be manually edited.</para>
579 <para>However some finer control of default internal values can be set.</para>
583 <term><filename>~/.viking/keys.rc</filename></term>
585 <para>File containing short cut key accelerators.</para>
586 <para>This is in the standard GTK Accelerator map format.</para>
590 <term><filename>~/.viking/cookies.txt</filename></term>
592 <para>File hosting cookies used by &dhpackage;.</para>
596 <term><filename>~/.viking-maps/</filename></term>
598 <para>Default location of the map cache of tiles downloaded or created by &dhpackage;.</para>
603 <para>Extension files (<filename>maps.xml</filename>,
604 <filename>goto_tools.xml</filename>,
605 <filename>datasources.xml</filename>,
606 <filename>external_tools.xml</filename>)
607 are also searched in <filename>/etc/viking</filename> and
608 <filename>/usr/share/viking</filename> directories (or related in your system).</para>
612 <title>ENVIRONMENT</title>
616 <term><envar>XDG_DATA_HOME</envar></term>
618 <para>Optional directory to look for extension files
619 (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>,
620 <filename>external_tools.xml</filename>).</para>
624 <term><envar>XDG_DATA_DIRS</envar></term>
626 <para>Path used to change the directories scanned for extension files
627 (<filename>maps.xml</filename>, <filename>goto_tools.xml</filename>,
628 <filename>external_tools.xml</filename>).</para>
635 <title>AUTHOR</title>
637 <para>This manual page was originally written by &dhusername; &dhemail; for
638 the &debian; system (but may be used by others). Permission is
639 granted to copy, distribute and/or modify this document under
640 the terms of the &gnu; General Public License, Version 2 any
641 later version published by the Free Software Foundation.
644 On Debian systems, the complete text of the GNU General Public
645 License can be found in /usr/share/common-licenses/GPL.