Need help with polyline?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

mapbox
507 Stars 88 Forks BSD 3-Clause "New" or "Revised" License 93 Commits 8 Opened issues

Description

polyline encoding and decoding in javascript

Services available

!
?

Need anything else?

Contributors list

No Data

Build Status Coverage Status

polyline

A simple google-esque polyline implementation in Javascript. Compatible with nodejs (

npm install @mapbox/polyline
and the browser (copy
src/polyline.js
)).

Encodes from / decodes into

[lat, lng]
coordinate pairs. Use
fromGeoJSON()
to encode from GeoJSON objects, or
toGeoJSON
to decode to a GeoJSON LineString.

Installation

npm install @mapbox/polyline

Note that the old package

polyline
has been deprecated in favor of
@mapbox/polyline
(the old package remain but won't receive updates).

Example

var polyline = require('@mapbox/polyline');

// returns an array of lat, lon pairs polyline.decode('_piFps|U_ulLnnqC_mqNvxq`@');

// returns an array of lat, lon pairs from polyline6 by passing a precision parameter polyline.decode('cxl_cBqwvnS|[email protected]`IsnA|[email protected]@ljL', 6);

// returns a GeoJSON LineString feature polyline.toGeoJSON('_piFps|U_ulLnnqC_mqNvxq`@');

// returns a string-encoded polyline (from coordinate ordered lat,lng) polyline.encode([[38.5, -120.2], [40.7, -120.95], [43.252, -126.453]]);

// returns a string-encoded polyline from a GeoJSON LineString polyline.fromGeoJSON({ "type": "Feature", "geometry": { "type": "LineString", "coordinates": [[-120.2, 38.5], [-120.95, 40.7], [-126.453, 43.252]] }, "properties": {} });

API Documentation

Command line

Install globally or run

./node_modules/.bin/polyline
.

Send input via stdin and use

--decode
,
--encode
,
--toGeoJSON
, or
--fromGeoJSON
flags. If omitted will default to
--decode
.

Example :

cat file.json | ./bin/polyline.bin.js --fromGeoJSON > result.txt

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.