VIKING(1) | Viking 1.10 | VIKING(1) |
NAME
viking - program to manage GPS data
SYNOPSIS
viking [-d | --debug] [-V |
--verbose]
[--latitude degrees]
[--longitude degrees]
[-z | --zoom ZoomLevelOSM] [-m |
--map MapId] [-x | --external]
[file...] | [-]
viking [-h | --help]
viking [-v | --version]
DESCRIPTION
Viking is a program to manage GPS data.
You can import and plot tracks, routes and waypoints, show OpenStreetMap (OSM) and/or other maps, generate maps (using Mapnik), geotag images, add coordinate lines, make new tracks, routes and waypoints, hide different things, etc. It is written mainly in C with some C++ and uses the GTK+ 3 toolkit. It is available for Linux, other POSIX operating systems and Windows.
Homepage: http://viking.sf.net
Viking is licensed under the GNU GPL.
OPTIONS
file
If a filename is in the 'geo' URI sheme (RFC5870[1]) then the positional information will be used (and it will not attempt to load it as a file)
-
-d, --debug
-V, --verbose
-?, --help
-v, --version
--latitude
--longitude
-z, --zoom
-m, --map
-e, --external
This is in contrast to importing the data and storing it in the Viking file.
EXTENDING VIKING
Currently, viking 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".
Here is an example:
<objects> <object class="ClassName"> <property name="property_name1">Property value</property> <property name="property_name2">Property value</property> </object> ... <objects>
You can find more examples in the documentation part of the distribution.
The User Configuration File Location directory is ~/.viking for versions up to v1.8. For new installs from v1.9 onwards it is ~/.config/viking If the legacy location exists then Viking will use that in preference to the new location.
Map Source. It is possible to add new map sources. The file is maps.xml in User Configuration File Location directory. An example of the file in the distribution doc/examples/maps.xml. The VikSlippyMapSource allows declaration of any map source working like OpenStreetMap. It supports the following properties:
id
name
label
hostname
url
Note
The full parametrized address can just be put in the URL field and the hostname field doesn't need specifying.
custom-http-headers (optional)
Multiple headers can be specified by separating each part with an '\n'.
The header allows of substition of values of the positional Z, X and Y (in that order) values, as per the url option above. Using multiple and/or different ordered values can be acheived via printf() positional argument specifiers. For example:
DNT: 1\nLine2: %d %d %d\nReordered: %3$d %1$d %2$d
copyright (optional)
license (optional)
license-url (optional)
zoom-min (optional)
zoom-max (optional)
See Zoom Levels[2]
lat-min (optional)
lat-max (optional)
lon-min (optional)
lon-max (optional)
file-extension (optional)
If the tile source URL ends in something other than .png, then this parameter will need to match it.
This can also be useful in reading a tileset from other software which may name tiles in an alternative form, e.g. for Mobile Atlas creator it names them .png.tile
Note
The file types actually usable are those supported by GDK Pixbuf Library, which includes at least PNG and JPEG.
Note
Remember to include the beginning '.' when specifying this parameter.
offset-x (optional)
Use negative numbers to adjust in a westerly direction.
Typical usage would be aligning differing maps, e.g. aerial imagery may be offset from cadastral maps.
Currently this is a single value that applies to all zoom levels.
offset-y (optional)
Use negative numbers to adjust in a southerly direction.
switch-xy (optional)
The default is false.
check-file-server-time (optional)
The default is false.
use-etag (optional)
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.
referer (optional)
follow-location (optional)
tilesize-x (optional)
tilesize-y (optional)
scale (optional)
Note
Use a value of 2 to represent high res tiles. Don't change the tilesize as the internal display size is still based on 256 pixels.
The VikTmsMapSource allows declaration of any TMS service. A TMS (Tile Map Service) is defined in OSGeo wiki[4]. The configuration supports the following properties (as per VikSlippyMapSource above):
The VikWmscMapSource allows declaration of any WMS or WMS-C service. A WMS (Web Map Service) is defined in WMS Tile Caching[5]. The configuration supports the following properties (as per VikSlippyMapSource above):
Go-to search engines. It is possible to add new new search engines for the "Go-To" feature. The file is goto_tools.xml in User Configuration File Location directory. An example of the file in the distribution doc/examples/goto_tools.xml. Currently, there is a single object class available: VikGotoXmlTool. This feature allows one to declare any search engine using a XML format as result. The related properties are:
label
url-format
lat-path
lat-attr (optional)
lon-path
lon-attr (optional)
External tools. It is possible to add new external tools. The file is external_tools.xml in User Configuration File Location directory. An example of the file in the distribution doc/examples/external_tools.xml. The VikWebtoolCenter allows one to declare any Webtool using a logic based on center coordinates and zoom level value. The related properties are:
label
url
label
url
Routing engine. It is possible to declare new routing engines. The file is routing.xml in User Configuration File Location directory. An example of the file in the distribution doc/examples/routing.xml. The VikRoutingWebEngine allows one to declare a routing engine available via HTTP. The related properties are:
id
label
format
Use gpsbabel --help on the command line to find out the supported file types and their codes to process them.
url-base
url-start-ll
url-stop-ll
url-via-ll (optional)
url-start-dir (optional)
url-stop-dir (optional)
url-ll-lat-first (optional)
For instance using Brouter services, the URL uses a pair of values which is longitude and then latitude. Thus setting this value to FALSE ensures the value substitution is performed in the necessary order.
referer (optional)
follow-location (optional)
Remote File Datasources. It is possible to add web references expected to return a file which can then be opened directly or converted via GPSBabel. The file is datasources.xml in your User Configuration File Location directory. An example of the file is in the source distribution doc/examples/datasources.xml. The VikWebtoolDatasource allows one to declare any URL using logic based on coordinates. The related properties are:
label
url
The order and meaning of these parameters is given by the url_format_code below
url_format_code
B = Bottom of the current view i.e. minimum latitude
L = Left of the current view i.e. minimum longitude
T = Top of the current view i.e. maximum latitude
R = Right of the current view i.e. maximum longitude
A = center lAtitude of the current view
O = center lOngitude of the current view
Z = OSM Zoom value of the current view. See Zoom Levels[2]
S = A user specified input string requested from the user via a dialog box
Thus for the url example above then the format code should be AO
file_type
If it is not defined then the returned file is interpreted internally as a GPX file.
Possible values such as 'kml', 'mapsource' etc.. can be used. See GPSBabel File Formats[6] for the full list.
babel_filter_args
E.g. "-x nuketypes,routes" can be used to filter all routes from the results.
input_label
It is the label of the text input box.
FILES
The User Configuration File Location directory is ~/.viking for versions up to v1.8. For new installs it is ~/.config/viking from v1.9 onwards. If the legacy location exists then Viking will use that in preference to the new location.
Configuration: maps.xml
See previous section for details.
Configuration: goto_tools.xml
See previous section for details.
Configuration: external_tools.xml
See previous section for details.
Configuration: datasources.xml
See previous section for details.
Configuration: routing.xml
See previous section for details.
Configuration: viking.prefs
Configuration: viking_layer_defaults.ini
Configuration: viking.ini
Not generally intended to be manually edited.
However some finer control of default internal values can be set.
Configuration: keys.rc
This is in the standard GTK Accelerator map format.
Up to v1.8 ~/.viking-maps/, v1.9 onwards ~/.cache/viking/
If the legacy location exists then Viking will use that in preference.
Extension files (maps.xml, goto_tools.xml, datasources.xml, external_tools.xml, routing.xml) are also searched in /etc/viking and /usr/share/viking directories (or related in your system).
ENVIRONMENT
XDG_DATA_HOME
XDG_DATA_DIRS
VIKING_MAPS
AUTHOR
This manual page was originally written by Ralf Meyer <ranfyy@gmail.com> for the Debian(TM) system (but may be used by others). Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License, Version 2 any later version published by the Free Software Foundation.
On Debian systems, the complete text of the GNU General Public License can be found in /usr/share/common-licenses/GPL.
COPYRIGHT
Copyright © 2007 Ralf Meyer
Copyright © 2010 Guilhem Bonnefille
Copyright © 2021 Rob Norris
NOTES
- 1.
- RFC5870
- 2.
- Zoom Levels
- 3.
- ETag
- 4.
- OSGeo wiki
- 5.
- WMS Tile Caching
- 6.
- GPSBabel File Formats
2024-09-10 | Viking |