mapnik

package module
v0.0.0-...-7faf9b2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 29, 2020 License: AGPL-3.0, Apache-2.0 Imports: 11 Imported by: 0

Documentation

Overview

Example
package main

import (
	"log"

	mapnik "github.com/flywave/flywave-mapnik"
)

func main() {
	m := mapnik.New()
	if err := m.Load("test/map.xml"); err != nil {
		log.Fatal(err)
	}
	m.Resize(1000, 500)
	m.ZoomTo(-180, -90, 180, 90)
	opts := mapnik.RenderOpts{Format: "png32"}
	if err := m.RenderToFile(opts, "/tmp/go-mapnik-example-1.png"); err != nil {
		log.Fatal(err)
	}
}
Output:

Index

Examples

Constants

This section is empty.

Variables

View Source
var (
	DatasourceVector = DatasourceType(C.DATASOURCE_VECTOR)
	DatasourceRaster = DatasourceType(C.DATASOURCE_RASTER)
)
View Source
var (
	UNKNOWN         = GeoType(C.GEO_UNKNOWN)
	POINT           = GeoType(C.GEO_POINT)
	MULTIPOINT      = GeoType(C.GEO_MULTIPOINT)
	LINESTRING      = GeoType(C.GEO_LINESTRING)
	MULTILINESTRING = GeoType(C.GEO_MULTILINESTRING)
	POLYGON         = GeoType(C.GEO_POLYGON)
	MULTIPOLYGON    = GeoType(C.GEO_MULTIPOLYGON)
	COLLECTION      = GeoType(C.GEO_COLLECTION)
)
View Source
var (
	RASTER_DTYPE_RGBA8   = RasterType(C.RASTER_DTYPE_RGBA8)
	RASTER_DTYPE_GRAY8   = RasterType(C.RASTER_DTYPE_GRAY8)
	RASTER_DTYPE_GRAY8S  = RasterType(C.RASTER_DTYPE_GRAY8S)
	RASTER_DTYPE_GRAY16  = RasterType(C.RASTER_DTYPE_GRAY16)
	RASTER_DTYPE_GRAY16S = RasterType(C.RASTER_DTYPE_GRAY16S)
	RASTER_DTYPE_GRAY32  = RasterType(C.RASTER_DTYPE_GRAY32)
	RASTER_DTYPE_GRAY32S = RasterType(C.RASTER_DTYPE_GRAY32S)
	RASTER_DTYPE_GRAY32F = RasterType(C.RASTER_DTYPE_GRAY32F)
	RASTER_DTYPE_GRAY64  = RasterType(C.RASTER_DTYPE_GRAY64)
	RASTER_DTYPE_GRAY64S = RasterType(C.RASTER_DTYPE_GRAY64S)
	RASTER_DTYPE_GRAY64F = RasterType(C.RASTER_DTYPE_GRAY64F)
)
View Source
var Version version

Functions

func Encode

func Encode(img image.Image, format string) ([]byte, error)

func LogSeverity

func LogSeverity(level LogLevel)

func RegisterDatasources

func RegisterDatasources(path string) error

func RegisterFonts

func RegisterFonts(path string) error

Types

type Datasource

type Datasource struct {
	// contains filtered or unexported fields
}

func NewRasterDatasource

func NewRasterDatasource(rs *RasterData) *Datasource

func NewTiledRasterDatasource

func NewTiledRasterDatasource(rs *RasterTiledData) *Datasource

func NewVectorDatasource

func NewVectorDatasource(fc *FeatureCollection) *Datasource

func (*Datasource) Envelope

func (d *Datasource) Envelope() [4]float64

func (*Datasource) Free

func (d *Datasource) Free()

func (*Datasource) Type

func (d *Datasource) Type() DatasourceType

type DatasourceType

type DatasourceType int

type Feature

type Feature struct {
	// contains filtered or unexported fields
}

func NewCollectionFeature

func NewCollectionFeature(geos []Geometry, id interface{}, prop map[string]interface{}) *Feature

func NewFeature

func NewFeature(geo *Geometry, id interface{}, prop map[string]interface{}) *Feature

func NewLineFeature

func NewLineFeature(l [][]float64, id interface{}, prop map[string]interface{}) *Feature

func NewMultiLineFeature

func NewMultiLineFeature(p [][][]float64, id interface{}, prop map[string]interface{}) *Feature

func NewMultiPointFeature

func NewMultiPointFeature(p [][]float64, id interface{}, prop map[string]interface{}) *Feature

func NewMultiPolygonFeature

func NewMultiPolygonFeature(p [][][][]float64, id interface{}, prop map[string]interface{}) *Feature

func NewPointFeature

func NewPointFeature(p []float64, id interface{}, prop map[string]interface{}) *Feature

func NewPolygonFeature

func NewPolygonFeature(p [][][]float64, id interface{}, prop map[string]interface{}) *Feature

func (*Feature) Free

func (f *Feature) Free()

type FeatureCollection

type FeatureCollection struct {
	// contains filtered or unexported fields
}

func NewFeatureCollection

func NewFeatureCollection() *FeatureCollection

func (*FeatureCollection) AddCollectionFeature

func (fc *FeatureCollection) AddCollectionFeature(geos []Geometry, id interface{}, prop map[string]interface{})

func (*FeatureCollection) AddLineFeature

func (fc *FeatureCollection) AddLineFeature(l [][]float64, id interface{}, prop map[string]interface{})

func (*FeatureCollection) AddMultiLineFeature

func (fc *FeatureCollection) AddMultiLineFeature(p [][][]float64, id interface{}, prop map[string]interface{})

func (*FeatureCollection) AddMultiPointFeature

func (fc *FeatureCollection) AddMultiPointFeature(p [][]float64, id interface{}, prop map[string]interface{})

func (*FeatureCollection) AddMultiPolygonFeature

func (fc *FeatureCollection) AddMultiPolygonFeature(p [][][][]float64, id interface{}, prop map[string]interface{})

func (*FeatureCollection) AddPointFeature

func (fc *FeatureCollection) AddPointFeature(p []float64, id interface{}, prop map[string]interface{})

func (*FeatureCollection) AddPolygonFeature

func (fc *FeatureCollection) AddPolygonFeature(p [][][]float64, id interface{}, prop map[string]interface{})

func (*FeatureCollection) Free

func (fc *FeatureCollection) Free()

type GeoType

type GeoType int

type Geometry

type Geometry struct {
	// contains filtered or unexported fields
}

func NewCollection

func NewCollection(geos []Geometry) *Geometry

func NewGeometry

func NewGeometry(tp GeoType) *Geometry

func NewLine

func NewLine(l [][]float64) *Geometry

func NewMultiLine

func NewMultiLine(p [][][]float64) *Geometry

func NewMultiPoint

func NewMultiPoint(p [][]float64) *Geometry

func NewMultiPolygon

func NewMultiPolygon(p [][][][]float64) *Geometry

func NewPoint

func NewPoint(p []float64) *Geometry

func NewPolygon

func NewPolygon(p [][][]float64) *Geometry

func (*Geometry) Free

func (m *Geometry) Free()

func (*Geometry) SetCollection

func (m *Geometry) SetCollection(geos []Geometry)

func (*Geometry) SetLine

func (m *Geometry) SetLine(l [][]float64)

func (*Geometry) SetMultiLine

func (m *Geometry) SetMultiLine(l [][][]float64)

func (*Geometry) SetMultiPoint

func (m *Geometry) SetMultiPoint(p1 [][]float64)

func (*Geometry) SetMultiPolygon

func (m *Geometry) SetMultiPolygon(pl [][][][]float64)

func (*Geometry) SetPoint

func (m *Geometry) SetPoint(p1 []float64)

func (*Geometry) SetPolygon

func (m *Geometry) SetPolygon(pl [][][]float64)

func (*Geometry) Type

func (m *Geometry) Type() GeoType

type Identifier

type Identifier struct {
	// contains filtered or unexported fields
}

func NewIdentifier

func NewIdentifier(t interface{}) *Identifier

func (*Identifier) Free

func (id *Identifier) Free()

type Layer

type Layer struct {
	// contains filtered or unexported fields
}

func NewLayer

func NewLayer(name string, srs string) *Layer

func (*Layer) AddStyle

func (f *Layer) AddStyle(style string)

func (*Layer) Free

func (f *Layer) Free()

func (*Layer) GetMaxExtent

func (f *Layer) GetMaxExtent() [4]float64

func (*Layer) GetMaxZoom

func (f *Layer) GetMaxZoom() float64

func (*Layer) GetMinZoom

func (f *Layer) GetMinZoom() float64

func (*Layer) GetName

func (f *Layer) GetName() string

func (*Layer) GetSrs

func (f *Layer) GetSrs() string

func (*Layer) SetDatasource

func (f *Layer) SetDatasource(ds *Datasource)

func (*Layer) SetMaxExtent

func (f *Layer) SetMaxExtent(bbox [4]float64)

func (*Layer) SetMaxZoom

func (f *Layer) SetMaxZoom(v float64)

func (*Layer) SetMinZoom

func (f *Layer) SetMinZoom(v float64)

func (*Layer) SetName

func (f *Layer) SetName(name string)

func (*Layer) SetSrs

func (f *Layer) SetSrs(srs string)

func (*Layer) SetVirtualDatasource

func (f *Layer) SetVirtualDatasource(ds string)

type LayerSelector

type LayerSelector interface {
	Select(layername string) Status
}

type LogLevel

type LogLevel int

type Map

type Map struct {
	// contains filtered or unexported fields
}

func New

func New() *Map

func NewSized

func NewSized(width, height int) *Map

func (*Map) AddLayer

func (m *Map) AddLayer(l *Layer)

func (*Map) BackgroundColor

func (m *Map) BackgroundColor() color.NRGBA

func (*Map) Free

func (m *Map) Free()

func (*Map) Load

func (m *Map) Load(stylesheet string) error

func (*Map) LoadString

func (m *Map) LoadString(str string) error

func (*Map) RemoveAllLayer

func (m *Map) RemoveAllLayer()

func (*Map) Render

func (m *Map) Render(opts RenderOpts) ([]byte, error)

func (*Map) RenderImage

func (m *Map) RenderImage(opts RenderOpts) (*image.NRGBA, error)

func (*Map) RenderToFile

func (m *Map) RenderToFile(opts RenderOpts, path string) error

func (*Map) RenderToMvtTile

func (m *Map) RenderToMvtTile(tile *MvtTile, buffSize, tileSize uint32) error

func (*Map) RenderToTile

func (m *Map) RenderToTile(tile *Tile, buffSize, tileSize uint32) error

func (*Map) RenderToUtfgridTile

func (m *Map) RenderToUtfgridTile(tile *UtfgridTile, key string, buffSize uint32) error

func (*Map) ResetLayers

func (m *Map) ResetLayers()

func (*Map) ResetMaxExtent

func (m *Map) ResetMaxExtent()

func (*Map) Resize

func (m *Map) Resize(width, height int)

func (*Map) SRS

func (m *Map) SRS() string

func (*Map) ScaleDenominator

func (m *Map) ScaleDenominator() float64

func (*Map) SelectLayers

func (m *Map) SelectLayers(selector LayerSelector) bool
Example (Function)
package main

import (
	"log"

	mapnik "github.com/flywave/flywave-mapnik"
)

func main() {
	m := mapnik.New()
	if err := m.Load("test/map.xml"); err != nil {
		log.Fatal(err)
	}

	selector := func(layername string) mapnik.Status {
		if layername == "labels" {
			return mapnik.Exclude
		}
		return mapnik.Default
	}
	m.SelectLayers(mapnik.SelectorFunc(selector))
	opts := mapnik.RenderOpts{Format: "png32"}
	if err := m.RenderToFile(opts, "/tmp/go-mapnik-example-2.png"); err != nil {
		log.Fatal(err)
	}
	m.ResetLayers()
}
Output:

func (*Map) SetBackgroundColor

func (m *Map) SetBackgroundColor(c color.NRGBA)

func (*Map) SetBufferSize

func (m *Map) SetBufferSize(s int)

func (*Map) SetMaxExtent

func (m *Map) SetMaxExtent(minx, miny, maxx, maxy float64)

func (*Map) SetSRS

func (m *Map) SetSRS(srs string)

func (*Map) ZoomAll

func (m *Map) ZoomAll() error

func (*Map) ZoomTo

func (m *Map) ZoomTo(minx, miny, maxx, maxy float64)

type MvtTile

type MvtTile struct {
	// contains filtered or unexported fields
}

func NewMvtTile

func NewMvtTile(x, y, z, width, height uint32) *MvtTile

func (*MvtTile) Count

func (r *MvtTile) Count() int

func (*MvtTile) Free

func (r *MvtTile) Free()

func (*MvtTile) GetAllData

func (r *MvtTile) GetAllData() []*MvtTileData

func (*MvtTile) GetData

func (r *MvtTile) GetData(i int) (*MvtTileData, error)

type MvtTileData

type MvtTileData struct {
	Data []uint8
	X    uint32
	Y    uint32
	Z    uint32
}

type MvtTiler

type MvtTiler struct {
	// contains filtered or unexported fields
}

func NewMvtTiler

func NewMvtTiler(map_name string, layer []string, source *TilerSource, grid *TilerGrid) *MvtTiler

func (*MvtTiler) Free

func (r *MvtTiler) Free()

func (*MvtTiler) Render

func (r *MvtTiler) Render(start, end uint32, cb func(*MvtTile))

func (*MvtTiler) RenderForSelect

func (r *MvtTiler) RenderForSelect(selects []uint16, cb func(*MvtTile))

type Property

type Property struct {
	// contains filtered or unexported fields
}

func NewProperty

func NewProperty(m map[string]interface{}) *Property

func (*Property) Free

func (v *Property) Free()

func (*Property) SetVaule

func (p *Property) SetVaule(key string, t interface{})

type Raster

type Raster struct {
	// contains filtered or unexported fields
}

func NewRaster

func NewRaster(width, height int, tp RasterType, data []byte) *Raster

func (*Raster) Free

func (r *Raster) Free()

func (*Raster) Type

func (r *Raster) Type() RasterType

type RasterData

type RasterData struct {
	// contains filtered or unexported fields
}

func NewRasterData

func NewRasterData(width, height int, tp RasterType, data []byte, bbox [4]float64, tileSize int) *RasterData

func (*RasterData) Free

func (r *RasterData) Free()

type RasterTiledData

type RasterTiledData struct {
	// contains filtered or unexported fields
}

func NewRasterTiledData

func NewRasterTiledData(rs [][]RasterData, tileSize int) *RasterTiledData

func (*RasterTiledData) Free

func (r *RasterTiledData) Free()

type RasterType

type RasterType int

type RenderOpts

type RenderOpts struct {
	Scale       float64
	ScaleFactor float64
	Format      string
}

type SelectorFunc

type SelectorFunc func(string) Status

func (SelectorFunc) Select

func (f SelectorFunc) Select(layername string) Status

type Status

type Status int
const (
	Exclude Status = -1
	Default Status = 0
	Include Status = 1
)

type Tile

type Tile struct {
	// contains filtered or unexported fields
}

func NewTile

func NewTile(x, y, z, width, height uint32) *Tile

func (*Tile) Count

func (r *Tile) Count() int

func (*Tile) Free

func (r *Tile) Free()

func (*Tile) GetAllData

func (r *Tile) GetAllData() []*TileData

func (*Tile) GetData

func (r *Tile) GetData(i int) (*TileData, error)

type TileData

type TileData struct {
	Image []byte
	X     uint32
	Y     uint32
	Z     uint32
}

type Tiler

type Tiler struct {
	// contains filtered or unexported fields
}

func NewTiler

func NewTiler(map_name string, layer []string, source *TilerSource, grid *TilerGrid) *Tiler

func (*Tiler) Free

func (r *Tiler) Free()

func (*Tiler) Render

func (r *Tiler) Render(start, end uint32, cb func(*Tile))

func (*Tiler) RenderForSelect

func (r *Tiler) RenderForSelect(selects []uint16, cb func(*Tile))

type TilerGrid

type TilerGrid struct {
	// contains filtered or unexported fields
}

func NewGeodeticGrid

func NewGeodeticGrid(tileSize uint32, box [4]float64) *TilerGrid

func NewGlobalGeodeticGrid

func NewGlobalGeodeticGrid(tileSize uint32) *TilerGrid

func NewGlobalGeodeticLocalGrid

func NewGlobalGeodeticLocalGrid(tileSize uint32, box [4]float64) *TilerGrid

func NewGlobalMercatorGrid

func NewGlobalMercatorGrid(tileSize uint32) *TilerGrid

func NewGlobalMercatorLocalGrid

func NewGlobalMercatorLocalGrid(tileSize uint32, box [4]float64) *TilerGrid

func NewMercatorGrid

func NewMercatorGrid(tileSize uint32, box [4]float64) *TilerGrid

func (*TilerGrid) Free

func (r *TilerGrid) Free()

type TilerSource

type TilerSource struct {
	// contains filtered or unexported fields
}

func NewTilerSource

func NewTilerSource(maps map[string]Map) *TilerSource

func (*TilerSource) AddDatasource

func (r *TilerSource) AddDatasource(name string, ds Datasource)

func (*TilerSource) Free

func (r *TilerSource) Free()

type UtfgridTile

type UtfgridTile struct {
	// contains filtered or unexported fields
}

func NewUtfgridTile

func NewUtfgridTile(x, y, z, width, height uint32) *UtfgridTile

func (*UtfgridTile) Count

func (r *UtfgridTile) Count() int

func (*UtfgridTile) Free

func (r *UtfgridTile) Free()

func (*UtfgridTile) GetAllData

func (r *UtfgridTile) GetAllData() []*UtfgridTileData

func (*UtfgridTile) GetData

func (r *UtfgridTile) GetData(i int) (*UtfgridTileData, error)

type UtfgridTileData

type UtfgridTileData struct {
	Data []uint8
	X    uint32
	Y    uint32
	Z    uint32
}

type UtfgridTiler

type UtfgridTiler struct {
	// contains filtered or unexported fields
}

func NewUtfgridTiler

func NewUtfgridTiler(map_name string, layer []string, source *TilerSource, grid *TilerGrid) *UtfgridTiler

func (*UtfgridTiler) Free

func (r *UtfgridTiler) Free()

func (*UtfgridTiler) Render

func (r *UtfgridTiler) Render(start, end uint32, cb func(*UtfgridTile))

func (*UtfgridTiler) RenderForSelect

func (r *UtfgridTiler) RenderForSelect(selects []uint16, cb func(*UtfgridTile))

type Vaule

type Vaule struct {
	// contains filtered or unexported fields
}

func NewVaule

func NewVaule(t interface{}) *Vaule

func (*Vaule) Free

func (v *Vaule) Free()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL