diff --git a/planetiler-core/src/main/java/com/onthegomap/planetiler/geo/DualMidpointSmoother.java b/planetiler-core/src/main/java/com/onthegomap/planetiler/geo/DualMidpointSmoother.java index db61da5250..2ca58d1ec0 100644 --- a/planetiler-core/src/main/java/com/onthegomap/planetiler/geo/DualMidpointSmoother.java +++ b/planetiler-core/src/main/java/com/onthegomap/planetiler/geo/DualMidpointSmoother.java @@ -9,6 +9,14 @@ * Smooths an input geometry by interpolating 2 points at certain ratios along each edge and repeating for a set number * of iterations. This can be thought of as slicing off of each vertex until the segments are so short it appears round. *

+ * Instead of iterating a fixed number of iterations, you can set {@link #setMinVertexArea(double)} or + * {@link #setMinVertexTolerance(double)} to stop smoothing corners when the triangle formed by 3 consecutive vertices + * gets to small. + *

+ * In order to avoid introducing too much error from the original shape when rounding corners between very long edges, + * you can set {@link #setMaxArea(double)} or {@link #setMaxOffset(double)} to move the new points closer to a vertex to + * limit the amount of error that is introduced. + *

* When the points are {@code [0.25, 0.75]} this is equivalent to * Chaikin Smoothing. */