# cyang-kth/fmm

Fast map matching, an open source framework in C++

Repository: https://github.com/cyang-kth/fmm
Canonical: https://ross.abutalabs.com/products/fmm
Homepage: https://fmm-wiki.github.io/
Language: C++
License: Apache-2.0
License Family: permissive
Topics: map-matching, road-network, map-match, fmm, parrallel-map-matching, match, gps, python, shapefile, openstreetmap, trajectory, stmatch, gis
Last push: 2024-07-09T03:32:58+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 3232, "days_push": 785, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1048, forks 227 (observed 2026-08-28T04:03:22.338172+00:00)

## What it is
FMM is an open-source map matching framework in C++ with Python bindings that aligns noisy GPS trajectories to road networks using hidden Markov models with precomputation. It supports FMM and STMatch algorithms, scales to millions of points, and reads OpenStreetMap, shapefile, and Geopackage data.

## Use cases
- match noisy GPS trajectories to a road network
- snap vehicle GPS points to OpenStreetMap roads
- reconstruct driving routes from GPS traces
- map match large trajectory datasets in parallel
- match GPS data to H3 hexagons
- process GPS CSV or shapefile trajectories in Python

## When to choose
- you need high-performance, scalable map matching for millions of GPS points
- you want both C++ and Python APIs with CLI and Jupyter support
- your road network comes from OpenStreetMap or shapefiles

## When to avoid
- you need map matching on non-road networks like indoor or transit maps
- you want a pure-Python solution without C++ compilation
- you need real-time streaming matching rather than batch processing

## Facets
- artifact type: library
- maturity: active
- function: geospatial, parser, cli, sdk
- domain: developer-tools
- platform: windows, cpp, python, cli
- tags: map-matching, gps-trajectories, hidden-markov-model, openstreetmap, shapefile, h3, trajectory-analysis, road-network, geospatial, maps, algorithms, linux, macos

## Member repositories
- cyang-kth/fmm (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:03:22.338172+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:00:42.271442+00:00, confidence not recorded.
  - readme: https://github.com/cyang-kth/fmm (fetched 2026-08-28T04:03:22.338172+00:00, sha 8a39192453b4)
  - homepage: https://fmm-wiki.github.io/ (fetched 2026-08-29T13:02:06.767303+00:00, sha a807fa967a22)
- Data as of 2026-08-30T08:39:29.467469+00:00.
