@mapbox/mapbox-match.js

0.0.1 • Public • Published

Build Status

mapbox-match.js

Mapbox.js plugin to match GeoJSON geometries to the OpenStreetMap streets network using the Mapbox Map Matching API.

screenshot 2015-06-19 17 57 24

A GPS track (cyan) matched to the streets via a profile for cars (solid red line) and for pedestrians (dotted red line).

Installation

Include mapbox-match.js after Mapbox.js in your html. Download the js files from the dist directory.

example

L.mapbox.mapmatching(geojson, options, function (error, layer) {
    layer.addTo(map);
    layer.setStyle({
        color: '#9a0202',
        weight: 4,
        opacity: 0.8
    });
});

API

L.mapbox.mapmatching(geojson, options, callback)

Given a geojson object, returns a leaflet feature layer with the matched geometries. Since an asynchronous request is made for matching, you need to specify a callback function that runs when there is a successful response.

Options

name required? description
profile required Profile to match trace against. Options are driving, walking and cycling
mapMatchAPI optional Custom API endpoint to query. Overrides the profile option`
gpsPrecision optional Integer indicating the precision of the input geometries in metres (default: 5)
return optional Type of object to return after matching. Options are layer (default) returns a leaflet featureLayer, geojson returns a geojson feature collection

Development

This is a browserify project:

git clone git@github.com:mapbox/mapbox-match.js.git
cd mapbox-match.js
npm install
npm run build

mapbox-match.js and mapbox-match.min.js are built files generated from index.js by browserify. If you find an issue, it either needs to be fixed in index.js, or in one of the libraries mapbox-mapmatch uses to parse formats.

##Algorithm

  1. Read an input geojson FeatureCollection
  2. Tidy the geojson using geojson-tidy
  3. Match every feature using the Mapbox Map Matching API
  4. Return a leaflet featureLayer with the matched features or just a geojson object

Package Sidebar

Install

npm i @mapbox/mapbox-match.js

Weekly Downloads

0

Version

0.0.1

License

MIT

Last publish

Collaborators

  • mbx-npm-ci-production
  • mbx-npm-ci-staging
  • mbx-npm-advanced-actions-production
  • mbx-npm-advanced-actions-staging
  • mbx-npm-09-production
  • mbx-npm-08-production
  • mbx-npm-07-production
  • mbx-npm-06-production
  • mbx-npm-05-production
  • mbx-npm-04-production
  • mbx-npm-03-production
  • mbx-npm-02-production
  • mbx-npm-01-production
  • mbx-npm-02-staging
  • mapbox-npm-01
  • mapbox-npm-02
  • mapbox-npm-07
  • mapbox-npm-03
  • mapbox-npm-04
  • mapbox-npm-09
  • mapbox-npm-05
  • mapbox-npm-06
  • mapbox-npm-08
  • mapbox-npm-advanced-actions
  • mapbox-npm-ci
  • mapbox-npm
  • mapbox-admin
  • mapbox-machine-user