Documentation ¶
Index ¶
- Variables
- func WithMemory() writerOption
- type Column
- func (c *Column) Build() flatbuffers.UOffsetT
- func (c *Column) SetDescription(description string) *Column
- func (c *Column) SetMetadata(metadata string) *Column
- func (c *Column) SetName(name string) *Column
- func (c *Column) SetNullable(nullable bool) *Column
- func (c *Column) SetPrecision(precision int) *Column
- func (c *Column) SetPrimaryKey(primaryKey bool) *Column
- func (c *Column) SetScale(scale int) *Column
- func (c *Column) SetTitle(title string) *Column
- func (c *Column) SetType(typ flattypes.ColumnType) *Column
- func (c *Column) SetUnique(unique bool) *Column
- func (c *Column) SetWidth(width int) *Column
- type Crs
- type Feature
- type FeatureGenerator
- type Geometry
- func (g *Geometry) Build() flatbuffers.UOffsetT
- func (g *Geometry) SetEnds(ends []uint32) *Geometry
- func (g *Geometry) SetM(m []float64) *Geometry
- func (g *Geometry) SetParts(parts []Geometry) *Geometry
- func (g *Geometry) SetT(t []float64) *Geometry
- func (g *Geometry) SetTM(tm []uint64) *Geometry
- func (g *Geometry) SetType(typ flattypes.GeometryType) *Geometry
- func (g *Geometry) SetXY(xy []float64) *Geometry
- func (g *Geometry) SetZ(z []float64) *Geometry
- type GeometryExtended
- type Header
- func (h *Header) Build() flatbuffers.UOffsetT
- func (h *Header) Builder() *flatbuffers.Builder
- func (h *Header) SetColumns(columns []*Column) *Header
- func (h *Header) SetCrs(crs *Crs) *Header
- func (h *Header) SetDescription(description string) *Header
- func (h *Header) SetEnvelope(envelope []float64) *Header
- func (h *Header) SetFeaturesCount(featuresCount uint64) *Header
- func (h *Header) SetGeometryType(geometryType flattypes.GeometryType) *Header
- func (h *Header) SetHasM(hasM bool) *Header
- func (h *Header) SetHasT(hasT bool) *Header
- func (h *Header) SetHasTm(hasTm bool) *Header
- func (h *Header) SetHasZ(hasZ bool) *Header
- func (h *Header) SetIndexNodeSize(indexNodeSize uint16) *Header
- func (h *Header) SetMetadata(metadata string) *Header
- func (h *Header) SetName(name string) *Header
- func (h *Header) SetTitle(title string) *Header
- type HeaderUpdater
- type Index
- type Writer
Constants ¶
This section is empty.
Variables ¶
var MagicBytes = []byte{0x66, 0x67, 0x62, 0x03, 0x66, 0x67, 0x62, 0x00}
MagicBytes is the identifier sequence for a flatgeobuf file.
Functions ¶
func WithMemory ¶
func WithMemory() writerOption
Use memory instead of temporary file when generating index or execute HeaderUpdater. Effective only when includeIndex is true or when HeaderUpdater is provided.
Warning: this option could use arbitrarily large amounts of memory.
Types ¶
type Column ¶
type Column struct {
// contains filtered or unexported fields
}
func NewColumn ¶
func NewColumn(builder *flatbuffers.Builder) *Column
func (*Column) Build ¶
func (c *Column) Build() flatbuffers.UOffsetT
func (*Column) SetDescription ¶
func (*Column) SetMetadata ¶
func (*Column) SetNullable ¶
func (*Column) SetPrecision ¶
func (*Column) SetPrimaryKey ¶
type Crs ¶
type Crs struct {
// contains filtered or unexported fields
}
Crs is a builder for flatgeobuf.Crs, which represents the coordinate reference system associated with the data stored in the flatgeobuf. This is not required to be set at all.
func NewCrs ¶
func NewCrs(builder *flatbuffers.Builder) *Crs
func (*Crs) Build ¶
func (c *Crs) Build() flatbuffers.UOffsetT
func (*Crs) SetCodeString ¶
func (*Crs) SetDescription ¶
type Feature ¶
type Feature struct {
// contains filtered or unexported fields
}
func NewFeature ¶
func NewFeature(builder *flatbuffers.Builder) *Feature
func (*Feature) Build ¶
func (f *Feature) Build() flatbuffers.UOffsetT
func (*Feature) SetColumns ¶
func (*Feature) SetGeometry ¶
func (*Feature) SetProperties ¶
type FeatureGenerator ¶
type FeatureGenerator interface { // Generate generates a feature. Returns nil if there are no more features // to generate. Generate() *Feature }
FeatureGenerator is an interface for generating features.
type Geometry ¶
type Geometry struct {
// contains filtered or unexported fields
}
func NewGeometry ¶
func NewGeometry(builder *flatbuffers.Builder) *Geometry
func (*Geometry) Build ¶
func (g *Geometry) Build() flatbuffers.UOffsetT
type GeometryExtended ¶
type GeometryExtended struct {
*Geometry
}
func NewGeometryExtended ¶
func NewGeometryExtended(geometry *Geometry) *GeometryExtended
func (*GeometryExtended) BoundingBox ¶
func (g *GeometryExtended) BoundingBox() (minX, minY, maxX, maxY float64)
type Header ¶
type Header struct {
// contains filtered or unexported fields
}
Header is the writer responsible for writting the header of the flatgeobuf to a given writer. It handles all the flatbuffer details.
func NewHeader ¶
func NewHeader(builder *flatbuffers.Builder) *Header
func (*Header) Build ¶
func (h *Header) Build() flatbuffers.UOffsetT
func (*Header) Builder ¶
func (h *Header) Builder() *flatbuffers.Builder
func (*Header) SetColumns ¶
func (*Header) SetDescription ¶
func (*Header) SetEnvelope ¶
func (*Header) SetFeaturesCount ¶
func (*Header) SetGeometryType ¶
func (h *Header) SetGeometryType(geometryType flattypes.GeometryType) *Header
func (*Header) SetIndexNodeSize ¶
func (*Header) SetMetadata ¶
type HeaderUpdater ¶
type HeaderUpdater interface {
Update(header *Header)
}
HeaderUpdater is an interface for updating the Header after all entries for the flatgeobuf file have been processed. Usefull to set metadata that depends on what has been added.
type Index ¶
type Index struct {
// contains filtered or unexported fields
}
func NewIndex ¶
func NewIndex(p *index.PackedRTree) *Index
type Writer ¶
type Writer struct {
// contains filtered or unexported fields
}
Writer is a type that allows constructing a valid flatgeobuf file that has a Header, an optional Index and collection of Features.
func NewWriter ¶
func NewWriter(header *Header, includeIndex bool, featureGenerator FeatureGenerator, headerUpdater HeaderUpdater, opts ...writerOption, ) *Writer
NewWriter returns a new writer instance that will write a flatgeobuf file with the given Header, a possible Index (depending on includeIndex), a FeatureGenerator that will provide the Features to be written and a HeaderUpdater that will be used to update the Header after all features have been generated.