Convert your Gyrosco.pe travels to GPX files

Overview

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!

  1. Clone this repository and install dependencies
    1. Must use Python3
    2. pip install -r requirements.txt
  2. Go to https://gyrosco.pe/export/
  3. Export your "Travels" csv file
  4. Run the script (help below)
    1. example: ./gyroscope2gpx myexport.csv
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:

  1. Gyroscope does not include time data for each point in a segment, only start and end times for the segment
  2. Because of #1, this little script assumes that the points are equidistantly spaced in time across that interval.
  3. This means that the track will indicate you traveled at constant velocity throughout that time interval (impressive, if not astronomically impossible)
  4. 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:

  1. Check if the SRTM file is stored locally
  2. If not -- download it from NASA servers and store locally (in ./.srtmcache/)
  3. 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.

Owner
nick g
mostly python these days, but I have a lot of knives in storage
nick g
A place where one-off ideas/partial projects can live comfortably

A place to post ideas, partial projects, or anything else that doesn't necessarily warrant its own repo, from my mind to the web.

Carson Scott 2 Feb 25, 2022
A Bot that adds YouTube views to your video of choice

YoutubeViews Free Youtube viewer bot A Bot that adds YouTube views to your video of choice Installation git clone https://github.com/davdtheemonk/Yout

ProbablyX 5 Dec 06, 2022
Python Script to add OpenGapps, Magisk, libhoudini translation library and libndk translation library to waydroid !

Waydroid Extras Script Script to add gapps and other stuff to waydroid ! Installation/Usage "lzip" is required for this script to work, install it usi

Casu Al Snek 331 Jan 02, 2023
Simple Python-based web application to allow UGM students to fill their QR presence list without having another device in hand.

Praesentia Praesentia is a simple Python-based web application to allow UGM students to fill their QR presence list without having another device in h

loncat 20 Sep 29, 2022
Comprehensive OpenAPI schema generator for Django based on pydantic

🗡️ Djagger Automated OpenAPI documentation generator for Django. Djagger helps you generate a complete and comprehensive API documentation of your Dj

13 Nov 26, 2022
Template for pre-commit hooks

Pre-commit hook template This repo is a template for a pre-commit hook. Try it out by running: pre-commit try-repo https://github.com/stefsmeets/pre-c

Stef Smeets 1 Dec 09, 2021
Auto Join Zoom Meeting

Auto-Join-Zoom-Meeting Join a zoom meeting with out filling in meeting id's or passcodes, one button for it all! Setup See attached excel document. MA

JareBear 1 Jan 25, 2022
A very terrible python-based programming language that uses folders instead of text files

PYFolders by Lewis L. Foster PYFolders is a very terrible python-based programming language that uses folders instead of regular text files. In this r

Lewis L. Foster 5 Jan 08, 2022
A python package for batch import of resume attachments to be parsed in HrFlow.

HrFlow Importer Description A python package for batch import of resume attachments to be parsed in HrFlow. hrflow-importer is an open-source project

HrFlow.ai (ex: Riminder.net) 3 Nov 15, 2022
Xkcd.py - Script to generate wallpapers based on XKCD comics

xkcd.py Script to generate wallpapers based on XKCD comics Usage python3 xkcd.py

Gideon Wolfe 11 Sep 06, 2022
A brainfuck-based game oriented language written in python.

GF.py STILL WIP Gamefuck.py is a programming language based off brainfuck. It is oriented towards game development, and as such has many commands spec

Xenon 1 Feb 23, 2022
run-js Goal: The Easiest Way to Run JavaScript in Python

run-js Goal: The Easiest Way to Run JavaScript in Python features Stateless Async JS Functions No Intermediary Files Functional Programming CommonJS a

Daniel J. Dufour 9 Aug 16, 2022
Convert Roman numerals to modern numerals and vice-versa

Roman Numeral Conversion Utilities This is a utility module for converting from and to Roman numerals. It supports numbers upto 3,999,999, using the v

Fictive Kin 1 Dec 17, 2021
Research on how Gboard Stickers work.

Google-Sticker-Mashup-Research Research on how Gboard Stickers work. Contribute Contributing is nice, and you will be listed below for contributing. C

Jeremiah 45 Oct 28, 2022
Uproot - A script to bring deeply nested files or directories to the surface

UPROOT Bring deeply nested files or folders to the surface Uproot helps convert

Ted 2 Jan 15, 2022
A python library for writing parser-based interactive fiction.

About IntFicPy A python library for writing parser-based interactive fiction. Currently in early development. IntFicPy Docs Parser-based interactive f

Rita Lester 31 Nov 23, 2022
Port of the OpenCascade library to JavaScript / WebAssembly using Emscripten

OpenCascade.js A port of the OpenCascade CAD library to JavaScript and WebAssembly via Emscripten. Explore the docs » Examples · Issues · Discuss Proj

Sebastian Alff 347 Jan 08, 2023
🤖️ Plugin for Sentry which allows sending notification via DingTalk robot.

Sentry DingTalk Sentry 集成钉钉机器人通知 Requirments sentry = 21.5.1 特性 发送异常通知到钉钉 支持钉钉机器人webhook设置关键字 配置环境变量 DINGTALK_WEBHOOK: Optional(string) DINGTALK_CUST

1 Nov 04, 2021
Sodium is a general purpose programming language which is instruction-oriented (a new programming concept that we are developing and devising) [Still developing...]

Sodium Programming Language Sodium is a general purpose programming language which is instruction-oriented (a new programming concept that we are deve

Instruction Oriented Programming 22 Jan 11, 2022
Winxp_python3.6.15 - Python 3.6.15 For Windows XP SP3

This is Python version 3.6.15 Copyright (c) 2001-2021 Python Software Foundation. All rights reserved. See the end of this file for further copyright

Alex Free 13 Sep 11, 2022