cairnapp / go-geobuf

Compact GeoJSON encoding for Golang

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Go Geobuf

A compact Protobuf representation of GeoJSON. Based on Mapbox's geobuf.

Limitations

Due to the nature of Go being a statically typed language, custom properties are not currently supported.

Some properties may lose their types through encoding/decoding. For instance, int8s may become uints or just ints.

Encoding/Decoding

A basic example shows how this library will infer the proper precision for encoding/decoding

import (
    "github.com/cairnapp/go-geobuf"
    "github.com/cairnapp/go-geobuf/pkg/geometry"
    "github.com/cairnapp/go-geobuf/pkg/geojson"
)

point := geojson.NewGeometry(geometry.Point([]float64{
    124.123, 
    234.456
}))
data := geobuf.Encode(point)
decoded_point := geobuf.Decode(point)

About

Compact GeoJSON encoding for Golang

License:MIT License


Languages

Language:Go 100.0%