Encodes and decodes Google’s polyline format
$ npm install --save google-polyline
var polyline = require( 'google-polyline' )
polyline.encode([
[ 38.5, -120.2 ],
[ 40.7, -120.95 ],
[ 43.252, -126.453 ]
])
> '_p~iF~ps|U_ulLnnqC_mqNvxq`@'
polyline.decode( '_p~iF~ps|U_ulLnnqC_mqNvxq`@' )
> [
[ 38.5, -120.2 ],
[ 40.7, -120.95 ],
[ 43.252, -126.453 ]
]
$ npm run benchmark
# decode: 3 points ⨉ 1000
ok ~9.03 ms (0 s + 9026482 ns)
# decode: ~350 points ⨉ 1000
ok ~34 ms (0 s + 33985497 ns)
# encode: 3 points ⨉ 1000
ok ~16 ms (0 s + 15696046 ns)
# encode: ~350 points ⨉ 1000
ok ~80 ms (0 s + 80340403 ns)