viswhy
M Visvalingam and J D Whyatt line simplification algorithm Implementation based on Mike Bostock's code but without a d3 dependency.
Live demo is here
Installation
Install with npm:
$ npm install viswhy
API
simplify(polyline, limit)
Simplify polyline by repeated elimination of the smallest area.

polyline
 array of points representing a polyline, each point represented by coordinate array[x, y]

limit
 number of points/vortexes that will remain in the resulting polyline
simplify(polyline, limit, areaFn)
You can specify a custom areaFn
if your points are not represented by [x, y]
pair. For example if you have
an array of {x, y}
objects you can use something like this:
function area(a, b, c) {
return Math.abs(
(a.x  c.x) * (b.y  a.y)  (a.x  b.x) * (c.y  a.y)
);
}
simplify(poly, 4, area);
License
The MIT License (MIT)
Copyright (c) 2014