1VIKING(1)                         Viking 1.7                         VIKING(1)
2
3
4

NAME

6       viking - program to manage GPS data
7

SYNOPSIS

9       viking [-d | --debug] [-V | --verbose]
10              [--latitude degrees] [--longitude degrees]
11              [-z | --zoom ZoomLevelOSM] [-m | --map MapId]
12              [file...]
13
14       viking [-h | --help]
15
16       viking [-v | --version]
17

DESCRIPTION

19       Viking is a program to manage GPS data.
20
21       You can import and plot tracks, routes and waypoints, show
22       OpenStreetMap (OSM) and/or other maps, generate maps (using Mapnik),
23       geotag images, add coordinate lines, make new tracks, routes and
24       waypoints, hide different things, etc. It is written mainly in C with
25       some C++ and uses the GTK+ 2 toolkit. It is available for Linux, other
26       POSIX operating systems and Windows.
27
28       Homepage: http://viking.sf.net
29
30       Viking is licensed under the GNU GPL.
31

OPTIONS

33       file
34           Specify file to load at start.
35
36       -d, --debug
37           Enable debug output.
38
39       -V, --verbose
40           Enable verbose output.
41
42       -?, --help
43           Show help options.
44
45       -v, --version
46           Show version.
47
48       --latitude
49           Set the initial position to the specified latitude in decimal
50           degrees.
51
52       --longitude
53           Set the initial position to the specified longitude in decimal
54           degrees.
55
56       -z, --zoom
57           Set the initial zoom level. The value is the OSM zoom level (0 -
58           22).
59
60       -m, --map
61           Add a map layer by specifying the map id. The value needs to match
62           one of the internal ids or an id from the maps configuration
63           extension (see below). Specifying a value of 0 will use the
64           configured map layer default.
65
66               Internal Map Ids:
67
68               OSM Mapnik = 13
69
70               OSM Cycle = 17
71
72               Mapquest OSM = 19
73

EXTENDING VIKING

75       Currently, viking has some extension points based on configuration
76       files. The file format is heavily inspired by the GtkBuilder file
77       format: you specify the class of the GObject to build and set its
78       properties. Technically, it is a XML file containing a "objects" root
79       element. Inside this element, you set a collection of "object".
80
81       Here is an example:
82
83           <objects>
84             <object class="ClassName">
85               <property name="property_name1">Property value</property>
86               <property name="property_name2">Property value</property>
87             </object>
88             ...
89           <objects>
90
91
92       You can find more examples in the documentation part of the
93       distribution.
94
95       Map Source. It is possible to add new map's sources. The file is
96       ~/.viking/maps.xml.  An example of the file in the distribution
97       doc/examples/maps.xml.  The VikSlippyMapSource allows to declare any
98       map's source working like OpenStreetMap. It supports the following
99       properties:
100
101       id
102           this is an integer and should be unique as it used to identify the
103           map source
104
105       name
106           a string (should be unique) that is used for the OSM style cache
107           directory name when the Map Cache directory is the default
108           (~/.viking-maps)
109
110       label
111           the text displayed in the map's source selection dialog
112
113       hostname
114           the server's hostname (eg. "tile.openstreetmap.org")
115
116       url
117           the parametrized address of the tile, in the spirit of C printf
118           format, with 3 "%d" fields for Z, X and Y (in that order) (eg.
119           "/%d/%d/%d.png")
120
121               Note
122               The full parametrized address can just be put in the URL field
123               and the hostname field doesn't need specifying.
124
125               e.g. "https://tile.openstreetmap.org/%d/%d/%d.png"
126
127       zoom-min (optional)
128           The minimum zoom value supported by the tile server. The Default is
129           0 if not specified.
130
131       zoom-max (optional)
132           The maximum zoom value supported by the tile server. The Default is
133           18 if not specified.
134
135           See Zoom Levels[1]
136
137       lat-min (optional)
138           The minimum latitude value in degrees supported by the tile server.
139           The Default is -90 degrees if not specified.
140
141       lat-max (optional)
142           The maximum latitude value in degrees supported by the tile server.
143           The Default is 90 degrees if not specified.
144
145       lon-min (optional)
146           The minimum longitude value in degrees supported by the tile
147           server. The Default is -180 degrees if not specified.
148
149       lon-max (optional)
150           The maximum longitude value in degrees supported by the tile
151           server. The Default is 180 degrees if not specified.
152
153       file-extension (optional)
154           The file extension of the files on disk. The default is .png
155
156           If the tile source URL ends in something other than .png, then this
157           parameter will need to match it.
158
159           This can also be useful in reading a tileset from other software
160           which may name tiles in an alternative form, e.g. for Mobile Atlas
161           creator it names them .png.tile
162
163               Note
164               The file types actually usable are those supported by GDK
165               Pixbuf Library, which includes at least PNG and JPEG.
166
167               Note
168               Remember to include the beginning '.' when specifying this
169               parameter.
170
171       switch-xy (optional)
172           Swap the X,Y values around in the URL parametrized ordering.
173
174           The default is false.
175
176       check-file-server-time (optional)
177           Sends the timestamp of the tile to the server, so the server can
178           decide whether it should send a new tile or not.
179
180           The default is false.
181
182       use-etag (optional)
183           Use and compare the ETag[2] value in determining whether to
184           download a newer tile. The default is false.
185
186           The ETag value is stored in a separate file in the same directory
187           as the tile to enable checking the value across multiple runs of
188           the program.
189
190       tilesize-x (optional)
191           The tile x size. The default is 256 pixels if not specified.
192
193       tilesize-y (optional)
194           The tile y size. The default is 256 pixels if not specified.
195
196       scale (optional)
197           The tile scale. The scale is 1 if not specified.
198
199               Note
200               Use a value of 2 to represent high res tiles. Don't change the
201               tilesize as the internal display size is still based on 256
202               pixels.
203       The VikTmsMapSource allows to declare any TMS service. It supports the
204       following properties (as per VikSlippyMapSource above):
205
206       id
207
208       label
209
210       hostname
211
212       url
213
214       check-file-server-time (optional)
215
216       zoom-min (optional)
217
218       zoom-max (optional)
219
220       lat-min (optional)
221
222       lat-max (optional)
223
224       lon-min (optional)
225
226       lon-max (optional)
227       The VikWmscMapSource allows to declare any WMS or WMS-C service. It
228       supports the following properties (as per VikSlippyMapSource above):
229
230       id
231
232       label
233
234       hostname
235
236       url
237
238       check-file-server-time (optional)
239
240       zoom-min (optional)
241
242       zoom-max (optional)
243
244       lat-min (optional)
245
246       lat-max (optional)
247
248       lon-min (optional)
249
250       lon-max (optional)
251
252       Go-to search engines. It is possible to add new new search engines for
253       the "Go-To" feature. The file is ~/.viking/goto_tools.xml.  An example
254       of the file in the distribution doc/examples/goto_tools.xml.
255       Currently, there is a single object class available: VikGotoXmlTool.
256       Such feature allows to declare any search engine using a XML format as
257       result.  The related properties are:
258
259       label
260           the text displayed in the Go-To dialog
261
262       url-format
263           the parametrized address of the query, in the spirit of C printf
264           format, with a single "%s" field (replaced by the query string)
265
266       lat-path
267           XML path of the latitude (eg.  /root/parent/elem)
268
269       lat-attr (optional)
270           name of the attribute (of previous element) containing the latitude
271
272       lon-path
273           XML path of the longitude (eg.  /root/parent/elem)
274
275       lon-attr (optional)
276           name of the attribute (of previous element) containing the longiude
277       As a facility (or readability) it is possible to set both path and
278       attribute name in a single property, like an XPath expression. To do
279       so, simply set both info in lat-path (or lon-path) in the following
280       format: /root/parent/elem@attribute.
281
282       External tools. It is possible to add new external tools. The file is
283       ~/.viking/external_tools.xml.  An example of the file in the
284       distribution doc/examples/external_tools.xml.  The VikWebtoolCenter
285       allows to declare any Webtool using a logic based on center coordinates
286       and zoom level value.  The related properties are:
287
288       label
289           the text displayed in the menu entry
290
291       url
292           the parametrized URL to open, in the spirit of C printf format,
293           with 2 "%s" and a "%d" fields for X, Y and Z (zoom level) (eg.
294           "http://hostname/?lat=%s&lon=%s&zoom=%d")
295       The VikWebtoolBounds allows to declare any Webtool using a logic based
296       on bounds coordinates.  The related properties are:
297
298       label
299           the text displayed in the menu entry
300
301       url
302           the parametrized address of the tile, in the spirit of C printf
303           format, with 4 "%s" fields for left, right, bottom and top (eg.
304           "http://hostname:8111/load_and_zoom?left=%s&right=%s&bottom=%s&top=%s")
305
306       Routing engine. It is possible to declare new routing engines. The file
307       is ~/.viking/routing.xml.  An example of the file in the distribution
308       doc/examples/routing.xml.  The VikRoutingWebEngine allows to declare a
309       routing engine available via HTTP.  The related properties are:
310
311       id
312           a string, should be unique as it used to identify the routing
313           engine
314
315       label
316           the text displayed in the menu entry
317
318       format
319           The GPSBabel format code to interpret the service response. By
320           default a GPX response is expected and processed internally.
321           However if the service returns different format then GPSBabel is
322           used to transform the text into something that Viking can
323           understand. Only formats that GPSBabel supports can be used: e.g.
324           'gpx', 'kml', 'gtrnctr' (for Garmin Training Center .tcx files),
325           etc...
326
327           Use gpsbabel --help on the command line to find out the supported
328           file types and their codes to process them.
329
330       url-base
331           the base URL of the web service (eg. "http://hostname/service?")
332
333       url-start-ll
334           the part of the URL setting the starting point location,
335           parametrized in the spirit of C printf format, with 2 "%s" for
336           coordinates (eg. "&start=%s,%s")
337
338       url-stop-ll
339           the part of the URL setting the end point location, parametrized in
340           the spirit of C printf format, with 2 "%s" for coordinates (eg.
341           "&stop=%s,%s")
342
343       url-via-ll (optional)
344           the part of the URL setting via point location, parametrized in the
345           spirit of C printf format, with 2 "%s" for coordinates (eg.
346           "&via=%s,%s")
347
348       url-start-dir (optional)
349           the part of the URL setting the starting point location for
350           direction based routing, parametrized in the spirit of C printf
351           format, with one "%s" for direction (eg. "&start=%s")
352
353       url-stop-dir (optional)
354           the part of the URL setting the end point location for direction
355           based routing, parametrized in the spirit of C printf format, with
356           one "%s" for direction (eg. "&start=%s")
357
358       url-ll-lat-first (optional)
359           The ordering of the lat/long terms in the Start, Stop and Via URL
360           settings. By default this is TRUE.
361
362           For instance using Brouter services, the URL uses a pair of values
363           which is longitude and then latitude. Thus setting this value to
364           FALSE ensures the value substitution is performed in the necessary
365           order.
366
367       referer (optional)
368           A URL to serve as referer for the HTTP request (eg.
369           "http://hostname/")
370
371       follow-location (optional)
372           the max depth of recursive redirections
373
374       Remote File Datasources. It is possible to add web references expected
375       to return a file which can then be opened directly or converted via
376       GPSBabel.  The file is ~/.viking/datasources.xml.  An example of the
377       file is in the source distribution doc/examples/datasources.xml.  The
378       VikWebtoolDatasource allows to declare any URL using logic based on
379       coordinates.  The related properties are:
380
381       label
382           the text displayed in the menu entry
383
384       url
385           the parametrized URL to open in the spirit of C printf format, with
386           up to 7 "%s" values. e.g.  http://hostname/getfile?lat=%s&lon=%s
387
388           The order and meaning of these parameters is given by the
389           url_format_code below
390
391       url_format_code
392           A string describing the parametrized URL substitution parameters,
393           each character represents how to translate each term.
394
395           B = Bottom of the current view i.e. minimum latitude
396
397           L = Left of the current view i.e. minimum longitude
398
399           T = Top of the current view i.e. maximum latitude
400
401           R = Right of the current view i.e. maximum longitude
402
403           A = center lAtitude of the current view
404
405           O = center lOngitude of the current view
406
407           Z = OSM Zoom value of the current view. See Zoom Levels[1]
408
409           S = A user specified input string requested from the user via a
410           dialog box
411
412           Thus for the url example above then the format code should be AO
413
414       file_type
415           This value is passed on for the -i parameter in interfacing with
416           GPSBabel.
417
418           If it is not defined then the returned file is interpreted
419           internally as a GPX file.
420
421           Possible values such as 'kml', 'mapsource' etc.. can be used. See
422           GPSBabel File Formats[3] for the full list.
423
424       babel_filter_args
425           This value is passed on for the filter arguments interfacing with
426           GPSBabel.
427
428           E.g. "-x nuketypes,routes" can be used to filter all routes from
429           the results.
430
431       input_label
432           This value is used when requesting input from the user.
433
434           It is the label of the text input box.
435

FILES

437       ~/.viking/maps.xml
438           File containing definition of map sources.
439
440           See previous section for details.
441
442       ~/.viking/goto_tools.xml
443           File containing definition of "Go-to" services.
444
445           See previous section for details.
446
447       ~/.viking/external_tools.xml
448           File containing definition of external tools.
449
450           See previous section for details.
451
452       ~/.viking/datasources.xml
453           File containing definition of remote file datasources.
454
455           See previous section for details.
456
457       ~/.viking/routing.xml
458           File containing definition of routing sources.
459
460           See previous section for details.
461
462       ~/.viking/viking.prefs
463           Preferences for viking.
464
465       ~/.viking/viking_layer_defaults.ini
466           Layer default values for viking.
467
468       ~/.viking/viking.ini
469           Values for viking automatically saved between sessions.
470
471           Not generally intended to be manually edited.
472
473           However some finer control of default internal values can be set.
474
475       ~/.viking/keys.rc
476           File containing short cut key accelerators.
477
478           This is in the standard GTK Accelerator map format.
479
480       ~/.viking-maps/
481           Default location of the map cache of tiles downloaded or created by
482           viking.
483
484       Extension files (maps.xml, goto_tools.xml, datasources.xml,
485       external_tools.xml, routing.xml) are also searched in /etc/viking and
486       /usr/share/viking directories (or related in your system).
487

ENVIRONMENT

489       XDG_DATA_HOME
490           Optional directory to look for extension files (maps.xml,
491           goto_tools.xml, datasources.xml, external_tools.xml, routing.xml).
492
493       XDG_DATA_DIRS
494           Path used to change the directories scanned for extension files
495           (maps.xml, goto_tools.xml, datasources.xml, external_tools.xml,
496           routing.xml).
497

AUTHOR

499       This manual page was originally written by Ralf Meyer
500       <ranfyy@gmail.com> for the Debian(TM) system (but may be used by
501       others). Permission is granted to copy, distribute and/or modify this
502       document under the terms of the GNU General Public License, Version 2
503       any later version published by the Free Software Foundation.
504
505       On Debian systems, the complete text of the GNU General Public License
506       can be found in /usr/share/common-licenses/GPL.
507
509       Copyright © 2007 Ralf Meyer
510       Copyright © 2010 Guilhem Bonnefille
511       Copyright © 2013 Rob Norris
512

NOTES

514        1. Zoom Levels
515           http://wiki.openstreetmap.org/wiki/Zoom_levels
516
517        2. ETag
518           http://en.wikipedia.org/wiki/HTTP_ETag
519
520        3. GPSBabel File Formats
521           http://www.gpsbabel.org/capabilities.html
522
523
524
525Viking                            2019-07-27                         VIKING(1)
Impressum