Documentation ¶
Overview ¶
Package atlas provides an abstraction for a collection of Maps.
Index ¶
- Constants
- Variables
- func AddMap(m Map)
- func GetCache() cache.Interface
- func PurgeMapTile(m Map, tile *tegola.Tile) error
- func SeedMapTile(ctx context.Context, m Map, z, x, y uint) error
- func SetCache(c cache.Interface)
- type Atlas
- func (a *Atlas) AddMap(m Map)
- func (a *Atlas) AllMaps() []Map
- func (a *Atlas) GetCache() cache.Interface
- func (a *Atlas) Map(mapName string) (Map, error)
- func (a *Atlas) PurgeMapTile(m Map, tile *tegola.Tile) error
- func (a *Atlas) SeedMapTile(ctx context.Context, m Map, z, x, y uint) error
- func (a *Atlas) SetCache(c cache.Interface)
- type ErrMapNotFound
- type Layer
- type Map
- type Tile
Constants ¶
const ( // MaxZoom will not render tile beyond this zoom level MaxZoom = tegola.MaxZ )
Variables ¶
var ( ErrMissingCache = errors.New("atlas: missing cache") ErrMissingTile = errors.New("atlas: missing tile") )
Functions ¶
func AddMap ¶
func AddMap(m Map)
AddMap registers a map by name with defaultAtlas. if the map already exists it will be overwritten
func GetCache ¶
GetCache returns the registered cache for defaultAtlas, if one is registered, otherwise nil
func PurgeMapTile ¶
PurgeMapTile will purge a map tile from the configured cache backend for the defaultAtlas
func SeedMapTile ¶
SeedMapTile will generate a tile and persist it to the configured cache backend for the defaultAtlas
Types ¶
type Atlas ¶
type Atlas struct { // for managing current access to the map container sync.RWMutex // contains filtered or unexported fields }
Atlas holds a collection of maps. If the pointer to Atlas is nil, it will make use of the default atlas; as the container for maps. This is equaivalent to using the functions in the package. An Atlas is safe to use concurrently.
func (*Atlas) AddMap ¶
AddMap registers a map by name. if the map already exists it will be overwritten
func (*Atlas) PurgeMapTile ¶
PurgeMapTile will purge a map tile from the configured cache backend
func (*Atlas) SeedMapTile ¶
SeedMapTile will generate a tile and persist it to the configured cache backend
type ErrMapNotFound ¶
type ErrMapNotFound struct {
Name string
}
func (ErrMapNotFound) Error ¶
func (e ErrMapNotFound) Error() string
type Layer ¶
type Layer struct { // optional. if not set, the ProviderLayerName will be used Name string ProviderLayerName string MinZoom uint MaxZoom uint // instantiated provider Provider provider.Tiler // default tags to include when encoding the layer. provider tags take precedence DefaultTags map[string]interface{} GeomType geom.Geometry // DontSimplify indicates wheather feature simplification should be applied. // We use a negative in the name so the default is to simplify DontSimplify bool // DontClip indicates wheather feature clipping should be applied. // We use a negative in the name so the default is to clip DontClip bool }
type Map ¶
type Map struct { Name string // Contains an attribution to be displayed when the map is shown to a user. // This string is sanatized so it can't be abused as a vector for XSS or beacon tracking. Attribution string // The maximum extent of available map tiles in WGS:84 // latitude and longitude values, in the order left, bottom, right, top. // Default: [-180, -85, 180, 85] Bounds *geom.Extent // The first value is the longitude, the second is latitude (both in // WGS:84 values), the third value is the zoom level. Center [3]float64 Layers []Layer SRID uint64 // MVT output values TileExtent uint64 TileBuffer uint64 }
func GetMap ¶
GetMap returns a copy of the a map by name from defaultAtlas. if the map does not exist it will return an error
func NewWebMercatorMap ¶ added in v0.6.0
NewMap creates a new map with the necessary default values
func (Map) AddDebugLayers ¶ added in v0.6.0
AddDebugLayers returns a copy of a Map with the debug layers appended to the layer list
func (Map) FilterLayersByName ¶ added in v0.6.0
FilterLayersByName returns a copy of a Map with a subset of layers that match the supplied list of layer names
func (Map) FilterLayersByZoom ¶ added in v0.6.0
FilterLayersByZoom returns a copy of a Map with a subset of layers that match the given zoom