psimpl provides a source code only package and a 32-bit demo application for Windows:

The latest version can also be downloaded from The Code Project. Older versions are available through the project website at SourceForge.


Feel free to contact me for suggestion, remarks, bugs, requests. If you do decide to use psimpl, let me know! I would love to hear where my code ends up and why you chose to use it.


Changelog

v7

18-06-2011

Added the Lang simplification algorithm, and documented the input iterator type requirements for each algorithm.

Fixed several bugs:

  • divide by zero problem when using integers
  • incorrect output iterators returned under invalid input
  • douglas_peucker_n - an incorrect number of points could be returned
  • compute_positional_errors2 - required identical input iterator and output iterator types
  • compute_positional_error_statistics - invalid statistics could be returned under questionable input
v6

27-02-2011

Added Opheim simplification, and functions for computing positional errors due to simplification. Renamed the function simplify_douglas_peucker_alt to simplify_douglas_peucker_n.

v5

10-12-2010

Fixed an iterator out of bounds bug in the Perpendicular Distance routine.

v4

01-12-2010

Added the Nth Point, Perpendicular Distance, and Reumann-Witkam simplifications algorithms. Moved all functions related to distance calculations to a separate math namespace; Performed general refactoring.

v3

26-10-2010

Clarified input (type) requirements, and changed the behavior of all algorithms under invalid input. In these cases the entire input range is copied to the output range, meaning no simplification is performed.

v2

23-10-2010

Changed license from the "Code Project Open License" (CPOL) to the "Mozilla Public License 1.1" (MPL 1.1).

v1

28-09-2010

Initial release as part of the article "Polyline Simplification" on The Code Project. Provides implementations for Douglas-Peucker and Radial Distance simplification algorithms.