simplefeatures v0.35.0 Release Notes

  • 2021-11-23

    ๐Ÿš€ Special thanks to Albert Teoh and Sameera Perera for contributing to this release.

    • ๐Ÿ›  Fixes spelling of "Marshaller" when referring to the interface defined in the encoding/json package.

    • โž• Adds UnmarshalJSON methods to each concrete geometry type (GeometryCollection, Point, MultiPoint, LineString, MultiLineString, Polygon, MultiPolygon). This causes these types to implement the encoding/json.Unmarshaler interface. GeoJSON can now be unmarshalled directly into a concrete geometry type.

    • ๐Ÿ‘‰ Uses the %w verb for wrapping errors internally. Note that simplefeatures does not yet currently expose any sentinel errors or error types.

    • ๐Ÿ’ฅ Breaking change: Changes the Simplify package level function to become a method on the Geometry type. Users upgrading can just change function invocations that look like simp, err := geom.Simplify(g, tolerance) to method invocations that look like simp, err := g.Simplify(tolerance).

    • โž• Adds Simplify methods to the concrete geometry types LineString, MultiLineString, Polygon, MultiPolygon, and GeometryCollection. These methods may be used if one of these concrete geometries is to be simplified, rather than converting to a Geometry, calling Simplify, then converting back to the concrete geometry type.

    • ๐Ÿ›  Fixes a bug in Simplify where invalid interior rings would be omitted rather than producing an error.

    • โž• Adds a wrapper in the geos package for the GEOSMakeValid_r function (exposed as MakeValid).