Skip to main content

A map matching library

Project description

Gitter GitHub stars GitHub contributors GNU GPL v3 Build Status

My implementation of the map matching algorithm from this article (Althought with some modifications). The goal is to get the streets from a gps track.

This is how it looks like:

Output of the example run

The gray line is the gps trace and the colored lines describe the map-matched most-likely route in the streets for the vehicle.

For reference read the resulting article.

Setup

You’ll need python 3.5+ and a redis server running. The usage of a virtual environment is recommended.

Install from pypi:

$ pip install mapmatching

Or install from source:

$ cd mapmatching
$ python setup.py install

Usage

Download data from OpenStreetMaps:

$ mapmatching download -h
$ mapmatching download -96.99107360839844 19.441181182861328 -96.846435546875 19.59616470336914 -o streets.json

And load it to redis, by default it loads it to database 1 instead of redis default of 0.

$ mapmatching load streets.json

The two previous commands can be chained:

$ mapmatching download -96.99107360839844 19.441181182861328 -96.846435546875 19.59616470336914 | mapmatching load

Then run the match task with a geojson file with a single gps track. A sample track that works with the sample bounding box is contained in the data/ directory of the repository.

$ mapmatching match -h
$ mapmatching match data/route.geojson -o output.json

Optionally visualize it in the browser:

$ pip install geojsonio
$ geojsonio output.json

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for mapmatching, version 0.1.5
Filename, size File type Python version Upload date Hashes
Filename, size mapmatching-0.1.5-py3-none-any.whl (27.1 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size mapmatching-0.1.5.tar.gz (12.1 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page