Skip to content

M Visvalingam and J D Whyatt line simplification algorithm

Notifications You must be signed in to change notification settings

pirxpilot/vis-why

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

M Visvalingam and J D Whyatt line simplification algorithm

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published