Leuven.MapMatching
==================

Align a trace of GPS measurements to a map or road segments.

The matching is based on a Hidden Markov Model (HMM) with non-emitting
states. The model can deal with missing data and you can plug in custom
transition and emission probability distributions.

.. figure:: http://people.cs.kuleuven.be/wannes.meert/leuvenmapmatching/example1.png?v=1
   :alt: example

   example

Reference:

    Meert Wannes, Mathias Verbeke, "HMM with Non-Emitting States for Map
    Matching", European Conference on Data Analysis (ECDA), Paderborn,
    Germany, 2018.

Installation and usage
----------------------

::

    $ pip install leuvenmapmatching

More information and examples:

`leuvenmapmatching.readthedocs.io <https://leuvenmapmatching.readthedocs.io>`__

Dependencies
------------

Required:

-  `numpy <http://www.numpy.org>`__
-  `scipy <https://www.scipy.org>`__

Optional (only loaded when methods are called to rely on these
packages):

-  `matplotlib <http://matplotlib.org>`__: For visualisation
-  `smopy <https://github.com/rossant/smopy>`__: For visualisation
-  `nvector <https://github.com/pbrod/Nvector>`__: For
   latitude-longitude computations
-  `gpxpy <https://github.com/tkrajina/gpxpy>`__: To import GPX files
-  `pykalman <https://pykalman.github.io>`__: So smooth paths using a
   Kalman filter
-  `pyproj <https://jswhit.github.io/pyproj/>`__: To project
   latitude-longitude coordinates to an XY-plane
-  `rtree <http://toblerity.org/rtree/>`__: To quickly search locations

Contact
-------

| Wannes Meert, DTAI, KU Leuven
| wannes.meert@cs.kuleuven.be
| https://dtai.cs.kuleuven.be

| Mathias Verbeke, Sirris
| mathias.verbeke@sirris.be
| http://www.sirris.be/expertise/data-innovation

Developed with the support of
`Elucidata.be <http://www.elucidata.be>`__.

License
-------

| Copyright 2015-2018, KU Leuven - DTAI Research Group, Sirris
| Apache License, Version 2.0.
