1VIKING(1) Viking 1.8 VIKING(1)
2
3
4
6 viking - program to manage GPS data
7
9 viking [-d | --debug] [-V | --verbose]
10 [--latitude degrees] [--longitude degrees]
11 [-z | --zoom ZoomLevelOSM] [-m | --map MapId] [-x | --external]
12 [file...] | [-]
13
14 viking [-h | --help]
15
16 viking [-v | --version]
17
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
33 file
34 Specify file to load at start.
35
36 -
37 Read input from standard in.
38
39 -d, --debug
40 Enable debug output.
41
42 -V, --verbose
43 Enable verbose output.
44
45 -?, --help
46 Show help options.
47
48 -v, --version
49 Show version.
50
51 --latitude
52 Set the initial position to the specified latitude in decimal
53 degrees.
54
55 --longitude
56 Set the initial position to the specified longitude in decimal
57 degrees.
58
59 -z, --zoom
60 Set the initial zoom level. The value is the OSM zoom level (0 -
61 22).
62
63 -m, --map
64 Add a map layer by specifying the map id. The value needs to match
65 one of the internal ids or an id from the maps configuration
66 extension (see below). Specifying a value of 0 will use the
67 configured map layer default.
68
69 Internal Map Ids:
70
71 OSM Mapnik = 13
72
73 OSM Cycle = 17
74
75 Mapquest OSM = 19
76
77 -e, --external
78 Load all specified GPX files in 'external' mode.
79
80 This is in contrast to importing the data and storing it in the
81 Viking file.
82
84 Currently, viking has some extension points based on configuration
85 files. The file format is heavily inspired by the GtkBuilder file
86 format: you specify the class of the GObject to build and set its
87 properties. Technically, it is a XML file containing a "objects" root
88 element. Inside this element, you set a collection of "object".
89
90 Here is an example:
91
92 <objects>
93 <object class="ClassName">
94 <property name="property_name1">Property value</property>
95 <property name="property_name2">Property value</property>
96 </object>
97 ...
98 <objects>
99
100
101 You can find more examples in the documentation part of the
102 distribution.
103
104 Map Source. It is possible to add new map's sources. The file is
105 ~/.viking/maps.xml. An example of the file in the distribution
106 doc/examples/maps.xml. The VikSlippyMapSource allows to declare any
107 map's source working like OpenStreetMap. It supports the following
108 properties:
109
110 id
111 this is an integer and should be unique as it used to identify the
112 map source
113
114 name
115 a string (should be unique) that is used for the OSM style cache
116 directory name when the Map Cache directory is the default
117 (~/.viking-maps)
118
119 label
120 the text displayed in the map's source selection dialog
121
122 hostname
123 the server's hostname (eg. "tile.openstreetmap.org")
124
125 url
126 the parametrized address of the tile, in the spirit of C printf
127 format, with 3 "%d" fields for Z, X and Y (in that order) (eg.
128 "/%d/%d/%d.png")
129
130 Note
131 The full parametrized address can just be put in the URL field
132 and the hostname field doesn't need specifying.
133
134 e.g. "https://tile.openstreetmap.org/%d/%d/%d.png"
135
136 zoom-min (optional)
137 The minimum zoom value supported by the tile server. The Default is
138 0 if not specified.
139
140 zoom-max (optional)
141 The maximum zoom value supported by the tile server. The Default is
142 18 if not specified.
143
144 See Zoom Levels[1]
145
146 lat-min (optional)
147 The minimum latitude value in degrees supported by the tile server.
148 The Default is -90 degrees if not specified.
149
150 lat-max (optional)
151 The maximum latitude value in degrees supported by the tile server.
152 The Default is 90 degrees if not specified.
153
154 lon-min (optional)
155 The minimum longitude value in degrees supported by the tile
156 server. The Default is -180 degrees if not specified.
157
158 lon-max (optional)
159 The maximum longitude value in degrees supported by the tile
160 server. The Default is 180 degrees if not specified.
161
162 file-extension (optional)
163 The file extension of the files on disk. The default is .png
164
165 If the tile source URL ends in something other than .png, then this
166 parameter will need to match it.
167
168 This can also be useful in reading a tileset from other software
169 which may name tiles in an alternative form, e.g. for Mobile Atlas
170 creator it names them .png.tile
171
172 Note
173 The file types actually usable are those supported by GDK
174 Pixbuf Library, which includes at least PNG and JPEG.
175
176 Note
177 Remember to include the beginning '.' when specifying this
178 parameter.
179
180 switch-xy (optional)
181 Swap the X,Y values around in the URL parametrized ordering.
182
183 The default is false.
184
185 check-file-server-time (optional)
186 Sends the timestamp of the tile to the server, so the server can
187 decide whether it should send a new tile or not.
188
189 The default is false.
190
191 use-etag (optional)
192 Use and compare the ETag[2] value in determining whether to
193 download a newer tile. The default is false.
194
195 The ETag value is stored in a separate file in the same directory
196 as the tile to enable checking the value across multiple runs of
197 the program.
198
199 tilesize-x (optional)
200 The tile x size. The default is 256 pixels if not specified.
201
202 tilesize-y (optional)
203 The tile y size. The default is 256 pixels if not specified.
204
205 scale (optional)
206 The tile scale. The scale is 1 if not specified.
207
208 Note
209 Use a value of 2 to represent high res tiles. Don't change the
210 tilesize as the internal display size is still based on 256
211 pixels.
212 The VikTmsMapSource allows to declare any TMS service. It supports the
213 following properties (as per VikSlippyMapSource above):
214
215 id
216
217 label
218
219 hostname
220
221 url
222
223 check-file-server-time (optional)
224
225 zoom-min (optional)
226
227 zoom-max (optional)
228
229 lat-min (optional)
230
231 lat-max (optional)
232
233 lon-min (optional)
234
235 lon-max (optional)
236 The VikWmscMapSource allows to declare any WMS or WMS-C service. It
237 supports the following properties (as per VikSlippyMapSource above):
238
239 id
240
241 label
242
243 hostname
244
245 url
246
247 check-file-server-time (optional)
248
249 zoom-min (optional)
250
251 zoom-max (optional)
252
253 lat-min (optional)
254
255 lat-max (optional)
256
257 lon-min (optional)
258
259 lon-max (optional)
260
261 Go-to search engines. It is possible to add new new search engines for
262 the "Go-To" feature. The file is ~/.viking/goto_tools.xml. An example
263 of the file in the distribution doc/examples/goto_tools.xml.
264 Currently, there is a single object class available: VikGotoXmlTool.
265 Such feature allows to declare any search engine using a XML format as
266 result. The related properties are:
267
268 label
269 the text displayed in the Go-To dialog
270
271 url-format
272 the parametrized address of the query, in the spirit of C printf
273 format, with a single "%s" field (replaced by the query string)
274
275 lat-path
276 XML path of the latitude (eg. /root/parent/elem)
277
278 lat-attr (optional)
279 name of the attribute (of previous element) containing the latitude
280
281 lon-path
282 XML path of the longitude (eg. /root/parent/elem)
283
284 lon-attr (optional)
285 name of the attribute (of previous element) containing the longiude
286 As a facility (or readability) it is possible to set both path and
287 attribute name in a single property, like an XPath expression. To do
288 so, simply set both info in lat-path (or lon-path) in the following
289 format: /root/parent/elem@attribute.
290
291 External tools. It is possible to add new external tools. The file is
292 ~/.viking/external_tools.xml. An example of the file in the
293 distribution doc/examples/external_tools.xml. The VikWebtoolCenter
294 allows to declare any Webtool using a logic based on center coordinates
295 and zoom level value. The related properties are:
296
297 label
298 the text displayed in the menu entry
299
300 url
301 the parametrized URL to open, in the spirit of C printf format,
302 with 2 "%s" and a "%d" fields for X, Y and Z (zoom level) (eg.
303 "http://hostname/?lat=%s&lon=%s&zoom=%d")
304 The VikWebtoolBounds allows to declare any Webtool using a logic based
305 on bounds coordinates. The related properties are:
306
307 label
308 the text displayed in the menu entry
309
310 url
311 the parametrized address of the tile, in the spirit of C printf
312 format, with 4 "%s" fields for left, right, bottom and top (eg.
313 "http://hostname:8111/load_and_zoom?left=%s&right=%s&bottom=%s&top=%s")
314
315 Routing engine. It is possible to declare new routing engines. The file
316 is ~/.viking/routing.xml. An example of the file in the distribution
317 doc/examples/routing.xml. The VikRoutingWebEngine allows to declare a
318 routing engine available via HTTP. The related properties are:
319
320 id
321 a string, should be unique as it used to identify the routing
322 engine
323
324 label
325 the text displayed in the menu entry
326
327 format
328 The GPSBabel format code to interpret the service response. By
329 default a GPX response is expected and processed internally.
330 However if the service returns different format then GPSBabel is
331 used to transform the text into something that Viking can
332 understand. Only formats that GPSBabel supports can be used: e.g.
333 'gpx', 'kml', 'gtrnctr' (for Garmin Training Center .tcx files),
334 etc...
335
336 Use gpsbabel --help on the command line to find out the supported
337 file types and their codes to process them.
338
339 url-base
340 the base URL of the web service (eg. "http://hostname/service?")
341
342 url-start-ll
343 the part of the URL setting the starting point location,
344 parametrized in the spirit of C printf format, with 2 "%s" for
345 coordinates (eg. "&start=%s,%s")
346
347 url-stop-ll
348 the part of the URL setting the end point location, parametrized in
349 the spirit of C printf format, with 2 "%s" for coordinates (eg.
350 "&stop=%s,%s")
351
352 url-via-ll (optional)
353 the part of the URL setting via point location, parametrized in the
354 spirit of C printf format, with 2 "%s" for coordinates (eg.
355 "&via=%s,%s")
356
357 url-start-dir (optional)
358 the part of the URL setting the starting point location for
359 direction based routing, parametrized in the spirit of C printf
360 format, with one "%s" for direction (eg. "&start=%s")
361
362 url-stop-dir (optional)
363 the part of the URL setting the end point location for direction
364 based routing, parametrized in the spirit of C printf format, with
365 one "%s" for direction (eg. "&start=%s")
366
367 url-ll-lat-first (optional)
368 The ordering of the lat/long terms in the Start, Stop and Via URL
369 settings. By default this is TRUE.
370
371 For instance using Brouter services, the URL uses a pair of values
372 which is longitude and then latitude. Thus setting this value to
373 FALSE ensures the value substitution is performed in the necessary
374 order.
375
376 referer (optional)
377 A URL to serve as referer for the HTTP request (eg.
378 "http://hostname/")
379
380 follow-location (optional)
381 the max depth of recursive redirections
382
383 Remote File Datasources. It is possible to add web references expected
384 to return a file which can then be opened directly or converted via
385 GPSBabel. The file is ~/.viking/datasources.xml. An example of the
386 file is in the source distribution doc/examples/datasources.xml. The
387 VikWebtoolDatasource allows to declare any URL using logic based on
388 coordinates. The related properties are:
389
390 label
391 the text displayed in the menu entry
392
393 url
394 the parametrized URL to open in the spirit of C printf format, with
395 up to 7 "%s" values. e.g. http://hostname/getfile?lat=%s&lon=%s
396
397 The order and meaning of these parameters is given by the
398 url_format_code below
399
400 url_format_code
401 A string describing the parametrized URL substitution parameters,
402 each character represents how to translate each term.
403
404 B = Bottom of the current view i.e. minimum latitude
405
406 L = Left of the current view i.e. minimum longitude
407
408 T = Top of the current view i.e. maximum latitude
409
410 R = Right of the current view i.e. maximum longitude
411
412 A = center lAtitude of the current view
413
414 O = center lOngitude of the current view
415
416 Z = OSM Zoom value of the current view. See Zoom Levels[1]
417
418 S = A user specified input string requested from the user via a
419 dialog box
420
421 Thus for the url example above then the format code should be AO
422
423 file_type
424 This value is passed on for the -i parameter in interfacing with
425 GPSBabel.
426
427 If it is not defined then the returned file is interpreted
428 internally as a GPX file.
429
430 Possible values such as 'kml', 'mapsource' etc.. can be used. See
431 GPSBabel File Formats[3] for the full list.
432
433 babel_filter_args
434 This value is passed on for the filter arguments interfacing with
435 GPSBabel.
436
437 E.g. "-x nuketypes,routes" can be used to filter all routes from
438 the results.
439
440 input_label
441 This value is used when requesting input from the user.
442
443 It is the label of the text input box.
444
446 ~/.viking/maps.xml
447 File containing definition of map sources.
448
449 See previous section for details.
450
451 ~/.viking/goto_tools.xml
452 File containing definition of "Go-to" services.
453
454 See previous section for details.
455
456 ~/.viking/external_tools.xml
457 File containing definition of external tools.
458
459 See previous section for details.
460
461 ~/.viking/datasources.xml
462 File containing definition of remote file datasources.
463
464 See previous section for details.
465
466 ~/.viking/routing.xml
467 File containing definition of routing sources.
468
469 See previous section for details.
470
471 ~/.viking/viking.prefs
472 Preferences for viking.
473
474 ~/.viking/viking_layer_defaults.ini
475 Layer default values for viking.
476
477 ~/.viking/viking.ini
478 Values for viking automatically saved between sessions.
479
480 Not generally intended to be manually edited.
481
482 However some finer control of default internal values can be set.
483
484 ~/.viking/keys.rc
485 File containing short cut key accelerators.
486
487 This is in the standard GTK Accelerator map format.
488
489 ~/.viking-maps/
490 Default location of the map cache of tiles downloaded or created by
491 viking.
492
493 Extension files (maps.xml, goto_tools.xml, datasources.xml,
494 external_tools.xml, routing.xml) are also searched in /etc/viking and
495 /usr/share/viking directories (or related in your system).
496
498 XDG_DATA_HOME
499 Optional directory to look for extension files (maps.xml,
500 goto_tools.xml, datasources.xml, external_tools.xml, routing.xml).
501
502 XDG_DATA_DIRS
503 Path used to change the directories scanned for extension files
504 (maps.xml, goto_tools.xml, datasources.xml, external_tools.xml,
505 routing.xml).
506
508 This manual page was originally written by Ralf Meyer
509 <ranfyy@gmail.com> for the Debian(TM) system (but may be used by
510 others). Permission is granted to copy, distribute and/or modify this
511 document under the terms of the GNU General Public License, Version 2
512 any later version published by the Free Software Foundation.
513
514 On Debian systems, the complete text of the GNU General Public License
515 can be found in /usr/share/common-licenses/GPL.
516
518 Copyright © 2007 Ralf Meyer
519 Copyright © 2010 Guilhem Bonnefille
520 Copyright © 2013 Rob Norris
521
523 1. Zoom Levels
524 http://wiki.openstreetmap.org/wiki/Zoom_levels
525
526 2. ETag
527 http://en.wikipedia.org/wiki/HTTP_ETag
528
529 3. GPSBabel File Formats
530 http://www.gpsbabel.org/capabilities.html
531
532
533
534Viking 2022-01-22 VIKING(1)