Прежде всего, вам нужно создать общий многоугольник, подобный этому:
package main
import (
"fmt"
"github.com/twpayne/go-geom"
)
func main() {
unitSquare := geom.NewPolygon(geom.XY).MustSetCoords([][]geom.Coord{
{{0, 0}, {1, 0}, {1, 1}, {0, 1}, {0, 0}},
})
fmt.Printf("unitSquare.Area() == %f", unitSquare.Area())
}
Затем вы можете упорядочить его в wkb
формате.
// marshal into wkb with litten endian
b, err := wkb.Marshal(unitSquare, wkb.NDR)
if err != nil {
fmt.Printf("wkb marshal error: %s\n", err.Error())
return
}
fmt.Println(b)