# fmm **Repository Path**: poplar1993/fmm ## Basic Information - **Project Name**: fmm - **Description**: Fast map matching, an open source framework in C++ - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-12-01 - **Last Updated**: 2022-12-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
| Linux / macOS | Windows | Wiki | Docs | | ------------- | ------- | ------------- | ----------- | | [![Build Status](https://travis-ci.org/cyang-kth/fmm.svg?branch=master)](https://travis-ci.org/github/cyang-kth/fmm) | [![Build status](https://ci.appveyor.com/api/projects/status/8qee5c8iay75j1am?svg=true)](https://ci.appveyor.com/project/cyang-kth/fmm) | [![Wiki](https://img.shields.io/badge/wiki-website-blue.svg)](https://fmm-wiki.github.io/) | [![Documentation](https://img.shields.io/badge/docs-doxygen-blue.svg)](https://cyang-kth.github.io/fmm/) | FMM is an open source map matching framework in C++ and Python. It solves the problem of matching noisy GPS data to a road network. The design considers maximizing performance, scalability and functionality. ### Features - **High performance**: C++ implementation using Rtree, optimized routing, parallel computing (OpenMP). - **Python API**: [jupyter-notebook](example/notebook) and [web demo](example/web_demo) - **Scalibility**: millions of GPS points and millions of road edges. - **Multiple data format**: - Road network in OpenStreetMap :tada: or ESRI shapefile and Geopackage. - GPS data in Point CSV, Trajectory CSV and Trajectory Shapefile ([more details](https://fmm-wiki.github.io/docs/documentation/input/#gps-data)). - **Detailed matching information**: traversed path, geometry, individual matched edges, GPS error, etc. More information at [here](https://fmm-wiki.github.io/docs/documentation/output/). - **Multiple algorithms**: [FMM](http://www.tandfonline.com/doi/full/10.1080/13658816.2017.1400548) (for small and middle scale network) and [STMatch](https://dl.acm.org/doi/abs/10.1145/1653771.1653820) (for large scale road network) - **Platform support**: Unix (ubuntu) , Mac and Windows(cygwin environment). We encourage contribution with feature request, bug report or developping new map matching algorithms using the framework. ### Examples - Map matching on [OSM network](example/osm_example) (left) and ESRI shapefile (right) - [Interactive web demo](example/web_demo) - [Command line examples](example/command_line_example) - [Jupyter-notebook](example/notebook) ### Installation, tutorial and API. Check [https://fmm-wiki.github.io/](https://fmm-wiki.github.io/). ### Code docs for developer Check [https://cyang-kth.github.io/fmm/](https://cyang-kth.github.io/fmm/) ### Contact and citation Can Yang, Ph.D. student at KTH, Royal Institute of Technology in Sweden Email: cyang(at)kth.se Homepage: https://people.kth.se/~cyang/ FMM originates from an implementation of this paper [Fast map matching, an algorithm integrating hidden Markov model with precomputation](http://www.tandfonline.com/doi/full/10.1080/13658816.2017.1400548). A post-print version of the paper can be downloaded at [link](https://people.kth.se/~cyang/bib/fmm.pdf). Substaintial new features have been added compared with the original paper. Please cite fmm in your publications if it helps your research: Can Yang & Gyozo Gidofalvi (2018) Fast map matching, an algorithm integrating hidden Markov model with precomputation, International Journal of Geographical Information Science, 32:3, 547-570, DOI: 10.1080/13658816.2017.1400548 Bibtex file @article{doi:10.1080/13658816.2017.1400548, author = {Can Yang and Gyozo Gidofalvi}, title = {Fast map matching, an algorithm integrating hidden Markov model with precomputation}, journal = {International Journal of Geographical Information Science}, volume = {32}, number = {3}, pages = {547-570}, year = {2018}, publisher = {Taylor & Francis}, doi = {10.1080/13658816.2017.1400548}, URL = { https://doi.org/10.1080/13658816.2017.1400548 }, eprint = { https://doi.org/10.1080/13658816.2017.1400548 } }