GithubHelp home page GithubHelp logo

gpxconv's Introduction

GPXConv

GPX track converter: post-process routes and tracks typically produced by GPS loggers.

  • Reads from file(s) given as argument (or STDIN) and writes to STDOUT or a file.
  • Can append segments from multiple tracks and files (sequential composition).
  • Can complete gaps in input file(s) by merging data from an alternative GPX file (parallel composition).
  • Concatenates all given tracks (or routes) preserving segments, collecting waypoints.
  • The metadata (header) of the first input track is used for the output track.
  • Reports missing data and ignores points containing non-plausible data.
  • Optionally filters out points before or after given time limits.
  • Optionally filters out points with an element value below or above given limits.
  • Optionally prunes all extensions or elements with value below or above given limits.
  • Optionally fills in elevation and time data by interpolation within segments.
  • Optionally interpolates points in long gaps (by default, > 3600 seconds).
  • Optionally corrects elevation and sanitizes and smoothens tracks. (Orthometric height = GPS ellipsoidal height - geoid height, see http://www.unavco.org/edu_outreach/tutorial/geoidcorr.html)
  • Produces statistics, optionally including ascent/descent rates of climbing phases.
  • Optionally computes approx. total energy spent by biking along the resulting track.
  • Prints information (if enabled), any warnings (if enabled), and errors to STDERR.

Usage:

  gpxconv <option(s) and infile(s)> [> <outfile>]

Command-line options:

  -walk, -cycle, -drive, -fly  - type of recorded activity, default: drive
  -smooth                      - smoothen tracks
  -phases                      - analyze ascent/descent phases
  -weight <value>              - compute biking energy for given weight in kg
  -begin <time>                - ignore points before given time
  -end <time>                  - ignore points after given time
  -max <name> <limit>          - ignore points with element value above limit
  -min <name> <limit>          - ignore points with element value below limit
  -max_ext <name> <limit>      - prune extension elements with value above limit
  -min_ext <name> <limit>      - prune extension elements with value below limit
  -prune_wpts                  - remove waypoints
  -prune_exts                  - remove track, waypoint, and trackpoint extensions
  -nw                          - do not print warnings
  -ni                          - do not print information
  -o <outfile>                 - output the resulting track to <outfile>

Other options can be set by changing values of the configuration variables.

gpxconv's People

Contributors

ddvo avatar oalders avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

gpxconv's Issues

Adding -swim option

Hi @DDvO,

I hope all is well! Open water swimming season has resumed and I have my first set of bad GPS points from my Apple Watch, so I wanted to follow up on a previous comment of yours:

If you provide me feedback/corrections to the following suggested limit data for swimming:

$MIN_TIMEDIFF          = 1;
$MAX_SENSIBLE_SPEED    = 10;
$MAX_SENSIBLE_ACCEL    = 1;
$MAX_SENSIBLE_ELE_GAIN = 1;
$MAX_SENSIBLE_ELE_LOSS = 1;

I can add the -swim option any time.

$MIN_TIMEDIFF = 1;

I think this makes sense. Most swimmers will be tracking GPS on a watch, so you'd only get a reading when the arm with the watch exits the water. Having said that, you can also just put a GPS device in a swim buoy and it would be able to get readings much more often. Some people tuck a watch under their cap.

$MAX_SENSIBLE_SPEED    = 10;

I just checked some results from a local race that took place today with some very good swimmers. The fastest time for a 1km race came in at 13:26. Based on that, I think $MAX_SENSIBLE_SPEED = 6; should be a sensible default.

$MAX_SENSIBLE_ACCEL    = 1;

I think this is good

$MAX_SENSIBLE_ELE_GAIN = 1;
$MAX_SENSIBLE_ELE_LOSS = 1;

I think those are both reasonable as well. I guess in theory you could be swimming up or downstream, but I think those are not the vast majority of cases.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.