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
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 returnedcompute_positional_errors2
- required identical input iterator and output iterator typescompute_positional_error_statistics
- invalid statistics could be returned under questionable input
Added Opheim simplification, and functions
for computing positional errors due to simplification. Renamed the
function simplify_douglas_peucker_alt
to
simplify_douglas_peucker_n
.
Fixed an iterator out of bounds bug in the Perpendicular Distance routine.
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.
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.
Changed license from the "Code Project Open License" (CPOL) to the "Mozilla Public License 1.1" (MPL 1.1).
Initial release as part of the article "Polyline Simplification" on The Code Project. Provides implementations for Douglas-Peucker and Radial Distance simplification algorithms.