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.
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).
varpolyline=require('@mapbox/polyline');// returns an array of lat, lon pairspolyline.decode('_p~iF~ps|U_ulLnnqC_mqNvxq`@');// returns an array of lat, lon pairs from polyline6 by passing a precision parameterpolyline.decode('cxl_cBqwvnS|Dy@ogFyxmAf`IsnA|CjFzCsHluD_k@hi@ljL',6);// returns a GeoJSON LineString Geometrypolyline.toGeoJSON('_p~iF~ps|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 LineStringpolyline.fromGeoJSON({"type": "Feature","geometry": {"type": "LineString","coordinates": [[-120.2,38.5],[-120.95,40.7],[-126.453,43.252]]},"properties": {}});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