Library¶
Subpackages¶
gpxfile¶
This module defines GpxFile
.
-
class
gpxity.gpxfile.
GpxFile
(gpx=None)[source]¶ Bases:
object
Represents a file with Gpx data.
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, seekeywords
.If a
Backend
(likeWPTrackserver
) does not support keywords, the will transparently be encoded in the description.The GPX part is done by https://github.com/tkrajina/gpxpy.
If a gpxfile 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 gpxfile.
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.
The data will only be loaded from the backend when it is needed. Backends have two ways of loading data: Either load a list of gpxfiles or load all information about a specific gpxfile. Often loading the list of gpxfiles gives us some attributes for free, so listing those gpxfiles may be much faster if you do not want everything listed.
Absolutely all attributes (like
title
,distance
) are encoded ingpx
. However you can always assign values to them even ifgpx
is None. As soon asgpx
is given, it will be updated.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.
- Parameters
gpx (Gpx) – Initial content. Can be used if you create a new GpxFile 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_locations
(segments=False)[source]¶ Call locate_point for the first point.
Args: segments: Also do that for the first point of each segment.
-
add_points
(points) → None[source]¶ Round and add points to last segment in the last gpxfile.
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
-
add_segment_waypoints
()[source]¶ Every segment start gets a waypoint.
The name looks like
Trk/Seg 2/4 Mainz-Wiesbaden
. Existing such waypoints are removed if the no longer belong to a segment start.For the involved points (first and last of each segment) see
locate_point()
.
-
angle
(first_point=None, last_point=None, precision=None) → float[source]¶ For me, the earth is flat.
- Parameters
first_point – if None, first point of GpxFile
last_point – if None, last point of GpxFile
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 two points, return 0
-
property
backend
¶ The backend this gpxfile lives in. If the gpxfile 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 gpxfile from its backend, use
clone()
.- Returns
The backend
-
batch_changes
()[source]¶ Context manager: disable the direct update in the backend and saves the entire gpxfile when done.
This may or may not make things faster.
Directory
andGPSIES
profits from this,MMT
maybe.
-
can_merge
(other, partial: bool = False)[source]¶ Check if self and other are mergeable.
- Parameters
other – The other GpxFile
partial – 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 gpxfile in the longer gpxfile 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', 'Running - Road', 'Sailing', 'Walking', 'Hiking', 'Hiking - Speed', 'Swimming', 'Driving', 'Off road driving', 'Motor racing', 'Motorcycling', 'Enduro', 'Skiing', 'Skiing - Touring', 'Skiing - Backcountry', 'Skiing - Crosscountry', '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', 'Wintersports', 'Miscellaneous')
-
property
category
¶ What is this gpxfile 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. Here we return always the internal value.
- 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 gpxfile with the same content but without backend.
- Returns
the new gpxfile
- Return type
-
property
description
¶ The description.
- Returns
The description
- Type
str
-
property
distance
¶ For me, the earth is flat.
This property can only be set while the full gpxfile has not yet been loaded. The setter is used by the backends when scanning for all gpxfiles.
- Returns
the distance in km, rounded to m. 0.0 if not computable.
-
fenced
(fences=None)[source]¶ Suppress points in fences.
While this context manager is running, suppressed points are not visible.
-
property
first_time
¶ start time of gpxfile in UTC.
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
-
fix_orux
()[source]¶ Older Oruxmaps switched the day back by one day after exactly 24 hours.
Try fixing that.
Please backup your gpxfile before doing this.
Returns: A list with messages. Currently nothing.
-
property
gpx
¶ Direct access to the Gpx object.
If you use it to change its content * remember to call
rewrite()
afterwards. * Since everything is stored in Gpx, all attributes likedescription
, ;attr:public … will change too.- Returns
the Gpx object
-
property
id_in_backend
¶ Every backend has its own scheme for unique ids.
Some backends may change this if the gpxfile data changes.
Some backends support assigning a new value. Those are currently
Directory
andWPTrackserver
. The others will raise NotImplementedError.See also
Backend.add()
.- Returns
the id in the backend
-
static
identifier
(backend, ident: str) → str[source]¶ The full identifier for a gpxfile.
Since we may want to do this without instantiating a gpxfile, this must be staticmethod or classmethod.
str(gpxfile) uses this. However if a gpxfile has no id_in_backend, str(gpxfile will create one using title, time, id(gpxfile).
-
property
ids
¶ Return ids for all backends where this gpxfile has already been.
You can modify it but your changes will only be saved if and when the entire gpxfile is saved.
They are sorted by ascending age. Only the 5 youngest are kept. If the same id_in_backend appears in more than one directory, keep only the youngest.
- Returns: list( (str))
a list of gpxfile ids
-
index
(other, digits=4)[source]¶ Check if this gpxfile contains other gpxfile.
This only works if all values for latitude and longitude are nearly identical.
Useful if one of the gpxfiles had geofencing applied.
- Parameters
digits – How many after point digits are used
- Returns
None or the starting index for other.points in self.points
-
join_tracks
(force=False)[source]¶ Join all tracks to a single track.
Metadata from all but the first track is thrown away. If metadata will be lost, it is printed and nothing is done unless force is True
Args: force if True, join even if metadata is lost
- Returns: list()
A list with text strings about lost metadata
-
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 gpxfiles 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.
-
property
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’.
Gpxity expects keywords to be separated by “,”. When writing them Gpxity uses “, ” (with a space after the comma) as separator.
However this is transparent for you. When parsing theGPX file, those are removed from keywords, and the are re-added in when exporting in
xml()
. SoGpxFile.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 gpxfile 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)
-
property
last_time
¶ The last time we received in UTC.
- Returns
The last time we received so far. If none, return None.
-
locate_point
(track=0, segment=0, point=0) → str[source]¶ Determine name of place for point.
Saves that in point.name for caching. If backend.account.country is given, add the country name only if it is different. If no such point exists, just do nothing and return “nowhere”
- Parameters
segment, point (track,) – Indices into the respective arrays
Returns: A string
-
merge
(other, remove: bool = False, dry_run: bool = False, copy: bool = False, partial: bool = False) → list[source]¶ Merge other gpxfile into this one.
Either the track points must be identical or the other gpxfile may only contain waypoints.
If merging is not possible, raise GpxFile.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 (
GpxFile
) – The gpxfile to be mergedremove – 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
GpxFile.merge()
andBackend.merge()
the same interface.partial – merges other gpxfile if either gpxfile is part of the other one
- Returns: list(str)
Messages about what has been done.
-
static
overlapping_times
(gpxfiles)[source]¶ Find gpxfiles with overlapping times.
- Yields
groups of gpxfiles with overlapping times. Sorted by time.
This may be very slow for many long gpxfiles.
-
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 gpxfiles have identical points.
All points of all gpxfiles 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
-
property
public
¶ Is this a private gpxfile (can only be seen by the account holder) or is it public?.
Default value is False
- Returns
True if gpxfile is public, False if it is private
- Type
bool
-
refence
(force=False)[source]¶ Re-apply fences. They might now be more restrictive.
Returns:A list of strings describing what happens/would happen
-
remove
()[source]¶ Remove this gpxfile in the associated backend.
If the gpxfile 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.
-
split_at_stops
(minutes)[source]¶ Split where things happen.
Whenever the time jumps back or more than X minutes into the future, split the segment at that point.
minutes: Shortest possible stop for splitting
- Returns
A list of message strings, usable for verbose output.
-
time_offset
(other)[source]¶ If time and last_time have the same offset between both gpxfiles, return that time difference. Otherwise return None.
-
property
title
¶ The title.
- Returns
the title
- Type
str
Accounts¶
Configuration file for accounts in Backends.
-
class
gpxity.accounts.
Fences
(config_str: str)[source]¶ Bases:
object
Defines circles.
- Parameters
config_str – The string from the accounts file
-
center
¶ The center
- Type
GPXTrackPoint
-
radius
¶ The radius in meters
- Type
meter
-
class
gpxity.accounts.
Account
(name=None, filename=None, **kwargs)[source]¶ Bases:
object
As parsed from the accounts file.
Attributes can be referenced as account.xxxx where xxx is an arbitrary value in the account definition from the accounts file.
- Parameters
name – The name of the account. Must exist in the accounts file.
filename – Name of the accounts file. Default is Account.path
kwargs – Additional parameters added to the account. They have precedence.
If both name and file are None, only
**kwargs
are used.-
path
¶ Default value for the accounts file
-
name
¶ The name of the account
-
config
¶ A dict with all config values
-
backend
¶ The name of the backend class
-
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.
-
path
= '~/.config/Gpxity/accounts'
-
class
gpxity.accounts.
DirectoryAccount
(url=None, **kwargs)[source]¶ Bases:
gpxity.accounts.Account
This will not use an acocunts file but the optional file
.config
.- Parameters
url – The name of the directory. If it does not exist, create it. “” will translate into “.”. A trailing “/” will raise an Exception. None will create a temporary directory.
kwargs – Additional parameters added to the account. They have precedence.
-
path
¶ Default value for the accounts file
-
name
¶ The name of the account
-
config
¶ A dict with all config values
-
backend
¶ The name of the backend class
-
is_temporary
¶ True for temporary directories.
-
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.
-
prefix
¶ Class attribute, may be changed. The default prefix for temporary directories. Default value is
gpxity.
- Type
str
-
path
= None
-
prefix
= 'gpxity.'
-
class
gpxity.accounts.
MemoryAccount
(name=None, **kwargs)[source]¶ Bases:
gpxity.accounts.Account
This will only use kwargs for configuration.
- Parameters
kwargs – Additional parameters added to the account. They have precedence.
-
name
¶ The name of the account
-
config
¶ A dict with all config values
-
backend
¶ The name of the backend class
-
is_temporary
¶ True for temporary directories.
-
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.
-
prefix
¶ Class attribute, may be changed. The default prefix for temporary directories. Default value is
gpxity.
- Type
str
-
counter
= 0¶
Backend¶
This module defines Backend
.
-
class
gpxity.backend.
Backend
(account)[source]¶ Bases:
gpxity.backend_base.BackendBase
A place where gpxfiles live. Something like the filesystem or http://mapmytracks.com.
A Backend should hold only gpxfiles 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.
A Backend allows indexing by normal int index, by
GpxFile
and byGpxFile.id_in_backend
.if 'ident' in backend
is possible. len(backend) shows the number of gpxfiles. Please note that Code likeif backend:
may not behave as expected. This will be False if the backend has no gpxfile. 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 'gpxfile' in backend.supported:
where gpxfile 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
account (
Account
) – The account to be used. Alternatively a dict can be passed to build an ad hocAccount
instance.
-
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 gpxfile is written instead which normally results in a new ident for the gpxfile.
- Some special values are:
rename: allows assigning values to id_in_backend
- 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
-
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.
-
accepts_zero_points
¶ True if the Backend accepts a GpxFile without Points
-
exception
NoMatch
[source]¶ Bases:
Exception
Is raised if a gpxfile is expected to pass the match filter but does not
-
accepts_zero_points
= False
-
add
(gpxfile)[source]¶ Add a gpxfile to this backend.
No gpxfile already existing in this backend will be overwritten. If
GpxFile.id_in_backend
is not given, the backend will create a unique value. If it is given, the backend will try to use it or create a new value at its discretion.Some Backends will not accept a gpxfile without Points. Only Directory is granted to handle a gpxfile wihout points.
Note that some backends may reject a gpxfile if it is very similar to an existing gpxfile even if it belongs to some other user.
If the gpxfile object is already in the list of gpxfiles, raise ValueError.
If the gpxfile does not pass the current match function, raise an exception.
-
classmethod
decode_category
(value: str) → str[source]¶ Translate the value from the backend into one out of GpxFile.categories.
- Returns
The decoded name
-
default_url
= None¶
-
classmethod
encode_category
(value: str) → str[source]¶ Translate internal value (out of GpxFile.categories) into the backend specific value.
- Returns
The encoded name
-
flush
()[source]¶ Some backends delay actual writing. This enforces writing.
Currently, only the Mailer backend can delay, it will bundle all mailed gpxfiles into one mail instead of sending separate mails for every gpxfile. Needed for lifetracking.
-
full_support
= ('scan', 'remove', 'write', 'write_title', 'write_public', 'own_categories', 'rename', '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: str)[source]¶ Instantiate a Backend or a GpxFile out of its identifier.
Calls instantiate_backend and optionally changes result to GpxFile.
- Parameters
name – The string identifier to be parsed
- Returns
A GpxFile or a Backend. If the Backend has already been instantiated, return the cached value. If the wanted object does not exist, exception FileNotFoundError is raised.
-
classmethod
instantiate_backend
(name: str)[source]¶ Instantiate a Backend.
The full notation of an id_in_backend in a specific backend is similiar to what scp expects:
Account:id_in_backend where Account is a reference to the accounts file.
Locally reachable files or directories may be written without the leading Directory:. And a leading ~ is translated into the user home directory. The trailing .gpx can be omitted. It will be removed anyway for id_in_backend.
If the file path of a local gpxfile (Directory) contains a “:”, the file path must be absolute or relative (start with “/” or with “.”), or the full notation with the leading Directory: is needed
- Parameters
name – The string identifier to be parsed
- Returns: tuple()
- The first element is the Backend. If the Backend has already been instantiated, return the cached value.
If the wanted object does not exist, exception FileNotFoundError is raised.
The second element is a track_id or None
-
property
is_scanned
¶ Check if the backend has already been scanned for gpxfiles.
- Returns: (bool)
The answer
-
property
match
¶ Filter gpxfiles.
- A function with one argument returning None or str. The backend will call
this with every gpxfile and ignore gpxfiles where match does not return None. The returned str should explain why the gpxfile does not match.
If you change a gpxfile such that it does not match anymore, the exception NoMatch will be raised and the match stays unchanged.
-
matches
(gpxfile, exc_prefix: str = None)[source]¶ match gpxfile 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: bool = False) → list[source]¶ merge other backend or a single gpxfile into this one. Tracks within self are also merged.
If two gpxfiles have identical points, or-ify their other attributes.
- Parameters
other – The backend or a single gpxfile to be merged
remove – If True, remove merged gpxfiles
dry_run – If True, do not really merge or remove
copy – Do not try to find a matching gpxfile, just copy other into this Backend
partial – If True, two gpxfiles are mergeable if one of them contains the other one.
- Returns
list(str) A list of messages for verbose output
-
point_precision
= 5
-
remove
(value) → None[source]¶ Remove gpxfile. This can also be done for gpxfiles not passing the current match function.
-
remove_all
()[source]¶ Remove all gpxfiles 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 gpxfiles in the backend. If you want to make sure it will be empty, callscan()
first.If you use a match function, only matching gpxfiles will be removed.
-
scan
(now: bool = False) → None[source]¶ Enforce a reload of the list of all gpxfiles in the backend.
This will be delayed until the list is actually needed again.
If this finds an unsaved gpxfile 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.
-
property
subscription
¶ Get the subscription model. Like free, paid, plus, whatever.
If the backend has no subscription model, return None.
The unpaid subscription is granted to always return
free
. The most expensive subscription is granted to always returnfull
. Intermediate values may vary.Because I (the developer) have no paid account, I can test this only partially. Feedback is welcome!
Returns: The name of the subscription or None
-
supported
= {}
-
supported_categories
= ('Cycling', 'Cycling - Road', 'Cycling - Gravel', 'Cycling - MTB', 'Cycling - Indoor', 'Cycling - Hand', 'Cycling - Touring', 'Cycling - Foot', 'Running', 'Running - Trail', 'Running - Urban Trail', 'Running - Road', 'Sailing', 'Walking', 'Hiking', 'Hiking - Speed', 'Swimming', 'Driving', 'Off road driving', 'Motor racing', 'Motorcycling', 'Enduro', 'Skiing', 'Skiing - Touring', 'Skiing - Backcountry', 'Skiing - Crosscountry', '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', 'Wintersports', 'Miscellaneous')
-
test_is_expensive
= True
-
property
timeout
¶ Timeout from account or class default.
Returns: The timeout
-
property
url
get self.account.url.
This also makes sure Backend.url is not writable.
Returns: The url
Locate¶
This module defines Locate
.
-
class
gpxity.locate.
Locate
(places, gpxfiles)[source]¶ Bases:
object
Locates gpxfiles using https://github.com/DenisCarriere/geocoder#overview .
- Parameters
places – A list of places that the gpxfiles should pass
gpxfiles – The gpxfiles to be searched
-
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 gpxfile. The tuple holds the gpxfile and a list of distances between that gpxfile and places.
Lifetrack¶
This module defines Lifetrack
.
-
class
gpxity.lifetrack.
Lifetrack
(sender_ip, target_backends, tracker_id: str = 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 gpxfiles will receive the lifetracking data.
_id (tracker) – The id for this Lifetrack instance.
-
done
¶ Will be True after end() has been called.
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
-
right
¶ Attributes for the right side
- Type
-
similar
¶ Pairs of Tracks are on both sides with differences. This includes all gpxfiles 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
(gpxfiles)[source]¶ Bases:
object
Represents a side (left or right) in BackendDiff.
-
gpxfiles
¶ An GpxFile, a list of gpxfiles, 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'
gpxdo¶
usage: gpxdo [-h]
{ls,cp,merge,mv,rm,title,keywords,description,category,public,private,split,join,diff,fix,help,clear,dump,show}
...
Positional Arguments¶
- subparser_name
Possible choices: ls, cp, merge, mv, rm, title, keywords, description, category, public, private, split, join, diff, fix, help, clear, dump, show
Sub-commands:¶
ls¶
list gpxfiles
gpxdo ls [-h] [--loglevel {error,warning,info,debug}] [--nocolors] [--sort COL]
[--total] [--segments] [-l] [-a] [-t] [-c] [--ids] [--time]
[--last-time] [--gap] [-m] [--location] [-p] [--status] [-k] [-d]
[--speed] [--moving-speed] [--duration] [--similarity] [--warnings]
[--locate LOCATE] [--max-away MAX_AWAY] [--validate-against ROUTE]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
[source [source ...]]
Positional Arguments¶
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --sort
Possible choices: identifier, title, category, time, last-time, distance, points, keywords, status, speed, moving-speed, duration, similarity
- sort by one ore more columns, separated by commas (no spaces allowed).
Valid values are the column titles.
Default: identifier
- --total
Show a total line
Default: False
- --segments
show tracks and segments
Default: False
- -l, --long
show most useful info
Default: False
- -a, --all
show all available info
Default: False
- -t, --title
show the title
Default: False
- -c, --category
show the category
Default: False
- --ids
show the ids
Default: False
- --time
show the time
Default: False
- --last-time
show the last time
Default: False
- --gap
show minutes after a segment before the next one starts
Default: False
- -m, --distance
show the distance
Default: False
- --location
show the starting location
Default: False
- -p, --points
show the number of points
Default: False
- --status
show the status public/private
Default: False
- -k, --keywords
show the keywords
Default: False
- -d, --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
- --locate
the name of a place. –locate can be repeated. Find gpxfiles touching all locations, order by best match
- --max-away
- to be used with –locate: show only gpxfiles which are not more than MAX_AWAY
kilometers farther away from given places. The distance to all places is added to one value and the compared with MAX_AWAY. Default is 100km.
Default: 100
- --validate-against
Check if the track has really been done against the predefined ROUTE
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
cp¶
copy gpxfiles. This can be much faster for remote backends because gpxfiles with the same points are not merged.
gpxdo cp [-h] [--loglevel {error,warning,info,debug}] [--nocolors] [--dry-run]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
[source [source ...]] destination
Positional Arguments¶
- source
one ore more gpxfiles or backends
- destination
the destination
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --dry-run
only show what would be done
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
merge¶
merge gpxfiles: If their trackpoints are identical, add metadata like name, description or keywords from source to destination
gpxdo merge [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
[--dry-run] [--remove] [--partial] [--copy] [--min-date DATE]
[--max-date DATE] [--date DATE] [--min-points #] [--max-points #]
[--min-distance km] [--max-distance km] [--min-speed km/h]
[--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
[source [source ...]] destination
Positional Arguments¶
- source
one ore more gpxfiles or backends
- destination
the destination
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --dry-run
only show what would be done
Default: False
- --remove
remove merged gpxfiles
Default: False
- --partial
merges two gpxfiles if one is part of the other
Default: False
- --copy
If the target is a backend, do not look for similar gpxfile. Just copy. This is much faster for remote backends.
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
mv¶
move sources to a destination backend
gpxdo mv [-h] [--loglevel {error,warning,info,debug}] [--nocolors] [--dry-run]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
[source [source ...]] destination
Positional Arguments¶
- source
one ore more gpxfiles or backends
- destination
the destination
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --dry-run
only show what would be done
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
rm¶
remove gpxfiles
gpxdo rm [-h] [--loglevel {error,warning,info,debug}] [--nocolors] [--dry-run]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
source [source ...]
Positional Arguments¶
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --dry-run
only show what would be done
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
title¶
set the title
gpxdo title [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
title [source [source ...]]
Positional Arguments¶
- title
the new title
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
keywords¶
add keywords. A keyword preceded with - will be removed. Examples:
keywords A,-B keywords – -A
gpxdo keywords [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
[--dry-run] [--min-date DATE] [--max-date DATE] [--date DATE]
[--min-points #] [--max-points #] [--min-distance km]
[--max-distance km] [--min-speed km/h] [--max-speed km/h]
[--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
keywords [source [source ...]]
Positional Arguments¶
- keywords
keywords separated by commas
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --dry-run
only show what would be done
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
description¶
set the description
gpxdo description [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
[--min-date DATE] [--max-date DATE] [--date DATE]
[--min-points #] [--max-points #] [--min-distance km]
[--max-distance km] [--min-speed km/h] [--max-speed km/h]
[--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
description [source [source ...]]
Positional Arguments¶
- description
the new description
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
category¶
set the category
gpxdo category [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
[--min-date DATE] [--max-date DATE] [--date DATE]
[--min-points #] [--max-points #] [--min-distance km]
[--max-distance km] [--min-speed km/h] [--max-speed km/h]
[--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
{Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo
show categories} [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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
the new category
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
public¶
mark as public
gpxdo public [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
[source [source ...]]
Positional Arguments¶
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
private¶
mark as private
gpxdo private [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
[source [source ...]]
Positional Arguments¶
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
split¶
split points at interesting places
gpxdo split [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
[--segments] [--points POINTS] [--waypoints] [--stops minutes]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
[source [source ...]]
Positional Arguments¶
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --segments
Create one gpxfile for each segment. This is the default.
Default: False
- --points
Split into segments every # points
- --waypoints
Split into tracks at waypoints
Default: False
- --stops
- BACKUP your gpxfiles first! This can destroy them!
Whenever the time jumps back or more than X minutes into the future or when the distance speed between two points exceed 5km, split into two segments at that point
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
join¶
join gpxfiles into one single gpxfile
gpxdo join [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
[--title TITLE] [--min-date DATE] [--max-date DATE] [--date DATE]
[--min-points #] [--max-points #] [--min-distance km]
[--max-distance km] [--min-speed km/h] [--max-speed km/h]
[--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
[source [source ...]] destination
Positional Arguments¶
- source
one ore more gpxfiles or backends
- destination
the destination
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --title
Title and id for the new gpxfile
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
diff¶
compare gpxfiles between source and destination
gpxdo diff [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
source [source ...] destination
Positional Arguments¶
- source
one ore more gpxfiles or backends
- destination
the destination
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
fix¶
- try to fix some GPX format bugs in gpxfiles.
First BACKUP the gpxfiles! This can destroy them!
gpxdo fix [-h] [--loglevel {error,warning,info,debug}] [--nocolors] [--orux]
[--title-from-id] [--id-from-title] [--id-from-time]
[--id-from-account ACCOUNT] [--simplify meters]
[--add-minutes minutes] [--clear-times] [--clear-locations]
[--set-first-time TIME] [--set-last-time TIME] [--add-times]
[--add-waypoints] [--unique] [--refence] [--revert] [--force]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
[source [source ...]]
Positional Arguments¶
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --orux
- BACKUP your gpxfiles first! This can destroy them!
Try to fix old oruxmaps bug where the date jumps back by one day
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-account
use last known id for a gpxfile in account
- --simplify
- Reduce points within segments. The new track may move meters away from the original.
If the parameter ends with a ‘p’, it is not taken as meters but points. All segments are reduced to the given maximal value for points. If you want to keep points around stops, apply split –stops first.
- --add-minutes
Add MIN minutes to all times
- --clear-times
Remove all point times
Default: False
- --clear-locations
Remove all point locations (point.name). ls –location and cloear –untangle add them
Default: False
- --set-first-time
Set time of first point, Does not change any other point
- --set-last-time
Set time of last point, Does not change any other point
- --add-times
Add a time to all points without
Default: False
- --add-waypoints
- Gives every segment start a waypoint
like “Trk/Seg 2/5 place-name”, removes such waypoints if they are no more segment starts
Default: False
- --unique
Adjacent points with identical position time: The 2nd point gets 1 second added
Default: False
- --refence
Re-apply fences, they might now be more restrictive. Use –force if you are sure.
Default: False
- --revert
Revert direction.
Default: False
- --force
Force execution
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
help¶
Show specific help for a command
gpxdo help [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
[{ls,cp,merge,mv,rm,title,keywords,description,category,public,private,split,join,diff,fix,help,clear,dump,show}]
Positional Arguments¶
- subcommand
Possible choices: ls, cp, merge, mv, rm, title, keywords, description, category, public, private, split, join, diff, fix, help, clear, dump, show
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
clear¶
Clear things. Please backup first!
gpxdo clear [-h] [--loglevel {error,warning,info,debug}] [--nocolors] [--times]
[--locations] [--segments] [--tracks] [--untangle] [--force]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
[source [source ...]]
Positional Arguments¶
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --times
Remove all point times
Default: False
- --locations
Remove all point locations (point.name). ls –location adds them
Default: False
- --segments
Join all segments to a single segment
Default: False
- --tracks
- Join all tracks to a single track. Metadata from all but the first track is thrown away.
If metadata will be lost, it is printed and nothing is done. Repeat with –force.
Default: False
- --untangle
Locate and untangle rest poins: Remove their erratic local movements
Default: False
- --force
Force execution
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
dump¶
Show specific GPX values
gpxdo dump [-h] [--loglevel {error,warning,info,debug}] [--nocolors] [--points]
[--min-date DATE] [--max-date DATE] [--date DATE] [--min-points #]
[--max-points #] [--min-distance km] [--max-distance km]
[--min-speed km/h] [--max-speed km/h] [--only-keywords WORDS]
[--only-category {Cycling,Cycling - Road,Cycling - Gravel,Cycling - MTB, see gpxdo show categories}]
[--only-similar GPX] [--min-similarity LEVEL]
[source [source ...]]
Positional Arguments¶
- source
one ore more gpxfiles or backends
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
- --points
List detailled info about points
Default: False
- --min-date
Limit gpxfiles by date
- --max-date
Limit gpxfiles by date
- --date
Limit gpxfiles by specific date
- --min-points
Limit gpxfiles by minimal # of points
- --max-points
Limit gpxfiles by maximal # of points
- --min-distance
Limit gpxfiles by minimal distance
- --max-distance
Limit gpxfiles by maximal distance
- --min-speed
Limit gpxfiles by minimal speed
- --max-speed
Limit gpxfiles by maximal speed
- --only-keywords
Limit gpxfiles 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, Running - Road, Sailing, Walking, Hiking, Hiking - Speed, Swimming, Driving, Off road driving, Motor racing, Motorcycling, Enduro, Skiing, Skiing - Touring, Skiing - Backcountry, Skiing - Crosscountry, 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, Wintersports, Miscellaneous
Limit gpxfiles by category
- --only-similar
Limit gpxfiles by similarity to one out of GPX. GPX is a list of gpxfiles separated with a comma and no space. This will only work for gpxfile identifiers without comma.
- --min-similarity
Limit gpxfiles by minimal LEVEL of similarity. 0 is minimum value, 1 is identity. Default is 0.5
Default: 0.5
show¶
show things
gpxdo show [-h] [--loglevel {error,warning,info,debug}] [--nocolors]
{categories}
Positional Arguments¶
- what
Possible choices: categories
show
Named Arguments¶
- --loglevel
Possible choices: error, warning, info, debug
set the loglevel
Default: “error”
- --nocolors
do not use colors
Default: False
source and destination arguments may be single gpxfiles or entire backend instances. Local files and directories are given as usual.
- For all other backends, the syntax is:
account: for all gpxfiles in a backend. Example: g:
account:track_id for one specific gpxfile in a backend. Example: g:1234
Available backends are Directory,MapMytracks, GPSIES, Openrunner, Mailer,WPTrackserver
The file $HOME/.config/Gpxity/accounts defines the account. Example:
Account g
Backend GPSIES
Username gpsies_username
Password xxxx
Dates are expected as YYYY-MM-DDThh:mm:ss or any abbreviation like in 2019-02-13T15 or 2019 Times are always local time. GPX and most backend store UTC, this is translated by gpxdo.
gpxity_server¶
usage: gpxity_server [-h] --servername SERVERNAME [--certfile CERTFILE]
[--keyfile KEYFILE] [--port PORT]
[--loglevel {debug,info,warning,error}]
target [target ...]
Positional Arguments¶
- target
backends who should receive the data. The first one must be 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”
The MMT server uses BASIC AUTH for login. Define user:password in the file .users in the first target. Define authorization for optional other targets in the file accounts the first target.