Since 2010, I’ve logged nearly all of my driving (both personal and rental cars) by downloading location data from GPS devices.
I’ve started adding annual driving maps to my recent Year in Travel posts.
Technical Details
I am currently on version 3.0 of my driving log.
Data Collection
My primary device for logging my driving is a Bad Elf GPS Pro+ GPS data logger. I’ve also historically used a number of Garmin automotive GPS devices from the DriveSmart and nüvi series. All of these data loggers can export data as GPX files.
Data Storage
My driving log is stored in a GeoPackage database file. All driving tracks are stored in a driving_tracks LineString layer, with the following attributes:
Name | Type | Value |
---|---|---|
fid | Integer64 | Feature ID |
utc_start | DateTime | UTC timestamp for the beginning of the track |
utc_stop | DateTime | UTC timestamp for the end of the track |
creator | String | Device or software used to create the track (e.g. Bad Elf GPS Pro+ or myTracks) |
role | String | driver or passenger |
vehicle_owner | String | personal (the log owner’s own vehicle), private (a privately owned vehicle, such as a friend’s car), or rental (a rental vehicle) |
comments | String | Optional comments |
source_track_timestamp | DateTime | UTC timestamp for the first point of the source GPX track before any processing. Used to identify a track to determine if it has already been imported. |
(I also created an empty GeoPackage file template with this structure, if needed.)
For archival purposes, I also keep folder of all of the original source GPX files that have been imported into my driving log.
Data Processing
I maintain a number of GPS data processing scripts in a GitHub repository at bogardpd/gps-log-tools. These scripts are primarily written in Python, and interaction with the GeoPackage driving log database file is done through the GeoPandas library.
My two primary scripts are import_gpx.py (which imports one or more GPX files from a GPS data logger into my GeoPackage database file) and export_kmz.py (which exports the current driving log from the GeoPackage database into a KMZ file that I can open with Google Earth).
I also wrote a number of utility scripts for processing the idiosyncrasies of various GPS loggers; these are described in the README.
Resources
See my Mapping Resources page.
Relevant Posts
31 Dec 2023 · I spent 87 nights traveling this year, picked up ten new airports, visited Iceland and Japan, and drove a go-kart through the streets of Naha.
31 Dec 2022 · This year I spent 97 nights traveling, visited my 100th airport, flew 74 times (including my 1000th flight), and had some issues with rental cars.
Automating myTracks Driving Log Filtering with iOS Shortcuts
18 Dec 2022 · How I use iOS automation to record when I start and stop driving.
31 Dec 2021 · My travel statistics for 2021.
31 Dec 2020 · My travel statistics for 2020. For obvious reasons, travel has been substantially lower than in recent years.
31 Dec 2019 · My travel statistics for 2019.