All Projects → remisalmon → gpx-interpolate

remisalmon / gpx-interpolate

Licence: MIT license
Python function to interpolate GPX data using piecewise cubic Hermite splines

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to gpx-interpolate

trackanimation
Track Animation is a Python 2 and 3 library that provides an easy and user-adjustable way of creating visualizations from GPS data.
Stars: ✭ 74 (+111.43%)
Mutual labels:  gpx, gps
GPXParser.js
GPX file parser javascript library
Stars: ✭ 58 (+65.71%)
Mutual labels:  gpx, gps
X-TRACK
A GPS bicycle speedometer that supports offline maps and track recording
Stars: ✭ 3,736 (+10574.29%)
Mutual labels:  gpx, gps
Strava-local-heatmap
Python script to generate a high resolution heatmap from Strava GPX files
Stars: ✭ 102 (+191.43%)
Mutual labels:  gpx, gps
gpx-builder
Builder of GPX files
Stars: ✭ 25 (-28.57%)
Mutual labels:  gpx, gps
xavc rtmd2srt
Extract real time meta-data and GPS tracks from Sony XAVC video
Stars: ✭ 29 (-17.14%)
Mutual labels:  gpx, gps
erlymon
Open Source GPS Tracking System
Stars: ✭ 32 (-8.57%)
Mutual labels:  gps
ESP32 IMU BARO GPS VARIO
GPS altimeter/variometer with LCD display, routes with waypoints, data/gps track logging, bluetooth NMEA sentence transmission, wifi AP + webpage configuration
Stars: ✭ 72 (+105.71%)
Mutual labels:  gps
jsigc
A browser-based viewer for gliding flight recorder logs.
Stars: ✭ 23 (-34.29%)
Mutual labels:  gps
json2kml
Python scripts to export Google Maps saved/starred places to KML, CSV, Sygic
Stars: ✭ 42 (+20%)
Mutual labels:  gps
SparkFun RTK Firmware
Centimeter precision GPS/GNSS using L1/L2 signals broadcast over Bluetooth SPP (using the ESP32) in an easy to use enclosure.
Stars: ✭ 38 (+8.57%)
Mutual labels:  gps
UpdatingHDmapByMonoCamera
Updating HD map with RTK-GPS and monocular camera
Stars: ✭ 120 (+242.86%)
Mutual labels:  gps
RTKLIB
A version of RTKLIB optimized for single and dual frequency low cost GPS receivers, especially u-blox receivers. It is based on RTKLIB 2.4.3 and is kept reasonably closely synced to that branch. Documentation for RTKLIB is available at rtklib.com. This software is provided “AS IS” without any warranties of any kind so please be careful, especial…
Stars: ✭ 420 (+1100%)
Mutual labels:  gps
django-for-runners
Store your GPX tracks of your running (or other sports activity) in django.
Stars: ✭ 49 (+40%)
Mutual labels:  gpx
automile-net
Automile offers a simple, smart, cutting-edge telematics solution for businesses to track and manage their business vehicles.
Stars: ✭ 24 (-31.43%)
Mutual labels:  gps
LocationShare
A simple Android application to share your location
Stars: ✭ 75 (+114.29%)
Mutual labels:  gps
PanicTrigger
An app for emergency situation
Stars: ✭ 19 (-45.71%)
Mutual labels:  gps
iOS-Geofence-Demo
Setup Geofences and get notifications when the device enters or leaves the geofence.
Stars: ✭ 71 (+102.86%)
Mutual labels:  gpx
stroke-dasharray-interpolation-talk
Slides from 2015 D3.js talk
Stars: ✭ 17 (-51.43%)
Mutual labels:  interpolation
SGpp
SG⁺⁺ – the numerical library for Sparse Grids in all their variants.
Stars: ✭ 59 (+68.57%)
Mutual labels:  interpolation

gpx_interpolate.py

Python script to interpolate GPX files using piecewise cubic Hermite splines.

Interpolates latitude, longitude, elevation and speed at any spatial resolution.

Usage

Script

usage: gpx_interpolate.py [-h] [-r RES] [-n NUM] [-s] FILE [FILE ...]

interpolate GPX files using piecewise cubic Hermite splines

positional arguments:
  FILE               GPX file

optional arguments:
  -h, --help         show this help message and exit
  -r RES, --res RES  interpolation resolution in meters (default: 1)
  -n NUM, --num NUM  force point count in output (default: disabled)
  -s, --speed        save interpolated speed

Module

from gpx_interpolate import gpx_interpolate

gpx_data = {'lat':lat,
            'lon':lon,
            'ele':ele,
            'tstamp':tstamp,
            'tzinfo':tzinfo}

gpx_data_interp = gpx_interpolate(gpx_data, res=1.0)

where:

  • lat, lon are the trackpoints latitude and longitude (in degree)
  • ele (optional) is the trackpoints elevation (in meter)
  • tstamp (optional) is the trackpoints timestamps (in second)
  • tzinfo (optional) is the trackpoints timezone as a datetime.tzinfo subclass instance (None for UTC)
  • res is the interpolation resolution in meters (1.0 by default, disabled if num is passed)
  • num (optional) is the number of trackpoints of the interpolated data (None by default)

ele, tstamp and tzinfo are optional and can be set to None.

Example

= input GPX data, 🔴 = interpolated GPX data
plot.png

Test

Run ./test.sh

Requirements

gpxpy==1.5.0
scipy==1.8.0
numpy==1.22.2
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].