You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Our organization spatial-go is officially established! The first open source project Geoos(Using Golang) provides spatial data and geometric algorithms.
All comments and suggestions are welcome!
1.algorithm
Package algorithm defines Specifies Computational Geometric and algorithm err.
2.clusters
Package clusters is a spatial clustering algorithm.
3.coordtransform
Package coordtransform is for transform coord.
4.example
Example This is an example .
5.geoencoding
Package geoencoding is a library for encoding and decoding into Go structs using the geometries.
6.grid
Package grid is used to generate grid data.
7.index
Package index define spatial index interface.
8.planar
Package planar provides support for the implementation of spatial operations and geometric algorithms.
9.space
Package space A representation of a linear vector geometry.
10.utils
Package utils A functions of utils.
Documentation
How to use Geoos:
Example: Calculating area via Geoos
package main
import (
"bytes"
"fmt"
"github.com/spatial-go/geoos/geoencoding"
"github.com/spatial-go/geoos/planar"
)
func main() {
// First, choose the default algorithm.
strategy := planar.NormalStrategy()
// Secondly, manufacturing test data and convert it to geometry
const polygon = `POLYGON((-1 -1, 1 -1, 1 1, -1 1, -1 -1))`
// geometry, _ := wkt.UnmarshalString(polygon)
buf0 := new(bytes.Buffer)
buf0.Write([]byte(polygon))
geometry, _ := geoencoding.Read(buf0, geoencoding.WKT)
// Last, call the Area () method and get result.
area, e := strategy.Area(geometry)
if e != nil {
fmt.Printf(e.Error())
}
fmt.Printf("%f", area)
// get result 4.0
}