1VIKING(1) Viking 1.7 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]
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 -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
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
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
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
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
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)