Skip to main content

Visualising your Komoot/Strava tours

Project description

About gpx_vis

Transforms your .GPX files into an interactive map, whether you're conquering mountain trails or cruising city streets.

Whether you're using apps like Komoot and Strava, or crafting tracks on platforms like gpx.studio - just make sure your file includes data for latitude, longitude, elevation, and time, and you're good to go!

Important note: gpx_vis is still in its development phase, so expect more exciting features and enhancements down the trail. But in the meantime, buckle up and get ready to explore your adventures! :climbing::bicyclist:

Contents

Installation
How to use

Install

Installing gpx_vis is straightforward through PyPI:

pip install gpx_vis

To update to the latest version (if applicable):

pip install gpx_vis --upgrade

Instantiate

from gpx_vis import Track

track = Track(pathname)

pathname serves as a reference to either a single .gpx file or a directory. If a directory path is provided, all .gpx files contained within that directory will be merged, but retain their original metadata (e.g., different tracks remain separated).

This allows users to overlay multiple tracks onto a single map, providing a comprehensive summary of the data being analyzed.

Map creation

track.create_map(filename)
  • This generates an HTML file saved under filename, which contains an interactive map (example).

  • Each segment of a track corresponds to the elevation relative to user's position: blue = lower elevation, yellow = higher elevation.

  • Users can hover over routes or click on final waypoints (flags) for additional information:

Different backgrounds are available (selectable at lower-right corner):

Tile type Example
Dark
Street view
Plain
Plain (Heirarchical)

In cases where the map contains a large dataset and loading time is a concern (if one has been very hardworking), users have the option to include lite = True.

  • By default, this option limits the number of data points displayed on each route to nlite = 50. This is adjustable using nlite argument:
track.create_map(filename, lite=True, nlite=100)

Note that the minimum value for nlite is 10.

City overview

track.city_list

Interested in the cities you passed through on your journey? This command generates a list of cities - sorted by country and name - that were detected along the tour route.

  • The frequency parameter indicates how many times each city was encountered, providing a rough estimate of the time spent in each city.

Additional information

If you wish to plot or inspect different values, these parameters are also accessible via:

  • track.t: time (UTC)
  • track.x: longitude (deg) - x values on a graph would represent the latitude.
  • track.y: latitude (deg)
  • track.z: elevation (m)

For a more comprehensive and unprocessed dataset, you can use:

track.data: Returns all data in a pandas.DataFrame accessible format.

Dependencies

(numpy) https://numpy.org/
(pandas) https://pandas.pydata.org/
(altair) https://altair-viz.github.io/
(branca) https://pypi.org/project/branca/
(gpxpy) https://github.com/tkrajina/gpxpy
(vincenty) https://pypi.org/project/vincenty/
(folium) https://github.com/python-visualization/folium
(humanfriendly) https://pypi.org/project/humanfriendly/
(reverse-geocode) https://pypi.org/project/reverse-geocode/

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

gpx_vis-0.3.6.tar.gz (10.5 kB view hashes)

Uploaded Source

Built Distribution

gpx_vis-0.3.6-py3-none-any.whl (10.6 kB view hashes)

Uploaded Python 3

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