gyroscope2gpx
This little python joint will do you a favor of taking your "Travel" export from Gyroscope (https://gyrosco.pe) and turn it into a bunch of daily GPX files. Maybe you need this for some reason!
Usage!
- Clone this repository and install dependencies
- Must use Python3
pip install -r requirements.txt
- Go to https://gyrosco.pe/export/
- Export your "Travels" csv file
- Run the script (help below)
- example:
./gyroscope2gpx myexport.csv
- example:
usage: gyroscope2gpx.py [-h] [-o OUTPUTDIR] [--debug] inputfile
Reads a 'Travels' CSV export from Gyroscope and converts to daily GPX files.
positional arguments:
inputfile csv file from Gyroscope
optional arguments:
-h, --help show this help message and exit
-o OUTPUTDIR, --outputdir OUTPUTDIR
(optional) directory to output GPX files, defaults to ./gyroscope2gpx_output
--debug
Important stuff to be aware of
There are a few caveats with how this data exports from Gyroscope and is thusly processed:
- Gyroscope does not include time data for each point in a segment, only start and end times for the segment
- Because of #1, this little script assumes that the points are equidistantly spaced in time across that interval.
- This means that the track will indicate you traveled at constant velocity throughout that time interval (impressive, if not astronomically impossible)
- There is no elevation data, so we use a third party library to load it, which requires an internet connection and a few gigabytes of data to download, depending on where you've been in the world (only once!)
Because of these caveats, these tracks are probably not well used for say, uploading to Strava, or something. However, they might be reasonably useful for geotagging your 35mm photos (my use case!)
If you'd like to see something change in the data provided by Gyroscope, try [email protected] :)
Subsequent executions, updating data
If a GPX file already exists in the output directory, it will be skipped. If you need to overwrite a file for any reason, delete it yourself and run the script.
Elevation data
Elevation data is provided by the SRTM.py library, which has this to say:
On every elevation requested the library will:
- Check if the SRTM file is stored locally
- If not -- download it from NASA servers and store locally (in ./.srtmcache/)
- Parse elevations from it
This could mean quite a bit of data needs to be downloaded, so beware (my export needed about 2.29gb of elevation data!)
I could make this part optional, I guess? Create an issue!
Follow me on Gyrosco.pe:
https://gyrosco.pe/ngordon779/
License
This software is licensed under the GNU GPLv3. See file COPYING.