v0.58.0 #704
peterstace
announced in
Announcements
v0.58.0
#704
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
2026-02-15
Add
PreparedGeometrytype andPreparefunction for efficient repeated spatial predicate evaluation. When a geometry is prepared, it caches spatial indices so that subsequent calls toIntersects,Contains,ContainsProperly,CoveredBy,Covers,Crosses,Disjoint,Overlaps,Touches, andWithinagainst different test geometries are fast. The implementation is based on a port of JTS.Add
Bufferfunction that computes the buffer of a geometry at a given distance. Options are available for controlling quad segments, end cap style (round, flat, square), join style (round, mitre, bevel), single-sided mode, and simplify factor. The implementation is based on a port of JTS. This means thatBufferis now available natively in Go without need for the GEOS dependency.Change
GeometryCollection.Dimension()to return -1 for empty geometry collections (previously returned 0). This change is consistent with GEOS.Fix overlay operations (Union, Intersection, Difference, SymmetricDifference) to return dimension-appropriate empty geometries. For example, the difference of two equal polygons now returns
POLYGON EMPTYrather thanGEOMETRYCOLLECTION EMPTY.Optimize Intersection to return early when input envelopes are disjoint.
Optimize overlay operations (Intersection, Difference) for GeometryCollections by using R-Tree indexing to reduce O(M×N) to O(M log N) complexity.
This discussion was created from the release v0.58.0.
Beta Was this translation helpful? Give feedback.
All reactions