Tegola 是一个使用 Go 编写的 Mapbox Vector Tile 服务器
Tegola is a vector tile server delivering Mapbox Vector Tiles with support for PostGIS, GeoPackage and SAP HANA Spatial data providers. User documentation can be found at tegola.io
tegola is a vector tile server
Version: v0.21.0
Usage:
tegola [command]
Available Commands:
cache Manipulate the tile cache
help Help about any command
serve Use tegola as a tile server
version Print the version number of tegola
Flags:
--config string path to config file (default "config.toml")
-h, --help help for tegola
Use "tegola [command] --help" for more information about a command.
config.toml in the same directory as the binary. You can set a different location for the config.toml using a command flag:./tegola serve --config=/path/to/config.toml
/
The server root will display the built-in viewer with an automatically generated style. For example:
/maps/:map_name/:z/:x/:y
Return vector tiles for a map. The URI supports the following variables:
:map_name is the name of the map as defined in the config.toml file.:z is the zoom level of the map.:x is the row of the tile at the zoom level.:y is the column of the tile at the zoom level./maps/:map_name/:layer_name/:z/:x/:y
Return vector tiles for a map layer. The URI supports the same variables as the map URI with the additional variable:
:layer_name is the name of the map layer as defined in the config.toml file./capabilities
Return a JSON encoded list of the server's configured maps and layers with various attributes.
/capabilities/:map_name
Return TileJSON details about the map.
/maps/:map_name/style.json
Return an auto generated Mapbox GL Style for the configured map.
The tegola config file uses the TOML format. The following example shows how to configure a mvt_postgis data provider. The mvt_postgis provider will leverage PostGIS's ST_AsMVT() function for the encoding of the vector tile.
Under the maps section, map layers are associated with data provider layers and their min_zoom and max_zoom values are defined.
…
mvt_postgis provider can be found hereEnvironment variables can be injected into the configuration file. One caveat is that the injection has to be within a string, though the value it represents does not have to be a string.
The above config example could be written as:
# register data providers
[[providers]]
name = "test_postgis"
type = "mvt_postgis"
uri = "${POSTGIS_CONN_STR}" # database connection string
srid = 3857
max_connections = "${POSTGIS_MAX_CONN}"
The following environment variables can be used for debugging:
TEGOLA_SQL_DEBUG specify the type of SQL debug information to output. Currently, supporting two values:
LAYER_SQL will print layer SQL as they are parsed from the config file.EXECUTE_SQL will print SQL that is executed for each tile request, and the number of items it returns or an error.$ TEGOLA_SQL_DEBUG=LAYER_SQL tegola serve --config=/path/to/conf.toml
The following environment variables can be used to control various runtime options on dataproviders that are NOT mvt_postgis:
TEGOLA_OPTIONS specify a set of options comma or space delimited. Supports the following options
DontSimplifyGeo to turn off simplification for all layers.SimplifyMaxZoom={{int}} to set the max zoom that simplification will apply to. (14 is default)When debugging client side, it's often helpful to see an outline of a tile along with it's Z/X/Y values. To encode a debug layer into every tile add the query string variable debug=true to the URL template being used to request tiles. For example:
http://localhost:8080/maps/mymap/{z}/{x}/{y}.vector.pbf?debug=true
The requested tile will be encoded with a layer that has the name value set to debug and includes the three following features.
debug_outline is a line feature that traces the border of the tiledebug_text is a point feature in the middle of the tile with the following tags:zxy is a string with the Z, X and Y values formatted as: Z:0, X:0, Y:0Tegola is written in Go and requires Go 1.26.7 or higher to compile from the source. (We support the two newest versions of Go.) To build tegola from the source, make sure you have Go installed and have cloned the repository. Navigate to the repository then run the following command:
go generate ... && cd cmd/tegola/ && go build -mod vendor
You will now have a binary named tegola in the current directory which is ready to run.
Build Flags The following build flags can be used to turn off certain features of tegola:
noAzblobCache - turn off the Azure Blob cache back end.noS3Cache - turn off the AWS S3 cache back end.noRedisCache - turn off the Redis cache back end.noPostgisProvider - turn off the PostGIS data provider.noGpkgProvider - turn off the GeoPackage data provider. Note, GeoPackage uses CGO and will be turned off if the environment variable CGO_ENABLED=0 is set prior to building.noViewer - turn off the built-in viewer.pprof - enable Go profiler. Start profile server by setting the environment TEGOLA_HTTP_PPROF_BIND environment (e.g. TEGOLA_HTTP_PPROF_BIND=localhost:6060).noPrometheusObserver - turn off support for the Prometheus metric end point.Example of using the build flags to turn of the Redis cache back end, the GeoPackage provider and the built-in viewer.
go build -tags 'noRedisCache noGpkgProvider noViewer'
Setting Version Information The following flags can be used to set version information:
# first set some env to make it easier to read:
BUILD_PKG=github.com/go-spatial/tegola/internal/build
VERSION=1.16.x
GIT_BRANCH=$(git branch --no-color --show-current)
GIT_REVISION=$(git log HEAD --oneline | head -n 1 | cut -d ' ' -f 1)
# build the go binary
go build -ldflags "-w -X ${BUILD_PKG}.Version=${VERSION} -X ${BUILD_PKG}.GitRevision=${GIT_REVISION} -X ${BUILD_PKG}.GitBranch=${GIT_BRANCH}"
See license file in the repo.
After Tegola is running you're likely going to want to work on your map's cartography. Give fresco a try!
暂无开放 Issues,或尚未同步最近议题。