Wrapper element for XStream. Make sure it has the correct namespace
The version number should match the XSD namespace and the version of GWC
The backend timeout is the number of seconds GWC will wait for a backend
server to return something before closing the connection.
Determines whether cached=false is allowed for requests going through the WMS service,
including converters such as Google Maps. Enabling this disables caching for those requests.
Runtime statistics run, by default, every three second and provide data about
how many requests the system has been serving in the past 3, 15 and 60 seconds,
as well as aggregate numbers.
The overhead of this system is extremely low, by default it is enabled.
If you wish to have every connection to HTTP backends use
HTTP Authentication set this to the username. You must then also
set httpPassword for it to take effect.
This feature should be considered experimental in 1.2.0.
If you wish to have every connection to HTTP backends use
HTTP Authentication set this to the username. You must then also
set httpUsername for it to take effect.
This feature should be considered experimental in 1.2.0.
These are the global format modifiers that apply to all layers in this
file, unless the layer has separately defined modifiers. They can be used
to avoid repeated compression, by making image/png backend requests before
compressing to image/jpeg . They can also be used for special tweaks,
such as setting the background color for formats that do not support
transparency.
The list of grid sets provided by this configuration.
The list of WMS layers provided by this configuration.
The name of the layer that GWC should respond to. It is equivalent to the
value of LAYERS= in WMS requests, and can contain commas. See wmsLayers
Meta information like a title and description intended for human consumption
List of formats to be supported. These must be known to GeoWebCache. Legal values are
image/png, image/png8, image/png24, image/gif, image/jpeg, image/tiff, gml,
application/vnd.google-earth.kml+xml, application/vnd.google-earth.kmz+xml,
If formatModifiers are specified on the layer the global ones will be
ignored. Format modifiers can be used to apply special tweaks depending
on the requested format, such as requesting image/png from the backend
and then persist that to disk.
DEPRECATED
The grid definitions contain information about the SRS, the maximum extent for
this SRS and the bounds of your data.
(1.2.2) Update sources provide information about when tiles should be expired
in GeoWebCache. As of 1.2.2, only GeoRSS is supported.
Request filters are applied to all requests and make it possible to apply
special rules for certain requests. The filters themselves are written
in Java, though they can be made configurable through XML.
(1.2.2) GeoWebCache can provide ETags based on the last time a tile was modified and
thus support conditional gets. Note that most clients only refer to this tag
once the data has expired, so set use small values for the client expiration.
This functionality is not available if the metastore is disabled.
A list of URLs to backend servers than can render tiles for this layer. They are used in a
round robin fashion for load balancing and automatic failover.
The only time you can ommit this element is if you expect the layer to be merged
with that from another source.
The LAYERS parameter sent to the WMS backend.
It may contain commas, to request composites of several layers from the backend,
and be different from the name element.
This is the value sent to the backend server for the STYLES parameter.
It may contain commas.
The metatiling factors used for this layer. These are used to scale the bounding
box and height/width. With tiles that are 256 by 256 pixels, a 4 by 4 metatiled
requests results in a 1024 by 1024 pixel image requested from the backend server.
Higher reduced the number of repeated labels, but can overload the backend server.
The gutter is a buffer around the image that is sliced away when saving the tiles
to disk. It only applies to metatiles and is not applied if the resulting request
would exceed the layer bounds. Note that your styles on the backend should avoid
rendering labels near the edges of requested images. The default is zero.
The ERROR parameter sent to the WMS backend. The default is application/vnd.ogc.se_xml,
the alternative is application/vnd.ogc.se_inimage
The VERSION parameter sent to the WMS backend.
The default is 1.1.0
The TILED parameter sent to the WMS backend.
The default is FALSE, you should generally not change this.
The TRANSPARENT parameter sent to the WMS backend.
This will result in transparent PNGs and GIFs. The default is TRUE.
The BGCOLOR parameter sent to the WMS backend.
This tells the WMS backend what color to use where the image canvas is blank.
It is specified as as an RGB string ( 0xFF0000 = red, 0x00FF00= green, 0x0000FF = blue )
The PALETTE parameter sent to the WMS backend.
This tells the server whether it should use a palette, something that can often
speed up rendering for 8 bit images (GIF and 8 bit PNG) because the WMS server
does not have to determine the optimal palette for the tile.
Fixed parameters that are appended to every request to the backend.
For instance KEY1=value1&KEY2=value2
As of GWC 1.1.0 this element is deprecated. The plugin for GeoServer will use
%GEOSERVER_DATA_DIR%\gwc , whereas users of the standalone version may specify
this in geowebcache-servlet.xml
How old the tile may be before it is refetched from the backend.
The default value is 0, which means infinite, otherwise specified in seconds.
As of GWC 1.1.0 this element is not fully implemented.
A list of expiration rules, so that cache expiration can be controlled
per layer per zoom level. Special expiration values are -1 to disable
caching and -2 to never expire.
This list must start with minZoom="0" and be monotonically increasing.
The HTTP expiration header sent to client. Can either be a value in number of seconds
or 0 to disable the header. A special value of -1 may be used to set no-cache
headers. By default the expiration header from the WMS backend is used. If it is not
set or not available (no request has been forwarded to backend since startup)
then the value is set to 3600 seconds.
This list must start with minZoom="0" and be monotonically increasing.
A list of expiration rules, so that client expiration (set through HTTP response
headers) can be controlled per layer per zoom level
The backend timeout is the number of seconds GWC will wait for a backend
server to return something before closing the connection.
The default value is the global value, alternatively 120s.
Whether this layer allows the clients to bypass the cache. The default value
is the global value, alternatively false.
Whether this layer supports getfeatureinfo requests, which are proxied to the WMS backend.
The default is false.
A list of parameter filters, meaning parameters the client may specify that GWC
will forward to the backend. Each combination of parameters effectively
results in a new set of tiles.
The numeric part of the EPSG code, i.e. for EPSG:4326 use "4326".
The name is the unique identifer of the grid set
The extent of the grid. This should generally be the biggest
bounding box that is valid for the selected SRS. If you change the
grid bounds you must also clear all caches related to this layer.
Coordinates must be specified in the context of the SRS for which the
grid is being defined.
To set tighter bounds and avoid repetitive tiles, use the gridSubset
on each layer to define the exact bounds.
The area does not have to be square, GeoWebCache will automatically
pad it to form a set of suitable, rectangular grids
In many cases the specified extent does not result in an integer
height or width for every resolution. In these cases GeoWebCache
will modify the extent in the X and/or Y direction.
If you set this to true GWC will not change the top coordinate,
but expand the bottom instead. This is convenient for systems
like WMTS, but may confuse WMS-C clients.
You can either specify an array of resolutions in descending order,
scales in ascending order OR the number of zoom levels.
Resolutions are specified as (SRS units) / pixel. For instance,
if your grid bounds are 180 by 180 degrees (in WGS84, this would be
either hemissphere), and the tiles are 256 by 256 pixels, then first
resolution would be 180 degress / 256 pixels = 0.703125 degrees / pixel.
You can either specify an array of resolutions in descending order,
scales in ascending order OR the number of zoom levels.
Scales are calculated in accordance with the OGC WMS 1.3.0 standard.
Slightly simplified: scale = resolution / 0.00028
You can either specify an array of resolutions in descending order,
scales in ascending order OR the number of zoom levels.
If the desired number of zoom levels is specified GWC will try to
automatically determine a sensible set of resolutions.
The value of "1 map unit" in real world meters. This value is
used for approximate scale calculations and is usually not very accurate.
For lat/lon you should use
40041470 meters / 360.0 degrees = 111226.31 m/degree
If no value is specified, it is assumed that the coordinate
system is defined in meters.
The size of one pixel in meters. OGC makes teh assumption this is
0.28mm, so the default value is 0.00028. The value is used for
scale calculations and passed to the automatically generated
OpenLayers demos.
If you specify scales or resolutions, you may optionally specify
a list of scale names that, in WMTS, identify each Matrix.
The number of pixels every tile is in the Y-direction. The default is 256
If you change this value you must also reconsidering metatiling and
clear the cache.
The number of pixels every tile is in the X-direction. The default is 256
If you change this value you must also reconsidering metatiling and
clear the cache.
This name must match the name of the parent gridSet exactly.
These bounds define the subset of the extent that this
grid subset covers. The bounds must be given in the
same spatial reference system as the extent.
The default is the full extent of the parent grid set.
If the the layer does not make sense at high zoom levels
you can define a starting point here.
The default is 0.
If the layer does not contain features that make sense to show when
zoomed in then you can set the stop level here.
The default is the length of the resolutions / scale array, plus one.
Regular expression parameter filters
Floating point parameter filters
String parameter filters
The key for which the filter should be invoked. The key is case insensitive.
The default value. This value is used When the client does not specify
the parameter in the request. If you omit this element, the entire parameter
wil be omitted if the client does not include it in request.
The regular expression used to match against the value requested by the client.
Care should be taken to allow as few values as possible and to make the
expression as efficient as possible. See Java's regular expression documentation,
the dialect is similar to Perl's regular expressions.
The key for which the filter should be invoked. The key is NOT casesensitive.
The default value. This value is used When the client does not specify
the parameter in the request. If you omit this element, the entire parameter
wil be omitted if the client does not include it in request.
This value must be included in the list of values
A list of floating point numbers that are possible values. When a client request is
received these are scanned linearly and that best match, in terms of smallest
absolute difference, is used.
For a request to be accepted, the difference between the value and the best match
must not exceed the threshold specified here. A reasonable value is the largest
difference between two adjacent values.
The key for which the filter should be invoked. The key is NOT casesensitive.
The default value. This value is used When the client does not specify
the parameter in the request. If you omit this element, the entire parameter
wil be omitted if the client does not include it in request.
This value must be included in the list of values
A list of strings that represent possible values. These are case sensitive.
Format modifiers, used to request PNGs when compressing to JPEG,
overriding transparency, palette and setting the background for specifc formats.
Format modifiers are keyed by the format requested by the client accessing GWC
This is the format used when GWC queries the backend server
This overrides the value for transparent when GWC queries the backend server.
If the response format does not support transparency you generally want this off.
This is the bgColor used when GWC queries the backend server. It is a
0x prefixed RGB value, for example 0xDDDDDD is light grey. It only applies
if transparency is off.
This is the palette used when GWC queries the backend server.
The palette must be known on the backend server. It does not affect
the palette used when GWC persists the tiles.
This is a floating point value that describes the compression. It
has to be a postive number less than or equal to 1.0. For minimal
compression (best quality) use 1.0, smaller values yield better
file sizes. Note that as of GWC 1.1.3 this setting only applies
to the response format JPEG.
The circular extent filter is just a dummy filter for testing purposes
A filter that uses a raster to represent each tile on the grid. A black pixel represents
one that has data which GWC will return. Other values are interpreted as meaning no data.
This allows great refinement compared to the rectangular bounds. This particular implementation uses
WMS requests to retrieve filters for each zoomlevel, which are then stored in memory until
GWC is restarted.
A filter that uses a raster to represent each tile on the grid. A black pixel represents
one that has data which GWC will return. Other values are interpreted as meaning no data.
This allows great refinement compared to the rectangular bounds. This particular implementation uses
reads raster files from a directory, which are then stored in memory until GWC is restarted.
The name of the filter. This is added to the HTTP header when a filter triggers,
to make debugging the filters easier. This name should be unique.
The name of the filter. This is added to the HTTP header when a filter triggers,
to make debugging the filters easier. This name should be unique.
This is the minimum zoom level for which the filter is applied. If the request
is for a lower zoom level, and you do not enable resample below, it will
be accepted.
The maximum zoom level for which to load a raster. For higher zoom levels
the last supported level will be upsampled. The best value is a compromise
between the size of the raster (depends on the bounds) and a zoom level
that is sufficcient to approximate the shape of the actual data.
If you enable resampling and zoomStart, requests
for zoom levels < zoomStart will be upsampled and then checked against the
zoomStart raster. This is useful if, due to rounding errors, the raster
for zoom levels lowers than zoomStart do not contain all features.
all features at higher zoom levels.
Whether to load all the rasters from zoom level 0 to zoomStop upon initialization.
Setting this variable to TRUE provides visual debug output by returning a bright
green tile where normally a transparent one would be returned. This also means
KML hierarchies will link to these particular tiles.
The LAYERS value sent to the WMS backend server. This should refer to one
or more (comma separated) layers that cover all data of interest. It can
be the data itself, or a simpler metadata layer.
The STYLES value sent to the WMS backend server. This should refer to an
exaggerated style to ensure the tiles do not cut off any features.
A sample SLD is distributed with GWC in the resource (WEB-INF/class) directory.
The timeout for requesting a raster from the WMS server. The default is two
minutes, since these can be quite large.
The name of the filter. This is added to the HTTP header when a filter triggers,
to make debugging the filters easier. This name should be unique.
This is the minimum zoom level for which the filter is applied. If the request
is for a lower zoom level, and you do not enable resample below, it will
be accepted.
The maximum zoom level for which to load a raster. For higher zoom levels
the last supported level will be upsampled. The best value is a compromise
between the size of the raster (depends on the bounds) and a zoom level
that is sufficcient to approximate the shape of the actual data.
If you enable resampling and zoomStart, requests
for zoom levels < zoomStart will be upsampled and then checked against the
zoomStart raster. This is useful if, due to rounding errors, the raster
for zoom levels lowers than zoomStart do not contain all features.
all features at higher zoom levels.
Whether to load all the rasters from zoom level 0 to zoomStop upon initialization.
Setting this variable to TRUE provides visual debug output by returning a bright
green tile where normally a transparent one would be returned. This also means
KML hierarchies will link to these particular tiles.
The local storage path for the raster files used to build the filter.
This should be a local path at least readable by the user
that GWC runs as. The files should have names as follows:
[name of filter]_EPSG_[EPSG code]_[zoom level, from 0 to zoomStop].[fileExtension]
Example: testfilter_EPSG_4326_4.tiff
The extension of the raster files. Typically you would use a 1 bit TIFF,
but PNG and GIF could also be used.
The name of the filter. This is added to the HTTP header when a filter triggers,
to make debugging the filters easier. This name should be unique.
DEPRECATED
DEPRECATED
DEPRECATED
DEPRECATED
DEPRECATED
DEPRECATED
A parameterized URL to a GeoRSS GML feed. If you insert someVariable=${lastUpdate},
${lastUpdate} will be replaced with the timestamp of the last processed update
from this source.
The name of the grid set for which this feed applies. Note that the geometries
provided by the feed must be in the spatial reference system of the grid set.
How often the GeoRSS source should be polled. Omitting this value or setting it
to -1 will disable this feed.
If omitted the operation is "truncate" by default, alternatively it can be "reseed".
Note that even if you specify "seed", the affected area will first be truncated
before seeding starts, to get rid of stale data as quickly as possible.
By default all tiles in the affected area will be refreshed. You may specify a
single format (use the MIME type) so that only tiles of that type are updated,
e.g. "image/png"
This controls the number of threads to use per format while seeding,
provided the operation is seed or reseed. (Truncate is synchronous
and single threaded.) So if you write 2 threads here, and the layer
supports 3 formats, and no format is specified above, then the total
number of threads will be 3x2 = 6
In order to determine what tiles are affected the geometries from the
feed are rendered onto canvases where every pixel represents a tile.
This number determines the max zoom level for which to create such a
raster. A higher number means a higher resolution image and thus less
tiles, but requires more memory. 11 is usually a good number.
A human friendly title for the layer
A description / abstract for the layer