Documentation ¶
Index ¶
- Constants
- Variables
- func GetTileUrlParts(path []string) (string, []uint64)
- func NewTileLayer(w http.ResponseWriter, r *http.Request)
- func NewTileRendererChan(stylesheet string) chan<- TileFetchRequest
- func ParseTileUrl(url_path string) (string, []uint64, error)
- func PingHandler(w http.ResponseWriter, r *http.Request)
- func RandomIntBetween(min, max int) int
- func SendJsonResponseFromByte(content []byte, w http.ResponseWriter, r *http.Request) int
- func SendJsonResponseFromInterface(w http.ResponseWriter, r *http.Request, data interface{}) int
- func SendJsonResponseFromString(content string, w http.ResponseWriter, r *http.Request) int
- func SendXMLResponseFromString(content string, w http.ResponseWriter, r *http.Request) int
- func ServerProfileHandler(startTime time.Time, w http.ResponseWriter, r *http.Request)
- func TMSErrorTile(w http.ResponseWriter, r *http.Request)
- func TMSRootHandler(w http.ResponseWriter, r *http.Request)
- func TMSTileMap(start time.Time, lyr string, source string, w http.ResponseWriter, ...)
- func TMSTileMaps(start time.Time, lyrs []string, w http.ResponseWriter, r *http.Request)
- type ApiReqestData
- type ApiRequest
- type Generator
- type LayerMultiplex
- type TileCoord
- type TileDbPostgresql
- func (self *TileDbPostgresql) AddLayerMetadata(lyr string, stylesheet string)
- func (self *TileDbPostgresql) Close()
- func (self *TileDbPostgresql) GetTileLayers() (map[string]map[string]string, error)
- func (self TileDbPostgresql) InsertQueue() chan<- TileFetchResult
- func (self *TileDbPostgresql) MetaDataHandler(lyr string) (map[string]string, error)
- func (self TileDbPostgresql) RequestQueue() chan<- TileFetchRequest
- func (self *TileDbPostgresql) Run()
- type TileDbSqlite3
- func (self *TileDbSqlite3) AddLayerMetadata(lyr string, stylesheet string)
- func (self *TileDbSqlite3) Close()
- func (self *TileDbSqlite3) GetTileLayers() (map[string]map[string]string, error)
- func (self TileDbSqlite3) InsertQueue() chan<- TileFetchResult
- func (self *TileDbSqlite3) MetaDataHandler(lyr string) (map[string]string, error)
- func (self TileDbSqlite3) RequestQueue() chan<- TileFetchRequest
- func (self *TileDbSqlite3) Run()
- type TileFetchRequest
- type TileFetchResult
- type TileRenderer
- type TileServerPostgresMux
- func (self *TileServerPostgresMux) AddMapnikLayer(layerName string, stylesheet string) error
- func (self *TileServerPostgresMux) GetTileLayer(w http.ResponseWriter, r *http.Request)
- func (self *TileServerPostgresMux) NewTileLayer(w http.ResponseWriter, r *http.Request)
- func (self *TileServerPostgresMux) ServeTileRequest(w http.ResponseWriter, r *http.Request)
- func (self *TileServerPostgresMux) ServerProfileHandler(w http.ResponseWriter, r *http.Request)
- func (self *TileServerPostgresMux) TMSTileMap(w http.ResponseWriter, r *http.Request)
- func (self *TileServerPostgresMux) TMSTileMaps(w http.ResponseWriter, r *http.Request)
- func (self *TileServerPostgresMux) TileLayersHandler(w http.ResponseWriter, r *http.Request)
- type TileServerSqliteMux
- func (self *TileServerSqliteMux) AddMapnikLayer(layerName string, stylesheet string) error
- func (self *TileServerSqliteMux) GetTileLayer(w http.ResponseWriter, r *http.Request)
- func (self *TileServerSqliteMux) NewTileLayer(w http.ResponseWriter, r *http.Request)
- func (self *TileServerSqliteMux) ServeTileRequest(w http.ResponseWriter, r *http.Request)
- func (self *TileServerSqliteMux) ServerProfileHandler(w http.ResponseWriter, r *http.Request)
- func (self *TileServerSqliteMux) TMSTileMap(w http.ResponseWriter, r *http.Request)
- func (self *TileServerSqliteMux) TMSTileMaps(w http.ResponseWriter, r *http.Request)
- func (self *TileServerSqliteMux) TileLayersHandler(w http.ResponseWriter, r *http.Request)
Constants ¶
const ( SERVER_NAME string = "MapnikServer" VERSION string = "0.1.6" )
const (
LOGGING_NAME string = SERVER_NAME + `-` + VERSION
)
Variables ¶
var ( Ligneous seelog.LoggerInterface LogDirectory string = "log" LogLevel string = "trace" )
var ProxyClient = &http.Client{ Timeout: time.Second * 30, }
ProxyClient http client for server proxy tile layers.
Functions ¶
func GetTileUrlParts ¶
GetTileUrlParts gets layer, x, y and z parameters from string list.
func NewTileLayer ¶
func NewTileLayer(w http.ResponseWriter, r *http.Request)
NewTileLayer creates new tile layer.
func NewTileRendererChan ¶
func NewTileRendererChan(stylesheet string) chan<- TileFetchRequest
NewTileRendererChan creates channel for tile rendering
func ParseTileUrl ¶
ParseTileUrl validates tile url and returns layer, x, y and z parameters for tile lookup.
func PingHandler ¶
func PingHandler(w http.ResponseWriter, r *http.Request)
PingHandler provides an api route for server health check
func RandomIntBetween ¶
RandomIntBetween generates random int between min and max.
func SendJsonResponseFromByte ¶
SendJsonResponseFromByte Sends http json response from byte.
func SendJsonResponseFromInterface ¶
func SendJsonResponseFromInterface(w http.ResponseWriter, r *http.Request, data interface{}) int
SendJsonResponseFromInterface sends http json response from inteface.
func SendJsonResponseFromString ¶
SendJsonResponseFromString Sends http json response from string.
func SendXMLResponseFromString ¶
SendXMLResponseFromString sends http xml response from string.
func ServerProfileHandler ¶
ServerProfileHandler returns basic server stats.
func TMSErrorTile ¶
func TMSErrorTile(w http.ResponseWriter, r *http.Request)
TMSErrorTile returns error response
func TMSRootHandler ¶
func TMSRootHandler(w http.ResponseWriter, r *http.Request)
TMSRootHandler root handler for tms server.
func TMSTileMap ¶
TMSTileMap returns list of TileSets for layer.
func TMSTileMaps ¶
TMSTileMaps returns list of available TileMaps.
Types ¶
type ApiReqestData ¶
type ApiRequest ¶
type ApiRequest struct { Method string `json:"method"` Data ApiReqestData `json:"data"` }
type LayerMultiplex ¶
type LayerMultiplex struct {
// contains filtered or unexported fields
}
LayerMultiplex manages channels for tile requests.
func NewLayerMultiplex ¶
func NewLayerMultiplex() *LayerMultiplex
NewLayerMultiplex creates LayerMultiplex struct.
func (*LayerMultiplex) AddRenderer ¶
func (l *LayerMultiplex) AddRenderer(name string, stylesheet string)
AddRenderer addes render for tile layer.
func (*LayerMultiplex) AddSource ¶
func (l *LayerMultiplex) AddSource(name string, fetchChan chan<- TileFetchRequest)
AddSource manages tile requests.
func (LayerMultiplex) SubmitRequest ¶
func (l LayerMultiplex) SubmitRequest(r TileFetchRequest) bool
SubmitRequest submits tile request.
type TileCoord ¶
TileCoord struct for tile requests.
func (TileCoord) OSMFilename ¶
OSMFilename formats png filename.
type TileDbPostgresql ¶
type TileDbPostgresql struct {
// contains filtered or unexported fields
}
TileDbPostgresql struct for PostgreSQL MBTile database. MBTiles 1.2-compatible Tile Db with multi-layer support. Was named Mbtiles before, hence the use of *m in methods.
func NewTileDbPostgresql ¶
func NewTileDbPostgresql(path string) *TileDbPostgresql
NewTileDbPostgresql creates TileDbPostgresql struct. Creates database tables and initializes tile request channels.
func (*TileDbPostgresql) AddLayerMetadata ¶
func (self *TileDbPostgresql) AddLayerMetadata(lyr string, stylesheet string)
AddLayerMetadata adds metadata t0 metadata table
func (*TileDbPostgresql) GetTileLayers ¶
func (self *TileDbPostgresql) GetTileLayers() (map[string]map[string]string, error)
GetTileLayers get metadata for all tilelayers.
func (TileDbPostgresql) InsertQueue ¶
func (self TileDbPostgresql) InsertQueue() chan<- TileFetchResult
InsertQueue gets tile insert channel.
func (*TileDbPostgresql) MetaDataHandler ¶
func (self *TileDbPostgresql) MetaDataHandler(lyr string) (map[string]string, error)
MetaDataHandler gets metadata from database.
func (TileDbPostgresql) RequestQueue ¶
func (self TileDbPostgresql) RequestQueue() chan<- TileFetchRequest
RequestQueue gets tile request channel.
func (*TileDbPostgresql) Run ¶
func (self *TileDbPostgresql) Run()
Run runs tile generation. Best executed in a dedicated go routine.
type TileDbSqlite3 ¶
type TileDbSqlite3 struct {
// contains filtered or unexported fields
}
TileDbSqlite3 struct for SQLite3 MBTile database. MBTiles 1.2-compatible Tile Db with multi-layer support. Was named Mbtiles before, hence the use of *m in methods.
func NewTileDbSqlite ¶
func NewTileDbSqlite(path string) *TileDbSqlite3
NewTileDbSqlite creates TileDbSqlite3 struct. Creates database tables and initializes tile request channels.
func (*TileDbSqlite3) AddLayerMetadata ¶
func (self *TileDbSqlite3) AddLayerMetadata(lyr string, stylesheet string)
AddLayerMetadata adds metadata t0 metadata table
func (*TileDbSqlite3) GetTileLayers ¶
func (self *TileDbSqlite3) GetTileLayers() (map[string]map[string]string, error)
GetTileLayers get metadata for all tilelayers.
func (TileDbSqlite3) InsertQueue ¶
func (self TileDbSqlite3) InsertQueue() chan<- TileFetchResult
InsertQueue gets tile insert channel.
func (*TileDbSqlite3) MetaDataHandler ¶
func (self *TileDbSqlite3) MetaDataHandler(lyr string) (map[string]string, error)
MetaDataHandler gets metadata from database.
func (TileDbSqlite3) RequestQueue ¶
func (self TileDbSqlite3) RequestQueue() chan<- TileFetchRequest
RequestQueue gets tile request channel.
func (*TileDbSqlite3) Run ¶
func (self *TileDbSqlite3) Run()
Run runs tile generation. Best executed in a dedicated go routine.
type TileFetchRequest ¶
type TileFetchRequest struct { Coord TileCoord OutChan chan<- TileFetchResult }
TileFetchRequest struct for tile request.
type TileFetchResult ¶
TileFetchResult struct for tile result.
type TileRenderer ¶
type TileRenderer struct {
// contains filtered or unexported fields
}
TileRenderer renders images as Web Mercator tiles.
func NewTileRenderer ¶
func NewTileRenderer(stylesheet string) *TileRenderer
NewTileRenderer creates TileRenderer struct.
func (*TileRenderer) HttpGetTileZXY ¶
func (t *TileRenderer) HttpGetTileZXY(zoom, x, y uint64) ([]byte, error)
HttpGetTileZXY gets map tile another tile server.
func (*TileRenderer) RenderTile ¶
func (t *TileRenderer) RenderTile(c TileCoord) ([]byte, error)
RenderTile renders map tile.
func (*TileRenderer) RenderTileZXY ¶
func (t *TileRenderer) RenderTileZXY(zoom, x, y uint64) ([]byte, error)
RenderTileZXY renders map tile. Render a tile with coordinates in Google tile format. Most upper left tile is always 0,0. Method is not thread-safe, so wrap with a mutex when accessing the same renderer by multiple threads or setup multiple goroutinesand communicate with channels, see NewTileRendererChan.
type TileServerPostgresMux ¶
type TileServerPostgresMux struct { TmsSchema bool Router *mux.Router // contains filtered or unexported fields }
TileServerPostgresMux PostgresSQL tile server. Handles HTTP requests for map tiles, caching any produced tiles in an MBtiles 1.2 compatible sqlite db.
func NewTileServerPostgresMux ¶
func NewTileServerPostgresMux(cacheFile string) *TileServerPostgresMux
NewTileServerPostgresMux creates TileServerPostgresMux object.
func (*TileServerPostgresMux) AddMapnikLayer ¶
func (self *TileServerPostgresMux) AddMapnikLayer(layerName string, stylesheet string) error
AddMapnikLayer adds mapnik layer to server.
func (*TileServerPostgresMux) GetTileLayer ¶
func (self *TileServerPostgresMux) GetTileLayer(w http.ResponseWriter, r *http.Request)
GetTileLayer gets metadata for tilelayer.
func (*TileServerPostgresMux) NewTileLayer ¶
func (self *TileServerPostgresMux) NewTileLayer(w http.ResponseWriter, r *http.Request)
NewTileLayer creates new tile layer.
func (*TileServerPostgresMux) ServeTileRequest ¶
func (self *TileServerPostgresMux) ServeTileRequest(w http.ResponseWriter, r *http.Request)
ServeTileRequest serves tile request.
func (*TileServerPostgresMux) ServerProfileHandler ¶
func (self *TileServerPostgresMux) ServerProfileHandler(w http.ResponseWriter, r *http.Request)
ServerProfileHandler returns basic server stats.
func (*TileServerPostgresMux) TMSTileMap ¶
func (self *TileServerPostgresMux) TMSTileMap(w http.ResponseWriter, r *http.Request)
TMSTileMap shows list of TileSets for layer
func (*TileServerPostgresMux) TMSTileMaps ¶
func (self *TileServerPostgresMux) TMSTileMaps(w http.ResponseWriter, r *http.Request)
TMSTileMaps lists available TileMaps
func (*TileServerPostgresMux) TileLayersHandler ¶
func (self *TileServerPostgresMux) TileLayersHandler(w http.ResponseWriter, r *http.Request)
TileLayersHandler returns list of tiles.
type TileServerSqliteMux ¶
type TileServerSqliteMux struct { TmsSchema bool Router *mux.Router // contains filtered or unexported fields }
TileServerSqliteMux SQLite3 tile server. Handles HTTP requests for map tiles, caching any produced tiles in an MBtiles 1.2 compatible sqlite db.
func NewTileServerSqliteMux ¶
func NewTileServerSqliteMux(cacheFile string) *TileServerSqliteMux
NewTileServerSqliteMux creates TileServerSqliteMux object.
func (*TileServerSqliteMux) AddMapnikLayer ¶
func (self *TileServerSqliteMux) AddMapnikLayer(layerName string, stylesheet string) error
AddMapnikLayer adds mapnik layer to server.
func (*TileServerSqliteMux) GetTileLayer ¶
func (self *TileServerSqliteMux) GetTileLayer(w http.ResponseWriter, r *http.Request)
GetTileLayer gets metadata for tilelayer.
func (*TileServerSqliteMux) NewTileLayer ¶
func (self *TileServerSqliteMux) NewTileLayer(w http.ResponseWriter, r *http.Request)
NewTileLayer creates new tile layer.
func (*TileServerSqliteMux) ServeTileRequest ¶
func (self *TileServerSqliteMux) ServeTileRequest(w http.ResponseWriter, r *http.Request)
ServeTileRequest serves tile request.
func (*TileServerSqliteMux) ServerProfileHandler ¶
func (self *TileServerSqliteMux) ServerProfileHandler(w http.ResponseWriter, r *http.Request)
ServerProfileHandler returns basic server stats.
func (*TileServerSqliteMux) TMSTileMap ¶
func (self *TileServerSqliteMux) TMSTileMap(w http.ResponseWriter, r *http.Request)
TMSTileMap shows list of TileSets for layer
func (*TileServerSqliteMux) TMSTileMaps ¶
func (self *TileServerSqliteMux) TMSTileMaps(w http.ResponseWriter, r *http.Request)
TMSTileMaps lists available TileMaps
func (*TileServerSqliteMux) TileLayersHandler ¶
func (self *TileServerSqliteMux) TileLayersHandler(w http.ResponseWriter, r *http.Request)
TileLayersHandler returns list of tiles.