Coder Social home page Coder Social logo

mapbox-match.js's Introduction

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 [email protected]: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

mapbox-match.js's People

Contributors

planemad avatar freenerd avatar tmcw avatar

Watchers

James Cloos avatar wangbiao avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.