Releases: peterstace/simplefeatures
v0.28.1
2021-05-14
- Modifies the
Simplify
function to use an iterative rather than recursive approach. This prevents crashes for complex geometries.
v0.28.0
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
2021-04-11
-
Changes the
Boundary
method to use GEOS style behaviour rather than PostGIS style behaviour for empty geometries. This means thatBoundary
now always returns a consistent geometry type. -
Adds back the RTree
Insert
andDelete
methods. These were previously removed in v0.25.1. -
Adds
Scan
methods to each concrete geometry type, so that that they implement thedatabase/sql.Scanner
interface.
v0.26.0
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
, andCrosses
.
v0.25.1
2021-01-31
-
Fixes a noding bug in DCEL operations (
Intersection
,Union
,Difference
, andSymmetricDifference
) 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
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 toRTree
, which finds the nearest entry to a given box. -
Performance improvements to the
Distance
andIntersection
functions, based on conditionally swapping the order of the inputs. -
Adds a
Count
method toRTree
, 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
2020-12-07
-
More optimisations for DCEL operations (
Intersection
,Union
,Difference
, andSymmetricDifference
). 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 fromEqualsExact
toExactEquals
. This is inconsistent with the corresponding function in GEOS, but reads more fluently.
v0.23.0
2020-12-02
-
Improvements for DCEL operations (
Intersection
,Union
,Difference
, andSymmetricDifference
). 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
2020-10-30
- Add
Intersection
,Union
,Difference
, andSymmetricDifference
operations.
v0.21.0
2020-10-30
- Add a
Distance
function that calculates the shortest Euclidean distance between two geometries.