GEOS is the standard geometry library that underpins PostGIS and much of the open source geospatial world.
https://github.com/twpayne/go-geos is a new set of Go bindings for GEOS that make it easy to use GEOS geometries in your Go applications. Features include: - Fluent Go API. - Low-level Context, CoordSeq, Geom, and PrepGeom types provide access to all GEOS methods. - High-level geometry.Geometry type implements all GEOS functionality and many standard Go interfaces, including database/sql/driver.Valuer and database/sql.Scanner (WKB) for PostGIS database integration and encoding/json.Marshaler and encoding/json.Unmarshaler (GeoJSON). See the PostGIS example <https://github.com/twpayne/go-geos/tree/master/examples/postgis> for a demonstration of the use of these interfaces. - Concurrency-safe. go-geos uses GEOS's threadsafe *_r functions under the hood, with locking to ensure safety, even when used across multiple goroutines. For best performance, use one geos.Context per goroutine. - Caching of geometry properties to avoid cgo overhead. - Optimized GeoJSON encoder. - Automatic finalization of GEOS objects. Check it out at https://github.com/twpayne/go-geos. -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/4d74baa9-2e56-43b8-a0e3-0ffcec4f34e1n%40googlegroups.com.