Strava bruker en velkjent algoritme som kalles dynamic time warping. Teknikken ble egentlig utviklet for håndskriftsgjenkjenning, men har vist seg å fungere godt for mye rart som involverer sammenligning av temporale sekvenser og mønstre i disse. Denne gir et mål på "likhet" mellom to temporale sekvenser. Utfordringen er dog å sette mål på hva som er "likt nok". Er 80% likhet bra nok? 90%? Hvor mye false positives kan man akseptere, og hvor få true positives kan man akseptere? Jo lengre et segment er, desto flere friheter kan man ta seg med snarveier o.l.
Edit: Poenget er altså at algoritmen sitter ikke og nistuderer den praktiske likheten mellom ditt run og et segment. Den regner ut en omtrentlig og helhetlig "likhet" fort og gæli, og hvis likheten er god nok, så matches turen din mot segmentet. Først da regner den ut tiden din basert på timestamps i gpx'en med nærmeste start og stopp som matcher start/stopp i segmentet.
Edit 2: