gpxdo¶
usage: gpxdo [-h]
{ls,cp,merge,mv,rm,split,join,diff,fix,keywords,dump,title,description,category,public,private}
...
Sub-commands:¶
ls¶
list tracks
gpxdo ls [-h] [--loglevel {none,debug,info,warning,error}] [--timeout TIMEOUT]
[--first-date FIRST_DATE] [--last-date LAST_DATE] [--date DATE]
[--min-points MIN_POINTS] [--max-points MAX_POINTS]
[--min-distance MIN_DISTANCE] [--max-distance MAX_DISTANCE]
[--min-speed MIN_SPEED] [--max-speed MAX_SPEED]
[--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR]
[--sort {identifier,title,category,time,distance,points,keywords,status,speed,moving-speed,duration,similarity}]
[--total] [--segments] [--long] [--all] [--title] [--category]
[--ids] [--time] [--distance] [--points] [--status] [--keywords]
[--description] [--speed] [--moving-speed] [--duration]
[--similarity] [--warnings]
[--location-provider {baidu,yandex,freegeoip,komoot,tamu,google,osm,ipinfo,mapbox,yahoo,geolytica,canadapost,arcgis,w3w,tomtom,mapquest,mapzen,geocodefarm,tgos,gisgraphy,geonames,ottawa,here,uscensus,locationiq,bing,opencage,maxmind,gaode}]
[--locate LOCATE] [--max-away MAX_AWAY]
[source [source ...]]
Positional Arguments¶
source | one ore more tracks or backends |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
--sort | Possible choices: identifier, title, category, time, distance, points, keywords, status, speed, moving-speed, duration, similarity sort by one ore more columns, separated by commas (no spaces allowed) Default: “identifier” |
--total | Show a total line Default: False |
--segments | show track segments Default: False |
--long | show most useful info Default: False |
--all | show all available info Default: False |
--title | show the title Default: False |
--category | show the track type Default: False |
--ids | show the ids Default: False |
--time | show the time Default: False |
--distance | show the distance Default: False |
--points | show the number of points Default: False |
--status | show the status public/private Default: False |
--keywords | show the keywords Default: False |
--description | show the description Default: False |
--speed | show the average speed Default: False |
--moving-speed | show the average speed in motion Default: False |
--duration | show the entire duration Default: False |
--similarity | show the similarity Default: False |
--warnings | show warnings Default: False |
--location-provider | |
Possible choices: baidu, yandex, freegeoip, komoot, tamu, google, osm, ipinfo, mapbox, yahoo, geolytica, canadapost, arcgis, w3w, tomtom, mapquest, mapzen, geocodefarm, tgos, gisgraphy, geonames, ottawa, here, uscensus, locationiq, bing, opencage, maxmind, gaode data provider Default: “osm” | |
--locate | the name of a place. –location can be repeated. Find tracks touching all locations, order by best match |
--max-away |
Default: 100 |
source and destination arguments may be single tracks or entire backend instances. Local files and directories are given as usual. Mail targets are given as mailer:my_mail@address.test
For all other backends, the syntax is:
backend:username for all tracks in a backend
or
backend:username/track_id for one specific track in a backend
Available backends are:
- mmt MapMytracks
- gpsies gpsies.com
- openrunner openrunner.com
- mailer mails tracks
The file $HOME/.config/Gpxity/auth.cfg defines the type of the backend, username and password. Example:
[MMT:username] Password = whatever
Dates are expected as YYYY-MM-DD, YYYY-MM or YYYY.
cp¶
copy tracks. This can be much faster for remote backends because tracks with the same points are not merged.
gpxdo cp [-h] [--loglevel {none,debug,info,warning,error}] [--timeout TIMEOUT]
[--first-date FIRST_DATE] [--last-date LAST_DATE] [--date DATE]
[--min-points MIN_POINTS] [--max-points MAX_POINTS]
[--min-distance MIN_DISTANCE] [--max-distance MAX_DISTANCE]
[--min-speed MIN_SPEED] [--max-speed MAX_SPEED]
[--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR] [--dry-run]
[source [source ...]] destination
Positional Arguments¶
source | one ore more tracks or backends |
destination | the destination backend |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
--dry-run | only show what would change Default: False |
source and destination arguments may be single tracks or entire backend instances. Local files and directories are given as usual. Mail targets are given as mailer:my_mail@address.test
For all other backends, the syntax is:
backend:username for all tracks in a backend
or
backend:username/track_id for one specific track in a backend
Available backends are:
- mmt MapMytracks
- gpsies gpsies.com
- openrunner openrunner.com
- mailer mails tracks
The file $HOME/.config/Gpxity/auth.cfg defines the type of the backend, username and password. Example:
[MMT:username] Password = whatever
Dates are expected as YYYY-MM-DD, YYYY-MM or YYYY.
merge¶
merge tracks: If their trackpoints are identical, add metadata like name, description or keywords from source to destination
gpxdo merge [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE] [--min-points MIN_POINTS]
[--max-points MAX_POINTS] [--min-distance MIN_DISTANCE]
[--max-distance MAX_DISTANCE] [--min-speed MIN_SPEED]
[--max-speed MAX_SPEED] [--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR] [--dry-run] [--remove] [--partial-tracks]
[--copy]
[source [source ...]] destination
Positional Arguments¶
source | one ore more tracks or backends |
destination | the destination backend |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
--dry-run | only show what would change Default: False |
--remove | remove merged tracks Default: False |
--partial-tracks | |
merges two tracks if one is part of the other Default: False | |
--copy | If the target is a backend, do not look for similar track. Just copy. This is much faster for remote backends. Default: False |
source and destination arguments may be single tracks or entire backend instances. Local files and directories are given as usual. Mail targets are given as mailer:my_mail@address.test
For all other backends, the syntax is:
backend:username for all tracks in a backend
or
backend:username/track_id for one specific track in a backend
Available backends are:
- mmt MapMytracks
- gpsies gpsies.com
- openrunner openrunner.com
- mailer mails tracks
The file $HOME/.config/Gpxity/auth.cfg defines the type of the backend, username and password. Example:
[MMT:username] Password = whatever
Dates are expected as YYYY-MM-DD, YYYY-MM or YYYY.
mv¶
move sources to a destination backend
gpxdo mv [-h] [--loglevel {none,debug,info,warning,error}] [--timeout TIMEOUT]
[--first-date FIRST_DATE] [--last-date LAST_DATE] [--date DATE]
[--min-points MIN_POINTS] [--max-points MAX_POINTS]
[--min-distance MIN_DISTANCE] [--max-distance MAX_DISTANCE]
[--min-speed MIN_SPEED] [--max-speed MAX_SPEED]
[--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR]
[source [source ...]] destination
Positional Arguments¶
source | one ore more tracks or backends |
destination | the destination backend |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
source and destination arguments may be single tracks or entire backend instances. Local files and directories are given as usual. Mail targets are given as mailer:my_mail@address.test
For all other backends, the syntax is:
backend:username for all tracks in a backend
or
backend:username/track_id for one specific track in a backend
Available backends are:
- mmt MapMytracks
- gpsies gpsies.com
- openrunner openrunner.com
- mailer mails tracks
The file $HOME/.config/Gpxity/auth.cfg defines the type of the backend, username and password. Example:
[MMT:username] Password = whatever
Dates are expected as YYYY-MM-DD, YYYY-MM or YYYY.
rm¶
remove tracks
gpxdo rm [-h] [--loglevel {none,debug,info,warning,error}] [--timeout TIMEOUT]
[--first-date FIRST_DATE] [--last-date LAST_DATE] [--date DATE]
[--min-points MIN_POINTS] [--max-points MAX_POINTS]
[--min-distance MIN_DISTANCE] [--max-distance MAX_DISTANCE]
[--min-speed MIN_SPEED] [--max-speed MAX_SPEED]
[--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR] [--dry-run]
[source [source ...]]
Positional Arguments¶
source | one ore more tracks or backends |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
--dry-run | only show what would be removed Default: False |
source and destination arguments may be single tracks or entire backend instances. Local files and directories are given as usual. Mail targets are given as mailer:my_mail@address.test
For all other backends, the syntax is:
backend:username for all tracks in a backend
or
backend:username/track_id for one specific track in a backend
Available backends are:
- mmt MapMytracks
- gpsies gpsies.com
- openrunner openrunner.com
- mailer mails tracks
The file $HOME/.config/Gpxity/auth.cfg defines the type of the backend, username and password. Example:
[MMT:username] Password = whatever
Dates are expected as YYYY-MM-DD, YYYY-MM or YYYY.
split¶
split tracks: create a single Track for every track/segment
gpxdo split [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE] [--min-points MIN_POINTS]
[--max-points MAX_POINTS] [--min-distance MIN_DISTANCE]
[--max-distance MAX_DISTANCE] [--min-speed MIN_SPEED]
[--max-speed MAX_SPEED] [--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR]
[source [source ...]]
Positional Arguments¶
source | one ore more tracks or backends |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
source and destination arguments may be single tracks or entire backend instances. Local files and directories are given as usual. Mail targets are given as mailer:my_mail@address.test
For all other backends, the syntax is:
backend:username for all tracks in a backend
or
backend:username/track_id for one specific track in a backend
Available backends are:
- mmt MapMytracks
- gpsies gpsies.com
- openrunner openrunner.com
- mailer mails tracks
The file $HOME/.config/Gpxity/auth.cfg defines the type of the backend, username and password. Example:
[MMT:username] Password = whatever
Dates are expected as YYYY-MM-DD, YYYY-MM or YYYY.
join¶
join tracks into one single track
gpxdo join [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE] [--min-points MIN_POINTS]
[--max-points MAX_POINTS] [--min-distance MIN_DISTANCE]
[--max-distance MAX_DISTANCE] [--min-speed MIN_SPEED]
[--max-speed MAX_SPEED] [--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR] [--title TITLE]
[source [source ...]] destination
Positional Arguments¶
source | one ore more tracks or backends |
destination | the destination backend |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
--title | Title and id for the new track |
source and destination arguments may be single tracks or entire backend instances. Local files and directories are given as usual. Mail targets are given as mailer:my_mail@address.test
For all other backends, the syntax is:
backend:username for all tracks in a backend
or
backend:username/track_id for one specific track in a backend
Available backends are:
- mmt MapMytracks
- gpsies gpsies.com
- openrunner openrunner.com
- mailer mails tracks
The file $HOME/.config/Gpxity/auth.cfg defines the type of the backend, username and password. Example:
[MMT:username] Password = whatever
Dates are expected as YYYY-MM-DD, YYYY-MM or YYYY.
diff¶
compare tracks between source and destination
gpxdo diff [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE] [--min-points MIN_POINTS]
[--max-points MAX_POINTS] [--min-distance MIN_DISTANCE]
[--max-distance MAX_DISTANCE] [--min-speed MIN_SPEED]
[--max-speed MAX_SPEED] [--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR]
source [source ...] destination
Positional Arguments¶
source | one ore more tracks or backends |
destination | the destination backend |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
source and destination arguments may be single tracks or entire backend instances. Local files and directories are given as usual. Mail targets are given as mailer:my_mail@address.test
For all other backends, the syntax is:
backend:username for all tracks in a backend
or
backend:username/track_id for one specific track in a backend
Available backends are:
- mmt MapMytracks
- gpsies gpsies.com
- openrunner openrunner.com
- mailer mails tracks
The file $HOME/.config/Gpxity/auth.cfg defines the type of the backend, username and password. Example:
[MMT:username] Password = whatever
Dates are expected as YYYY-MM-DD, YYYY-MM or YYYY.
fix¶
- try to fix some GPX format bugs in tracks.
- First BACKUP the tracks! This can destroy them!
gpxdo fix [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE] [--min-points MIN_POINTS]
[--max-points MAX_POINTS] [--min-distance MIN_DISTANCE]
[--max-distance MAX_DISTANCE] [--min-speed MIN_SPEED]
[--max-speed MAX_SPEED] [--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR] [--orux] [--jumps] [--title-from-id]
[--id-from-title] [--id-from-time]
[--id-from-backend ID_FROM_BACKEND] [--simplify MAX]
[--add-minutes ADD_MINUTES]
[source [source ...]]
Positional Arguments¶
source | one ore more tracks or backends |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
--orux |
Default: False |
--jumps |
Default: False |
--title-from-id | |
use id for title Default: False | |
--id-from-title | |
use title for id, works only for Directory Default: False | |
--id-from-time | use time for id, works only for Directory Default: False |
--id-from-backend | |
use last known id for a track in BACKEND | |
--simplify | Reduce track points. The new track may move MAX meters away from the original |
--add-minutes | Add minutes to all times |
source and destination arguments may be single tracks or entire backend instances. Local files and directories are given as usual. Mail targets are given as mailer:my_mail@address.test
For all other backends, the syntax is:
backend:username for all tracks in a backend
or
backend:username/track_id for one specific track in a backend
Available backends are:
- mmt MapMytracks
- gpsies gpsies.com
- openrunner openrunner.com
- mailer mails tracks
The file $HOME/.config/Gpxity/auth.cfg defines the type of the backend, username and password. Example:
[MMT:username] Password = whatever
Dates are expected as YYYY-MM-DD, YYYY-MM or YYYY.
keywords¶
add keywords. A keyword preceded with - will be removed. Examples:
keywords A,-B keywords – -A
gpxdo keywords [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE] [--min-points MIN_POINTS]
[--max-points MAX_POINTS] [--min-distance MIN_DISTANCE]
[--max-distance MAX_DISTANCE] [--min-speed MIN_SPEED]
[--max-speed MAX_SPEED] [--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR] [--dry-run]
keywords [source [source ...]]
Positional Arguments¶
keywords | keywords separated by commas |
source | one ore more tracks or backends |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
--dry-run | only show what would be done Default: False |
dump¶
Show specific GPX values
gpxdo dump [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE] [--min-points MIN_POINTS]
[--max-points MAX_POINTS] [--min-distance MIN_DISTANCE]
[--max-distance MAX_DISTANCE] [--min-speed MIN_SPEED]
[--max-speed MAX_SPEED] [--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR] [--points]
[source [source ...]]
Positional Arguments¶
source | one ore more tracks or backends |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
--points | List detailled info about points Default: False |
source and destination arguments may be single tracks or entire backend instances. Local files and directories are given as usual. Mail targets are given as mailer:my_mail@address.test
For all other backends, the syntax is:
backend:username for all tracks in a backend
or
backend:username/track_id for one specific track in a backend
Available backends are:
- mmt MapMytracks
- gpsies gpsies.com
- openrunner openrunner.com
- mailer mails tracks
The file $HOME/.config/Gpxity/auth.cfg defines the type of the backend, username and password. Example:
[MMT:username] Password = whatever
Dates are expected as YYYY-MM-DD, YYYY-MM or YYYY.
title¶
set the title
gpxdo title [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE] [--min-points MIN_POINTS]
[--max-points MAX_POINTS] [--min-distance MIN_DISTANCE]
[--max-distance MAX_DISTANCE] [--min-speed MIN_SPEED]
[--max-speed MAX_SPEED] [--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR]
title [source [source ...]]
Positional Arguments¶
title | the new title |
source | one ore more tracks or backends |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
description¶
set the description
gpxdo description [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE]
[--min-points MIN_POINTS] [--max-points MAX_POINTS]
[--min-distance MIN_DISTANCE] [--max-distance MAX_DISTANCE]
[--min-speed MIN_SPEED] [--max-speed MAX_SPEED]
[--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR]
description [source [source ...]]
Positional Arguments¶
description | the new description |
source | one ore more tracks or backends |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
category¶
set the category
gpxdo category [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE] [--min-points MIN_POINTS]
[--max-points MAX_POINTS] [--min-distance MIN_DISTANCE]
[--max-distance MAX_DISTANCE] [--min-speed MIN_SPEED]
[--max-speed MAX_SPEED] [--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR]
{Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling
- Indoor,Cycling - Hand,Cycling - Touring,Cycling -
Foot,Running,Running - Trail,Running - Urban
Trail,Sailing,Walking,Hiking,Hiking -
Speed,Swimming,Driving,Off road driving,Motor
racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing -
Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing -
Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle
boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse
riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot
air ballooning,Nordic walking,Snowshoeing,Jet
skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack
animal
trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River
navigation,Skating - Inline,Miscellaneous}
[source [source ...]]
Positional Arguments¶
category | Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous the new category |
source | one ore more tracks or backends |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
public¶
set the status to public
gpxdo public [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE] [--min-points MIN_POINTS]
[--max-points MAX_POINTS] [--min-distance MIN_DISTANCE]
[--max-distance MAX_DISTANCE] [--min-speed MIN_SPEED]
[--max-speed MAX_SPEED] [--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR]
[source [source ...]]
Positional Arguments¶
source | one ore more tracks or backends |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
private¶
set the status to private
gpxdo private [-h] [--loglevel {none,debug,info,warning,error}]
[--timeout TIMEOUT] [--first-date FIRST_DATE]
[--last-date LAST_DATE] [--date DATE] [--min-points MIN_POINTS]
[--max-points MAX_POINTS] [--min-distance MIN_DISTANCE]
[--max-distance MAX_DISTANCE] [--min-speed MIN_SPEED]
[--max-speed MAX_SPEED] [--only-keywords ONLY_KEYWORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB,Cycling - Indoor,Cycling - Hand,Cycling - Touring,Cycling - Foot,Running,Running - Trail,Running - Urban Trail,Sailing,Walking,Hiking,Hiking - Speed,Swimming,Driving,Off road driving,Motor racing,Motorcycling,Enduro,Skiing,Skiing - Touring,Skiing - Backcountry,Skiing - Nordic,Skiing - Alpine,Skiing - Roller,Canoeing,Kayaking,Sea kayaking,Stand up paddle boarding,Rowing,Windsurfing,Kiteboarding,Orienteering,Mountaineering,Skating,Skateboarding,Horse riding,Hang gliding,Gliding,Flying,Snowboarding,Paragliding,Hot air ballooning,Nordic walking,Snowshoeing,Jet skiing,Powerboating,Swimrun,Pedelec,Crossskating,Motorhome,Cabriolet,Coach,Pack animal trekking,Train,Wheelchair,Sightseeing,Geocaching,Longboard,River navigation,Skating - Inline,Miscellaneous}]
[--similar SIMILAR]
[source [source ...]]
Positional Arguments¶
source | one ore more tracks or backends |
Named Arguments¶
--loglevel | Possible choices: none, debug, info, warning, error set the loglevel Default: “none” |
--timeout |
|
--first-date | Limit tracks by date |
--last-date | Limit tracks by date |
--date | Limit tracks by specific date |
--min-points | Limit tracks by minimal number of points |
--max-points | Limit tracks by maximal number of points |
--min-distance | Limit tracks by minimal distance |
--max-distance | Limit tracks by maximal distance |
--min-speed | Limit tracks by minimal speed |
--max-speed | Limit tracks by maximal speed |
--only-keywords | |
Limit tracks by keywords | |
--only-category | |
Possible choices: Cycling, Cycling - Road, Cycling - Gravel, Cycling - MTB, Cycling - Indoor, Cycling - Hand, Cycling - Touring, Cycling - Foot, Running, Running - Trail, Running - Urban Trail, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Nordic, Skiing - Alpine, Skiing - Roller, Canoeing, Kayaking, Sea kayaking, Stand up paddle boarding, Rowing, Windsurfing, Kiteboarding, Orienteering, Mountaineering, Skating, Skateboarding, Horse riding, Hang gliding, Gliding, Flying, Snowboarding, Paragliding, Hot air ballooning, Nordic walking, Snowshoeing, Jet skiing, Powerboating, Swimrun, Pedelec, Crossskating, Motorhome, Cabriolet, Coach, Pack animal trekking, Train, Wheelchair, Sightseeing, Geocaching, Longboard, River navigation, Skating - Inline, Miscellaneous Limit tracks by category | |
--similar | Limit tracks by similarity to one of tracks SIMILAR. SIMILAR is a list of tracks separated with a comma and no space. This will only work for track identifiers without comma. |
source and destination arguments may be single tracks or entire backend instances. Local files and directories are given as usual. Mail targets are given as mailer:my_mail@address.test
For all other backends, the syntax is:
backend:username for all tracks in a backend
or
backend:username/track_id for one specific track in a backend
Available backends are:
- mmt MapMytracks
- gpsies gpsies.com
- openrunner openrunner.com
- mailer mails tracks
The file $HOME/.config/Gpxity/auth.cfg defines the type of the backend, username and password. Example:
[MMT:username] Password = whatever
Dates are expected as YYYY-MM-DD, YYYY-MM or YYYY.
gpxity_server¶
usage: gpxity_server [-h] --servername SERVERNAME [--certfile CERTFILE]
[--keyfile KEYFILE] [--port PORT]
[--loglevel {debug,info,warning,error}]
[--timeout TIMEOUT]
target [target ...]
Positional Arguments¶
target | backends who should receive the data. The first one must be a local directory |
Named Arguments¶
--servername | the name of this server |
--certfile | if certfile and keyfile are given: offer https |
--keyfile | if certfile and keyfile are given, offer https |
--port | listen on PORT. Default is 80 for http and 443 for https |
--loglevel | Possible choices: debug, info, warning, error set the loglevel, default is error Default: “error” |
--timeout |
|
The MMT server uses BASIC AUTH for login. Please define user:password in the file .users in the first target. Please define authorization for the other targets in the file auth.cfg in the first target.
Library¶
Subpackages¶
Track¶
This module defines Track
.
-
class
gpxity.track.
Track
(gpx=None)[source]¶ Bases:
object
Represents a track.
A Track is essentially a GPX file. A GPX file may contain multiple tracks but whenever this documentation says track or Track it does not refer to one of possibly multiple entities in the GPX file. It refers to this class Track.
If a backend supports attributes not directly supported by the GPX format like the MapMyTracks track type, they will transparently be encodeded in existing GPX fields like keywords, see
keywords
.The GPX part is done by https://github.com/tkrajina/gpxpy.
If a track is assigned to a backend, all changes will by default be written directly to the backend. Some backends are able to change only one attribute with little time overhead, others always have to rewrite the entire track.
However you can use the context manager
batch_changes()
. This holds back updating the backend until leaving the context.If you manipulate the gpx directly, this goes unnoticed to the updating mechanism. Use
rewrite()
when done.Not all backends support everything, you could get the exception NotImplementedError.
All points are always rounded to 6 decimal digits when they are added to the track. However some backends may support less than 6 decimals. You can query Backend.point_precision.
The data will only be loaded from the backend when it is needed. Some backends might support loading some attributes separately but we do not make use of that. However backends have two ways of loading data: Either load a list of Tracks or load all information about a specific track. Often loading the list of tracks gives us some attributes for free, so listing those tracks may be much faster if you do not want everything listed.
Parameters: gpx (GPX) – Initial content. To be used if you create a new Track from scratch without loading it from some backend. -
categories
¶ The legal values for
category
. The first one is used as default value. This is a superset of the values for the different backends. Every backend maps from its internal values into those when reading and maps them back when writing. Since not all backends support all values defined here and since some backends may define more values than we know, information may get lost when converting.Type: tuple(str)
-
add_points
(points) → None[source]¶ Add points to last segment in the last track.
If no track is allocated yet and points is not an empty list, allocates a track.
Parameters: points (list(GPXTrackPoint) – The points to be added
-
adjust_time
(delta)[source]¶ Add a timedelta to all times.
gpxpy.gpx.adjust_time does the same but it ignores waypoints. A newer gpxpy.py has a new bool arg for adjust_time which also adjusts waypoints on request but I do not want to check versions.
-
angle
(precision=None) → float[source]¶ For me, the earth is flat.
Parameters: precision – After comma digits. Default is as defined by backend or 6. Returns: the angle in degrees 0..360 between start and end. If we have no track, return 0
-
backend
¶ The backend this track lives in. If the track was constructed in memory, backend is None.
This is a read-only property. It is set with
Backend.add
.It is not possible to decouple a track from its backend, use
clone()
.Returns: The backend
-
batch_changes
()[source]¶ Context manager: disable the direct update in the backend and saves the entire track when done.
This may or may not make things faster. Directory and GPSIES profits from this, MMT maybe.
-
can_merge
(other, partial_tracks: bool = False)[source]¶ Check if self and other are mergeable.
Parameters: - other – The other Track
- partial_tracks – If True, they are mergeable if one of them contains the other one.
- Returns: (int, str)
- int is either None or the starting index of the shorter track in the longer track str is either None or a string explaing why this is not mergeable
-
categories
= ('Cycling', 'Cycling - Road', 'Cycling - Gravel', 'Cycling - MTB', 'Cycling - Indoor', 'Cycling - Hand', 'Cycling - Touring', 'Cycling - Foot', 'Running', 'Running - Trail', 'Running - Urban Trail', 'Sailing', 'Walking', 'Hiking', 'Hiking - Speed', 'Swimming', 'Driving', 'Off road driving', 'Motor racing', 'Motorcycling', 'Enduro', 'Skiing', 'Skiing - Touring', 'Skiing - Backcountry', 'Skiing - Nordic', 'Skiing - Alpine', 'Skiing - Roller', 'Canoeing', 'Kayaking', 'Sea kayaking', 'Stand up paddle boarding', 'Rowing', 'Windsurfing', 'Kiteboarding', 'Orienteering', 'Mountaineering', 'Skating', 'Skateboarding', 'Horse riding', 'Hang gliding', 'Gliding', 'Flying', 'Snowboarding', 'Paragliding', 'Hot air ballooning', 'Nordic walking', 'Snowshoeing', 'Jet skiing', 'Powerboating', 'Swimrun', 'Pedelec', 'Crossskating', 'Motorhome', 'Cabriolet', 'Coach', 'Pack animal trekking', 'Train', 'Wheelchair', 'Sightseeing', 'Geocaching', 'Longboard', 'River navigation', 'Skating - Inline', 'Miscellaneous')
-
category
¶ What is this track doing? If we have no current value, return the default.
The value is automatically translated between our internal value and the value used by the backend. This happens when reading from or writing to the backend. :returns: The current value or the default value (see
categories
)Type: str
-
change_keywords
(values, replace=False, dry_run=False)[source]¶ Change keywords.
Duplicate keywords are silently ignored. A keyword may not contain a comma. Keywords with a preceding ‘-‘ are removed, the others are added. Raise an Exception if a keyword is both added and removed.
Parameters: - values – Either a single str with one or more keywords, separated by commas or an iterable of keywords
- replace – if True, replace current keywords with the new ones. Ignores keywords preceded with a ‘-‘.
- dry_run – if True, only return the new keywords but do not make that change
Returns: The new keywords
-
clone
()[source]¶ Create a new track with the same content but without backend.
Returns: the new track Return type: Track
-
description
¶ The description.
Returns: The description Type: str
-
distance
() → float[source]¶ For me, the earth is flat.
Returns: needs unittest Return type: the distance in km, rounded to m. 0.0 if not computable. # TODO
-
fix
(orux: bool = False, jumps: bool = False)[source]¶ Fix bugs. This may fix them or produce more bugs.
Please backup your track before doing this.
Parameters: - orux – Older Oruxmaps switched the day back by one day after exactly 24 hours.
- jumps – Whenever the time jumps back or more than 30
- into the future, split the segment at that point. (minutes) –
Returns: A list of message strings, usable for verbose output.
-
gpx
¶ Direct access to the GPX object.
If you use it to change its content, remember to call
rewrite()
afterwards.Returns: the GPX object
-
id_in_backend
¶ Every backend has its own scheme for unique track ids.
Some backends may change the id if the track data changes.
Returns: the id in the backend
-
ids
¶ Return ids for all backends where this track has already been.
This is a list of pairs. pair[0] is the name of the backend, pair[1] is the track id within. You can modify it but your changes will never be saved. They are sorted by ascending age. Only the 5 youngest are kept. If the same filename appears in more than one directory, keep only the youngest.
- Returns: list( (str, str))
- a list of tuple pairs with str(backend) and id_in_backend
-
index
(other, digits=4)[source]¶ Check if this track contains other track.gpx.
This only works if all values for latitude and longitude are nearly identical.
Useful if one of the tracks had geofencing applied.
Parameters: digits – How many after point digits are used Returns: None or the starting index for other.points in self.points
-
key
(with_category: bool = True, with_last_time: bool = True, precision=None) → str[source]¶ For speed optimized equality checks, not granted to be exact, but sufficiently safe IMHO.
Parameters: - with_category – If False, do not use self.category. Needed for comparing tracks for equality like in unittests because values can change and information can get lost while copying between different backends
- with_last_time – If False, do not use self.last_time.
- precision – For latitude/longitude. After comma digits. Default is as defined by backend or 6.
Returns: a string with selected attributes in printable form.
-
keywords
¶ represent them as a sorted list - in GPX they are comma separated.
Content is whatever you want.
Because the GPX format does not have attributes for everything used by all backends, we encode some of the backend arguments in keywords.
Example for mapmytracks: keywords = ‘Status:public, Category:Cycling’.
However this is transparent for you. When parsing theGPX file, those are removed from keywords, and the are re-added in when exporting in
to_xml()
. SoTrack.keywords
will never show those special values.Some backends may change keywords.
MMT
converts the first character into upper case and will return it like that. Gpxity will not try to hide such problems. So if you save a track inMMT
, its keywords will change. But they will not change if you copy fromMMT
toDirectory
- so if you copy from DirectoryA toMMT
to DirectoryB, the keywords in DirectoryA and DirectoryB will not be identical, for example “berlin” in DirectoryA but “Berlin” in DirectoryB.Type: list(str)
-
last_time
¶ The last time we received.
Returns: The last time we received so far. If none, return None.
-
merge
(other, remove: bool = False, dry_run: bool = False, copy: bool = False, partial_tracks: bool = False) → list[source]¶ Merge other track into this one.
Either the track points must be identical or the other track may only contain waypoints.
If merging is not possible, raise Track.CannotMerge.
If either is public, the result is public. If self.title seems like a default and other.title does not, use other.title Combine description and keywords. Merge waypoints as defined by _merge_waypoints().
Parameters: - other (
Track
) – The track to be merged - remove – After merging succeeded, remove other
- dry_run – if True, do not really apply the merge
- copy – This argument is ignored. It is only here to give Track.merge() and Backend.merge() the same interface.
- partial_tracks – merges other track if either track is part of the other one
- Returns: list(str)
- Messages about what has been done.
- other (
-
static
overlapping_times
(tracks)[source]¶ Find tracks with overlapping times.
Yields: groups of tracks with overlapping times. Sorted by time. This may be very slow for many long tracks.
-
parse
(indata)[source]¶ Parse GPX.
title
,description
andcategory
from indata have precedence over the current values.public
will be or-edkeywords
will stay unchanged if indata has none, otherwise be replaced from indataParameters: indata – may be a file descriptor or str
-
points
()[source]¶ A generator over all points.
Yields: GPXTrackPoint – all points in all tracks and segments
-
points_equal
(other, digits=4) → bool[source]¶ Compare points for same position.
Parameters: digits – Number of after comma digits to compare Returns: True if both tracks have identical points. All points of all tracks and segments are combined. Elevations are ignored.
-
points_hash
() → float[source]¶ A hash that is hopefully different for every possible track.
It is built using the combination of all points.
Returns: The hash
-
public
¶ Is this a private track (can only be seen by the account holder) or is it public?.
Default value is FalseReturns: True if track is public, False if it is private Type: bool
-
remove
()[source]¶ Remove this track in the associated backend.
If the track is not coupled with a backend, raise an Exception.
-
segments
()[source]¶ A generator over all segments.
Yields: GPXTrackSegment – all segments in all tracks
-
similarity
(others)[source]¶ Return a float 0..1: 1 is identity.
The highest value for others is returned.
-
time
¶ start time of track.
For a simpler implementation of backends, notably MMT, we ignore gpx.time. Instead we return the time of the earliest track point. Only if there is no track point, return gpx.time. If that is unknown too, return None.
For the same reason time is readonly.
We assume that the first point comes first in time and the last point comes last in time. In other words, points should be ordered by their time.
Type: datetime.datetime
-
time_offset
(other)[source]¶ If time and last_time have the same offset between both tracks, return that time difference. Otherwise return None.
-
title
¶ The title.
Returns: the title Type: str
-
Authenticate¶
This module defines Authenticate
.
-
class
gpxity.auth.
Authenticate
(backend, url, username: str = None)[source]¶ Bases:
object
Get password and / or Url from auth.cfg.
If nothing is useable, sets them to None.
auth.cfg is expected in
~/.config/Gpxity/auth.cfg
Danger
auth.cfg is not encrypted. Better not use this unless you know what you are doing!
Parameters: - backend (Backend) – The backend
- username (str) – For the wanted account in the backend. You can also pass dict(). In that case, the config file is not read at all, only this dict() will be used.
-
path
¶ The name for the auth file. Class variable, to be changed before Authenticate() is instantiated.
Type: str
-
auth
¶ (username, password). Both are either str or None.
Type: tuple(str,str)
-
url
¶ If given, overrides the url given to the backend
For every specific account in a backend, auth.cfg has a section. Its name is case sensitive: The ClassName must match exactly.
- [ClassName.username]
- A section can define
- Username overrides username (the wanted account in the backend, see above)
- Password
- Url
- Mysql, used by WPTrackserver
An example for user gpxitytest on gpsies.com:
[GPSIES:gpxitytest] Password = the_unencrypted_password
A mail account:
[Mailer:gpxitytest] Url = tester@test.test
-
path
= '~/.config/Gpxity/auth.cfg'
Backend¶
This module defines Backend
.
-
class
gpxity.backend.
Backend
(url: str = None, auth=None, cleanup: bool = False, timeout=None)[source]¶ Bases:
object
A place where tracks live. Something like the filesystem or http://mapmytracks.com.
A Backend should hold only tracks for one person, and they should not overlap in time. This is not enforced but sometimes behaviour is undefined if you ignore this.
A Backend be used as a context manager. Upon termination, all tracks may be removed automatically by setting cleanup=True. Some concrete implementations may also remove the backend itself.
A Backend allows indexing by normal int index, by
Track
and byTrack.id_in_backend
.if 'ident' in backend
is possible. len(backend) shows the number of tracks. Please note that Code likeif backend:
may not behave as expected. This will be False if the backend has no track. If that is not what you want, considerif backend is not None
The backend will automatically synchronize. So something like
len(Backend())
will work. However, some other Backend pointing to the same storage or even a different process might change things. If you want to cope with that, usescan()
.Not all backends support all methods. The unsupported methods will raise NotImplementedError. As a convenience every backend has a list supported to be used like
if 'track' in backend.supported:
where track is the name of the method.Backends support no locking. If others modify a backend concurrently, you may get surprises. It is up to you to handle those.
Some backends may use cookies.
Parameters: - url (str) – Initial value for
url
- auth (str) – The username.
This will lookup the password and config from
Authenticate
. You can also pass a dict containing what would normally be obtained fromAuthenticate
. The dict must also contain ‘Username’. - cleanup (bool) – If true,
destroy()
will remove all tracks.
-
supported
¶ The names of supported methods. Creating the first instance of the backend initializes this. Only methods which may not be supported are mentioned here. If a particular value write_* like write_public does not exist, the entire track is written instead which normally results in a new ident for the track.
Type: set(str)
-
full_support
¶ All possible values for the supported attribute.
Type: set(str)
-
url
¶ the address. May be a real URL or a directory, depending on the backend implementation. Every implementation may define its own default for url. Must never end with ‘/’ except for Directory(url=’/’).
Type: str
-
timeout
¶ If None, there are no timeouts: Gpxity waits forever. For legal values see http://docs.python-requests.org/en/master/user/advanced/#timeouts
-
fences
¶ The fences as found in config. You can programmatically change them but they will never be applied to already existing data.
-
needs_config
¶ If True, the Backend class expects data in auth.cfg
-
config
¶ A Section with all entries in auth.cfg for this backend
-
config.
fences
¶ The backend will never write points within fences. You can define any number of fences separated by spaces. Every fence is a circle. It has the form Lat/Long/meter. Lat and Long are the center position in decimal degrees, meter is the radius.
-
test_is_expensive
¶ For internal use. If True, the self tests will reduce test cases and try to avoid too much usage of the backend.
-
max_field_sizes
¶ Some backends have a limited size for some attributes like keywords. This is only an approximative guess. The backend will not protect you from overriding it but the unittests will try to stay within those limits.
-
point_precision
¶ The precision supported by this backend. We are never more precise than 6. That is the digits after the decimal separator.
-
supported_categories
¶ The categories supported by this backend. The first one is used as default.
-
exception
BackendException
[source]¶ Bases:
Exception
Is raised for general backend exceptions, especially error messages from a remote server
-
exception
NoMatch
[source]¶ Bases:
Exception
Is raised if a track is expected to pass the match filter but does not
-
add
(track)[source]¶ Add a track to this backend.
We do not check if it already exists in this backend. No track already existing in this backend will be overwritten, the id_in_backend of track will be deduplicated if needed. This is currently only needed for Directory. Note that some backends reject a track if it is very similar to an existing track even if it belongs to some other user.
If the track object is already in the list of tracks, raise ValueError.
If the track does not pass the current match function, raise an exception.
Parameters: track (Track) – The track we want to save in this backend. Returns: The saved track. If the original track lives in a different backend, a new track living in this backend will be created and returned. Return type: Track
-
classmethod
all_backend_classes
(exclude=None, needs=None)[source]¶ Find all backend classes.
Parameters: - exclude – A list with classes to be excluded
- needs – set(str) with needed supported actions
Returns: A sorted list of all backend classes. Disabled backends are not returned.
-
classmethod
decode_category
(value: str) → str[source]¶ Translate the value from the backend into one out of Track.categories.
Returns: The decoded name
-
default_url
= None¶
-
destroy
()[source]¶ If cleanup was set at init time, removes all tracks.
Some backends (example:
Directory
)may also remove the account (or directory). See also
remove_all()
.
-
classmethod
encode_category
(value: str) → str[source]¶ Translate internal value (out of Track.categories) into the backend specific value.
Returns: The encoded name
-
classmethod
find_class
(name: str)[source]¶ Find the Backend class name “name”.
if “name” contains a “:”, only the part before will be used.
Parameters: name – May be anycase (upper,lower) Returns: the backend class or None
-
flush
()[source]¶ Some backends delay actual writing. This enforces writing.
Currently, only the Mailer backend can delay, it will bundle all mailed tracks into one mail instead of sending separate mails for every track. Needed for lifetracking.
-
full_support
= ('scan', 'remove', 'write', 'write_title', 'write_public', 'own_categories', 'write_category', 'write_description', 'keywords', 'write_add_keywords', 'write_remove_keywords')
-
get_time
() → datetime.datetime[source]¶ get time from the server where backend is located as a Linux timestamp.
A backend implementation does not have to support this.
Returns: datetime.datetime
-
classmethod
instantiate
(name, timeout=None)[source]¶ Instantiate a Backend or a Track out of its identifier.
Parameters: timeout – Needed for creating backends like MMT or GPSIES. See Backend.timeout
Returns: A Track or a Backend. If the Backend has already been instantiated, return the cached value.
-
classmethod
is_disabled
() → bool[source]¶ True if this backend is disabled by env variable GPXITY_DISABLE_BACKENDS.
This variable is a comma separated list of Backend class names.
Returns: True if disabled
-
match
¶ Filter tracks.
- A function with one argument returning None or str. The backend will call
this with every track and ignore tracks where match does not return None. The returned str should explain why the track does not match.
If you change a track such that it does not match anymore, the exception NoMatch will be raised and the match stays unchanged.
-
matches
(track, exc_prefix: str = None)[source]¶ match track against the current match function.
Parameters: exc_prefix – If not None, use it for the beginning of an exception message. If None, never raise an exception Returns: True for match
-
max_field_sizes
= {}
-
merge
(other, remove: bool = False, dry_run: bool = False, copy: bool = False, partial_tracks: bool = False) → list[source]¶ merge other backend or a single track into this one. Tracks within self are also merged.
If two tracks have identical points, or-ify their other attributes.
Parameters: - other – The backend or a single track to be merged
- remove – If True, remove merged tracks
- dry_run – If True, do not really merge or remove
- copy – Do not try to find a matching track, just copy other into this Backend
- partial_tracks – If True, two tracks are mergeable if one of them contains the other one.
Returns: list(str) A list of messages for verbose output
-
needs_config
= True
-
classmethod
parse_objectname
(name)[source]¶ Parse the full identifier for a track.
Parameters: name – the full identifier for a Track Returns: A tuple with class, account, track_id
-
point_precision
= 5
-
remove
(value) → None[source]¶ Remove track. This can also be done for tracks not passing the current match function.
Parameters: value – If it is not an Track
,remove()
looks it up by doingself[value]
-
remove_all
()[source]¶ Remove all tracks we know about.
If their
id_in_backend
has meanwhile been changed through another backend instance or another process, we cannot find it anymore. We do not rescan all tracks in the backend. If you want to make sure it will be empty, callscan()
first.If you use a match function, only matching tracks will be removed.
-
scan
(now: bool = False) → None[source]¶ Enforce a reload of the list of all tracks in the backend.
This will be delayed until the list is actually needed again.
If this finds an unsaved track not matching the current match function, an exception is thrown. Saved Tracks not matching the current match will no be loaded.
Parameters: now – If True, do not delay scanning.
-
supported
= {}
-
supported_categories
= ('Cycling', 'Cycling - Road', 'Cycling - Gravel', 'Cycling - MTB', 'Cycling - Indoor', 'Cycling - Hand', 'Cycling - Touring', 'Cycling - Foot', 'Running', 'Running - Trail', 'Running - Urban Trail', 'Sailing', 'Walking', 'Hiking', 'Hiking - Speed', 'Swimming', 'Driving', 'Off road driving', 'Motor racing', 'Motorcycling', 'Enduro', 'Skiing', 'Skiing - Touring', 'Skiing - Backcountry', 'Skiing - Nordic', 'Skiing - Alpine', 'Skiing - Roller', 'Canoeing', 'Kayaking', 'Sea kayaking', 'Stand up paddle boarding', 'Rowing', 'Windsurfing', 'Kiteboarding', 'Orienteering', 'Mountaineering', 'Skating', 'Skateboarding', 'Horse riding', 'Hang gliding', 'Gliding', 'Flying', 'Snowboarding', 'Paragliding', 'Hot air ballooning', 'Nordic walking', 'Snowshoeing', 'Jet skiing', 'Powerboating', 'Swimrun', 'Pedelec', 'Crossskating', 'Motorhome', 'Cabriolet', 'Coach', 'Pack animal trekking', 'Train', 'Wheelchair', 'Sightseeing', 'Geocaching', 'Longboard', 'River navigation', 'Skating - Inline', 'Miscellaneous')
-
test_is_expensive
= True
-
url
get self.config[‘url’].
Returns: The url
- url (str) – Initial value for
Locate¶
This module defines Locate
.
-
class
gpxity.locate.
Locate
(places, tracks, provider='osm')[source]¶ Bases:
object
Locates tracks using https://github.com/DenisCarriere/geocoder#overview .
Parameters: - places – A list of places that the tracks should pass
- tracks – The tracks to be searched
- provider – The data provider for geolocation
-
locations
¶ The list of found places. For each given value in arg places, locations holds one result, even if the provider returns more than one.
-
distances
¶ A list with a tuple for every track. The tuple holds the track and a list of distances between that track and places.
Lifetrack¶
This module defines Lifetrack
.
-
class
gpxity.lifetrack.
Lifetrack
(sender_ip, target_backends, ids=None)[source]¶ Bases:
object
Life tracking. The data will be forwarded to all given backends.
Parameters: - sender_ip – The IP of the client.
- target_backends (list) – Those tracks will receive the lifetracking data.
- ids (list(str)) – If given, use as id_in_backend. One for every backend. May be list(str) or str
-
done
¶ Will be True after end() has been called.
-
ids
¶ The ids of all backends joined by ‘—-‘.
Type: str
Diff¶
This module defines BackendDiff
.
-
class
gpxity.diff.
BackendDiff
(left, right)[source]¶ Bases:
object
Compares two backends.directory.
Parameters: -
left
¶ Attributes for the left side
Type: BackendDiffSide
-
right
¶ Attributes for the right side
Type: BackendDiffSide
-
similar
¶ Pairs of Tracks are on both sides with differences. This includes all tracks having at least 100 identical positions without being identical.
Type: list(Pair)
-
diff_flags
¶ T=time, D=description, C=category, S=status, K=keywords, P=positions, Z=time offset
-
class
BackendDiffSide
(tracks)[source]¶ Bases:
object
Represents a side (left or right) in BackendDiff.
-
tracks
¶ An Track, a list of tracks, a backend or a list of backends
-
exclusive
¶ Acivities existing only on this side
Type: list
-
-
class
Pair
(left, right)[source]¶ Bases:
object
Holds two comparable Items and the diff result .. attribute:: differences
Keys are Flags for differences, see BackendDiff.diff_flags. Values is a list(str) with additional info
type: dict()
-
diff_flags
= 'TDCSKPZ'
-