Various bug fixes for LineString.simplify and Polygon.simplify #151
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This branch fixes these issues introduced in the port of turf-simplify from #138:
LineString.simplify
withhighestQuality = false
was broken as it was usingstart.coordinate
in one formula when it should have usedcoordinate
Polygon.simplify
ignoredhighestQuality = false
as it first assigned theself.coordinates
to a local variable, then simplified theself.coordinates
, but then passed the previous local variable to the Douglas-Peucker algorithm. That means it always returned results as ifhighestQuality = true
was set.Polygon.simplify
forgot to square the tolerance to the Douglas-Peucker algorithm (LineString.simplify
did it correctly)Polygon.simplify
didn't simplify if any of the exterior/interior polygons was a triangle; now it just skips simplification of the triangle but simplifies the others.I've also refactored the code to remove the code duplication between
LineString.swift
andPolygon.swift
, and ported the turf-simplify test suite using the in/out directory -- excluding the test cases for MultiLineString and MultiPolygon as they aren't supported yet.TODO:
turf-simplify
to this repopolygon.geojson