vis-why
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 vis-why
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