tracematch
High-performance GPS route matching library for fitness applications.
Features
- AMD Route Matching - Average Minimum Distance for robust polyline similarity
- Bidirectional Detection - Detects forward and reverse route matches
- R-tree Spatial Indexing - O(log n) pre-filtering for batch operations
- Section Detection - Multi-scale detection of frequently-traveled sections
- Parallel Processing - Rayon-based parallel grouping
- Mobile FFI - UniFFI bindings for iOS and Android
Installation
[]
= "0.1"
Quick Start
use ;
let route = vec!;
let config = default;
let sig1 = from_points;
let sig2 = from_points;
if let =
References
Section detection:
- TRACLUS (Lee, Han, Whang, SIGMOD 2007) - MDL-based trajectory partitioning (paper)
- TS-MF (Xu et al., 2022) - Trajectory segmentation and mergence (paper)
- Graph-based trajectory clustering (Hwang et al., 2013) - Network-constrained clustering (paper)
- GPS segment averaging (MDPI 2019) - Consensus polyline computation (paper)
Foundational algorithms:
- R*-tree (Beckmann et al., SIGMOD 1990) - Spatial indexing (paper)
- Union-Find (Tarjan, 1975) - Disjoint set clustering (paper)
- Douglas-Peucker (Douglas & Peucker, 1973) - Line simplification (paper)
- Medoid/k-medoids (Kaufman & Rousseeuw, 1987) - Representative selection
- Haversine formula - Great-circle distance (Wikipedia)
License
Apache-2.0