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
Install with npm:
$ npm install vis-why
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
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);
The MIT License (MIT)
Copyright (c) 2014