code42day-vis-why

v1.2.0
M Visvalingam and J D Whyatt line simplification algorithm
line simplification

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 component(1):

$ component install code42day/vis-why

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 <code42day>

npm i code42day-vis-why

Metadata

  • MIT
  • Whatever
  • Damian Krzeminski
  • released 2/8/2017

Downloads

Maintainers