#smoothing #n-dimensional #kernel #points #moving-average #gaussian #simplification

simples

N-dimensional linestring smoothing and simplification

1 unstable release

0.1.1 Oct 31, 2022

#15 in #n-dimensional

Custom license

22KB
497 lines

simples

A rust library for smoothing and simplification of N-dimensional linestrings (as &[nalgebra::Point]s) to 64-bit precision.

Intended for cases where the endpoints of the linestrings cannot be moved (for example, if they touch other objects at those locations).

Currently supports:

  • Simplification
    • Resampling at arbitrary distances
    • Ramer-Douglass-Peucker
    • Visvalingam-Whyatt
  • Smoothing
    • Moving average
    • Gaussian
    • A Kernel trait for implementing your own kernels to drop in

To do

  • Mapping old points on to resampled points
  • Use a trait instead of nalgebra points
  • tests

lib.rs:

Simplify and smooth linestrings in N dimensions.

Dependencies

~3MB
~57K SLoC