Visualising your Komoot/Strava tours
Project description
About gpx_vis
gpx_vis
enables simple and convenient visualisation of your cycling and hiking tours, whether you're conquering mountain trails or cruising city streets.
You can easily transform your .GPX files into interactive and informative visualizations - just make sure your file includes data for latitude
, longitude
, elevation
, and time
,
and you're good to go! Whether you're using apps like Komoot and Strava,
or crafting tracks on platforms like gpx.studio, gpx_vis
has you covered.
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
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
. However, users can adjust this
limit using the nlite
argument, for instance,
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 a pandas.DataFrame
with headers ['trackName', 'latitude', 'longitude', 'elevation', 'time']
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.