Skip to main content

gpxfix: GUI to fix .gpx tracks with missing sections

Project description

PyPI version License: MIT Downloads Downloads Code style: black

gpxfix

A small python-based GUI that helps you reestablishing broken GPX-files. alt text

When can this be useful?

It's a common issue for every sportsman who loves recording activities. Your device runs out of battery before you come back home, you forgot to start the record when you left home or, even worse but a frequent problem in older iPhones, you lost GPS signal somewhere on the track for a couple of minutes. Then, checking out your track, you see straight lines or the first/last bit is completelty missing.

Installation

gpxfix ships via pypi:

pip install gpxfix

Afterwards, just type gpxfix to start the UI

Usage instruction

  1. If you run the file, the default windofw of the GUI shows up: alt text

  2. You see a couple of options here, the first step should be to upload your GPX file

  3. You get a confirmation message once the file has been parsed successfully

  4. Press Show Tracking Mistakes to let the algorithm find the missing sections in your file. Per default a tracking mistake is defined as not having recorded a GPX trackpoint for at least 5 sec with you having moved at least 400m. I find this okay for cycling but you can change these parameters at the beginning of the code.

    1. A window pops up saying "Great! No error has been found." This means, your file itself is consistent, but you may want to insert something at the beginning or at the end. To do so, please click on the respective link which directs you to Google Maps. Then you simply have to tell Google where you started/ended your trip.

    2. Otherwise, you get an overview of the found errors, i.e. the program displays you the coordinates of the last trackpoint before and the first trackpoint after the missing spot. Now, assuming you want to fill in this gap in your GPX file, please select the number of the error from the dropdown and click GO! to instruct GoogleMaps to find the shortest path between the 2 trackpoints. Default vehicle is bicycle. Now you can set easily adjust this snippet such that it fits the route you actually took. alt text **NOTE: In this window you determine where your snippet will be inserted. ** If you want to insert a snippet at the start click "I miss the start of my ride". If you dont select anything here, the program will not know where to insert your snippet and fail later.

  5. Now, we want to merge the snippet we just created with the broken track we recorded. For this, we use a nice tool called mapstogpx. Past the link from the Google Maps snippet you just created and download the file (make sure you to tick Advanced Settings -> Include Elevation before downloading). Please also make sure to remember the distance of the snippet (according to Googe Maps).

  6. Tell the program where you saved the snippet via Upload GPX fragment.

  7. You have to fill in the distance of the fragment that you want to merge (for some reason, gpxpy.geo.haversine_distance behaves a bit erratically and consequently speed estimation is imprecise). Then press OK and then Repair!

  8. Hopefully, everything went through and the repaired file was saved in the directory "Corrected Files" alt text

  9. If you have multiple issues with your GPX file, just repeat the procedure.

Feel free to fork and please report any issues.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gpxfix-0.0.5.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

gpxfix-0.0.5-py3-none-any.whl (10.6 kB view details)

Uploaded Python 3

File details

Details for the file gpxfix-0.0.5.tar.gz.

File metadata

  • Download URL: gpxfix-0.0.5.tar.gz
  • Upload date:
  • Size: 12.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for gpxfix-0.0.5.tar.gz
Algorithm Hash digest
SHA256 807236d0ff097777dcfbfe11e206dfe29c1e269af87ad23352a4627331e8319f
MD5 a557eb00e484e067ac8769da89dda3b1
BLAKE2b-256 613fdca7857e953ef059a3e0fe0aed5b134c917bc30cf9a28e937c554a7f5b88

See more details on using hashes here.

File details

Details for the file gpxfix-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: gpxfix-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 10.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.3

File hashes

Hashes for gpxfix-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 84575ce8a8315aa202ea68d6df177f3b25c61be6d040852747f204f6c36ba03a
MD5 6e39a1aa474cb2a0d1e74ae2cb62feb4
BLAKE2b-256 f1dbb0086af1f62ebec6f5e444c9bf4826e3c4aeeaecfc05d257d3feb5b8b8a0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page