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&amp;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