Skip to content

Releases: peterstace/simplefeatures

v0.28.1

29 Sep 00:58
Compare
Choose a tag to compare

2021-05-14

  • Modifies the Simplify function to use an iterative rather than recursive approach. This prevents crashes for complex geometries.

v0.28.0

29 Sep 00:58
Compare
Choose a tag to compare

2021-05-14

  • Reimplements the ConvexHull operation using a more robust and numerically stable algorithm. The new algorithm is the Monotone Chain algorithm (also known as Andrew's Algorithm).

  • Adds a new Simplify function that simplifies geometries using the Ramer Douglas Peucker algorithm.

v0.27.0

29 Sep 00:58
Compare
Choose a tag to compare

2021-04-11

  • Changes the Boundary method to use GEOS style behaviour rather than PostGIS style behaviour for empty geometries. This means that Boundary now always returns a consistent geometry type.

  • Adds back the RTree Insert and Delete methods. These were previously removed in v0.25.1.

  • Adds Scan methods to each concrete geometry type, so that that they implement the database/sql.Scanner interface.

v0.26.0

29 Sep 00:58
Compare
Choose a tag to compare

2021-02-19

  • Adds a Relate top level function, which calculates the DE-9IM matrix describing the relationship between two geometries.

  • Adds named spatial predicate top level functions, implemented in terms of DE-9IM matches. These are Equals, Intersects, Disjoint, Contains, CoveredBy, Covers, Overlaps, Touches, Within, and Crosses.

v0.25.1

29 Sep 00:58
Compare
Choose a tag to compare

2021-01-31

  • Fixes a noding bug in DCEL operations (Intersection, Union, Difference, and SymmetricDifference) that occasionally caused a panic.

  • Changes the strategy for joining together geometries in DCEL operations using "ghost lines". Geometries were previously joining using a naive radial line approach, but are now joining using a euclidean minimum spanning tree. This greatly reduces the number of additional crossing control points introduced by DCEL operations.

v0.25.0

29 Sep 00:57
Compare
Choose a tag to compare

2020-12-31

  • Internal refactor for WKT unmarshalling to simplify error handling.

  • Performance improvements for Polygon validation (quicker 'ring in ring' check).

  • Performance improvements for the LineString IsSimple method.

  • Performance improvements for MultiPoint/MultiPoint intersection check.

  • Adds a Nearest method to RTree, which finds the nearest entry to a given box.

  • Performance improvements to the Distance and Intersection functions, based on conditionally swapping the order of the inputs.

  • Adds a Count method to RTree, which gives the number of entries in the tree.

  • Performance improvements to the MultiLineString IsSimple method.

  • Performance improvements to set operations (Union, Intersection, Difference, SymmetricDifference).

v0.24.0

29 Sep 00:57
Compare
Choose a tag to compare

2020-12-07

  • More optimisations for DCEL operations (Intersection, Union, Difference, and SymmetricDifference). The improvements result in a 25% speed improvement.

  • Breaking change: Intersects is now a top level function rather than a method. This is to make it consistent with other operations that act on two geometries.

  • Breaking change: ExactEquals is now a top level function rather than a method. This is to make it consistent with other operations that act on two geometries. It was also renamed from EqualsExact to ExactEquals. This is inconsistent with the corresponding function in GEOS, but reads more fluently.

v0.23.0

29 Sep 00:57
Compare
Choose a tag to compare

2020-12-02

  • Improvements for DCEL operations (Intersection, Union, Difference, and SymmetricDifference). Some improvements simplify data structures and algorithms, and other improvements increase performance (~2x speedup).

  • Fixes a compiler warning in the geos package.

  • Internal refactor of WKB error handling to mirror the error handling strategy used for WKT.

v0.22.0

29 Sep 00:57
Compare
Choose a tag to compare

2020-10-30

  • Add Intersection, Union, Difference, and SymmetricDifference operations.

v0.21.0

29 Sep 00:57
Compare
Choose a tag to compare

2020-10-30

  • Add a Distance function that calculates the shortest Euclidean distance between two geometries.