Track analyzer
The focus of this package lies on analyzing and visualizing tracks of cycling or similar activities. Depending on the usecase settings like stopped_speed_threshold or max_speed_percentile may not be appropriate.
Installing the package with cli extra, I.e. using pip install geo-track-analyzer[cli], add utility tools. See the documentation for details.
From files
Tracks my be initialized from .gpx and .fit files using the GPXFileTrack and FITTrack object, respectively.
Programmatically
You can instanciate tracks programmatically inside your code using the PyTrack class.
PyTrack(
points: list[tuple[float, float]] = ...,
elevations: None | list[float] = ...,
times: None | list[datetime] = ...,
heartrate: None | list[int] = None,
cadence: None | list[int] = None,
power: None | list[int] = None,
)
Extracting track data
The data of the track can be extracted into a pandas DataFrame object with the columns:
- latitude: Track point latitude value
- longitude: Track point longitude value
- elevation: Track point elevation value
- speed_ms: Speed in m/s calculated relative to previous point. Requires time to be present in track.
- distance_m: Distance in m relative to previous point
- heartrate: Heartrate in bpm (if present in input)
- cadence: Cadence in rmp(if present in input)
- power: Power in W (if present in input)
- time: Time in seconds relative to previous point. Time must be present in track.
- cum_time: Cummulated time of the track/segment in seconds. Requires time to be present in track.
- cum_time_moving: Cummulated moving time of the track/segment in seconds. Requires time to be present in track.
- cum_distance_m: Cummulated distance in track/segement in meters.
- cum_distance_moving_m: Cummulated moving distance in track/segement in meters.
- cum_distance_stopped_m: Cummulated stopped distance in track/segement in meters.
- moving: Bool flag specifing if the
stopped_speed_thresholdwas exceeded for the point.
Because some values are relative to previous points, the first point in the segment is not represented in this dataframe.
Furthermore an summary of the segments and tracks can be generated in the form of a SegmentOverview containing:
- Time in seconds (moving and totoal)
- Distance in meters and km (moving and totoal)
- Maximum and average velocity in m/s and km/h
- Maximum and minimum elevation in meters
- Uphill and downhill elevation in meters
Visualizing the track
Visualizations of a track can be generated via the plot method and the kind parameter. See documentation for further details and examples how to use the visualizations.
Extras
The following extras are provided by the lib and may be installed additionally:
- cli: Adds cli tools for converting fit files to gpx files (
extract-fit-track) and updating the elevation in a gpx file with via api (enhance-elevation) - full: Install package will all extras
Metadata
Release files for geo-track-analyzer 3.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| geo_track_analyzer-3.1.1.tar.gz | 51.9 kB | Without provenance | Details for geo_track_analyzer-3.1.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| geo_track_analyzer-3.1.1-py3-none-any.whl | Python 3 | none | any | Details for geo_track_analyzer-3.1.1-py3-none-any.whl |
Total release size: 114.5 kB
Release files / geo_track_analyzer-3.1.1.tar.gz
| Download URL | geo_track_analyzer-3.1.1.tar.gz |
|---|---|
| Size | 51.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
09a5c53c5e769702e118e1e41e2465df49ff9f07b6c77045f25177f52b305fe0
|
|
BLAKE2b-256 checksum How to use checksums |
b4b0de30934c44fc158cd671f58f2e02cca52a7412c38143505da5ad92e8d5b8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / geo_track_analyzer-3.1.1-py3-none-any.whl
| Download URL | geo_track_analyzer-3.1.1-py3-none-any.whl |
|---|---|
| Size | 62.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
3b613f942e4bfb3e744f26fe2cf44e1fab353f261907bd5ef4f950cec5525f87
|
|
BLAKE2b-256 checksum How to use checksums |
3fa6725bda2d9199f7c39f26051601ba6bf4068cda198ad84de50fe0941a8050
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.23 {"installer":{"name":"uv","version":"0.12.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for geo-track-analyzer 3.1.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.