vis-why

M Visvalingam and J D Whyatt line simplification algorithm


Keywords
line, simplification, polyline
License
MIT
Install
npm install vis-why@1.2.1

Documentation

NPM version Build Status Dependency Status

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