[Geoserver-users] Geowebcache - manual

Dear list,

I have some questions about Geowebcache. I’m running with Geoserver 2.7.0 and Geowebcache 1.7.0 and I’m using direct integration with Geoserver WMS.

First. Is there any webpage or manual about the Edit Layer’s fourth tab, Tile caching, where is some info about Tile caching and what does these parameters do? Example what is Published zoom level parameters for?

Second. How does Geoserver use tiles and how does it choose which set of tiles it is using? Does it use the Scale level which is used at gridset or where? I would like to tile my map at one certain zoom level, example 1:25000 and use those tiles also at level 1:30000, 1:5000 etc. At bigger scale levels I want to use original datasource. Is this possible?

Many thanks

Ville Jussila

The GeoServer GWC docs are here: http://docs.geoserver.org/stable/en/user/geowebcache/index.html

The published zoom levels are the zoom levels at which GWC will attempt to serve tiles. The cached zoom levels are the levels at which it will cache the tiles it serves.

The integrated mode works like this:

A request comes in to the GeoServer WMS.

GeoServer checks if the request has the “tiled” parameter set. If not it handles the request normally.

If tiled is set, GWC will attempt to handle the request as if the request had been made directly to GWC. If the request doesn’t align to the grid it will fail. If the request does align, it will check the cache, and return the tile if it exists, otherwise it will request the image from GeoServer directly and cache it.

If GWC fails to handle the request, GeoServer then tries to handle it directly (without any caching) This handles anything that wasn’t aligned to a tile grid that GWC knows about.

When using WMS-C, the zoom level and scale is computed from the request. The request includes the extent of the image and the size of it. GeoWebCache can use this to figure out a matching Grid/Zoomlevel if there is a matching one, GeoServer can use it to figure out a scale for the purposes of scale dependant styling.

Kevin Michael Smith

smithkm@anonymised.com

On Wed, Oct 7, 2015, at 10:25 PM, Jussila Ville wrote:

Dear list,

I have some questions about Geowebcache. I’m running with Geoserver 2.7.0 and Geowebcache 1.7.0 and I’m using direct integration with Geoserver WMS.

First. Is there any webpage or manual about the Edit Layer’s fourth tab, Tile caching, where is some info about Tile caching and what does these parameters do? Example what is Published zoom level parameters for?

Second. How does Geoserver use tiles and how does it choose which set of tiles it is using? Does it use the Scale level which is used at gridset or where? I would like to tile my map at one certain zoom level, example 1:25000 and use those tiles also at level 1:30000, 1:5000 etc. At bigger scale levels I want to use original datasource. Is this possible?

Many thanks

Ville Jussila



Geoserver-users mailing list

Geoserver-users@anonymised.comrceforge.net

https://lists.sourceforge.net/lists/listinfo/geoserver-users

Hi Kevin

Thanks for your reply. That helped me a lot. I’m using Geoserver with the direct integration of GWC, so I’m more interested about that at the moment.

What do you mean ”if the request does align (to the grid)…”? The request coordinate system is set to be the same as the cached layer’s coordinates system?

How does the Geoserver choose which set of the preseeded tiles it is using at different zoom levels? Is there any tolerance or does it has to be the exact scale from the gridset when it returns the tile, otherwise it cache it?

Ville Jussila

···

Lähettäjä: Kevin Smith [mailto:smithkm@…7183…]
Lähetetty: 14. lokakuuta 2015 2:36
Vastaanottaja: geoserver-users@lists.sourceforge.net
Aihe: Re: [Geoserver-users] Geowebcache - manual

The GeoServer GWC docs are here: http://docs.geoserver.org/stable/en/user/geowebcache/index.html

The published zoom levels are the zoom levels at which GWC will attempt to serve tiles. The cached zoom levels are the levels at which it will cache the tiles it serves.

The integrated mode works like this:

A request comes in to the GeoServer WMS.

GeoServer checks if the request has the “tiled” parameter set. If not it handles the request normally.

If tiled is set, GWC will attempt to handle the request as if the request had been made directly to GWC. If the request doesn’t align to the grid it will fail. If the request does align, it will check the cache, and return the tile if it exists, otherwise it will request the image from GeoServer directly and cache it.

If GWC fails to handle the request, GeoServer then tries to handle it directly (without any caching) This handles anything that wasn’t aligned to a tile grid that GWC knows about.

When using WMS-C, the zoom level and scale is computed from the request. The request includes the extent of the image and the size of it. GeoWebCache can use this to figure out a matching Grid/Zoomlevel if there is a matching one, GeoServer can use it to figure out a scale for the purposes of scale dependant styling.

Kevin Michael Smith

smithkm@…7183…

On Wed, Oct 7, 2015, at 10:25 PM, Jussila Ville wrote:

Dear list,

I have some questions about Geowebcache. I’m running with Geoserver 2.7.0 and Geowebcache 1.7.0 and I’m using direct integration with Geoserver WMS.

First. Is there any webpage or manual about the Edit Layer’s fourth tab, Tile caching, where is some info about Tile caching and what does these parameters do? Example what is Published zoom level parameters for?

Second. How does Geoserver use tiles and how does it choose which set of tiles it is using? Does it use the Scale level which is used at gridset or where? I would like to tile my map at one certain zoom level, example 1:25000 and use those tiles also at level 1:30000, 1:5000 etc. At bigger scale levels I want to use original datasource. Is this possible?

Many thanks

Ville Jussila



Geoserver-users mailing list

Geoserver-users@lists.sourceforge.net

https://lists.sourceforge.net/lists/listinfo/geoserver-users

On Thu, Oct 15, 2015, at 05:28 AM, Jussila Ville wrote:

Hi Kevin

Thanks for your reply. That helped me a lot. I’m using Geoserver with the direct integration of GWC, so I’m more interested about that at the moment.

Yes, that’s what I was describing.

What do you mean ”if the request does align (to the grid)…”? The request coordinate system is set to be the same as the cached layer’s coordinates system?

The tiles form a specific grid within that coordinate system. The cache only works when the request bounding box and pixel dimensions match the bounds and size of a specific cell in the grid. If the grid starts at 0,0, and chops 100x100 unit squares in map coordinate that are 256x256 px then a box from 300,400 to 400,500 that’s 256x256 px aligns with the grid. One from 350,450 to 450,550 that’s 256x256px does not, neither does one that’s 512x512px, neither does one that’s 100 map units tall but 200 wide.

How does the Geoserver choose which set of the preseeded tiles it is using at different zoom levels? Is there any tolerance or does it has to be the exact scale from the gridset when it returns the tile, otherwise it cache it?

GeoServer doesn’t know anything about the tiles in its embeded GeoWebCache. It just asks GWC if it can handle the request and if so, lets it.

GWC has some wiggle room for WMS-C requests. WMTS and TMS use exact integer indices in the grid rather than bounding boxes in map coordinates which eliminates the need for this. It’s not just a matter of scale but also of the dimensions and alignment of the request.

You may be after a feature called FullWMS which allows GWC (whether embedded within GeoServer or not) to respond to arbitrary requests as long as the CRS matches rather than requiring exact matches to the tiles.

FullWMS is described here: http://docs.geoserver.org/latest/en/user/geowebcache/using.html#geowebcache-endpoint-url

Kevin Michael Smith

smithkm@anonymised.com183…

Hi,

Thanks for help Kevin.

Do I get cached tiles if I add following string at my request “?tiled=true&width=256&height=256”? I have generated gridset at EPSG:3879 which is Coordinate System I’m using as well. Somehow this thing seems a little bit confusing to me.

I’ll try that FullWMS. I understood that it is usable with direct integration as well despite what it says on the website? This article gives an hint that it works with direct integration as well http://www.geo-solutions.it/blog/developers-corner-improved-geowebcache-wms-quality/

Ville Jussila

···

Lähettäjä: Kevin Smith [mailto:smithkm@…7183…]
Lähetetty: 16. lokakuuta 2015 0:06
Vastaanottaja: Jussila Ville; geoserver-users@lists.sourceforge.net
Aihe: Re: [Geoserver-users] Geowebcache - manual

On Thu, Oct 15, 2015, at 05:28 AM, Jussila Ville wrote:

Hi Kevin

Thanks for your reply. That helped me a lot. I’m using Geoserver with the direct integration of GWC, so I’m more interested about that at the moment.

Yes, that’s what I was describing.

What do you mean ”if the request does align (to the grid)…”? The request coordinate system is set to be the same as the cached layer’s coordinates system?

The tiles form a specific grid within that coordinate system. The cache only works when the request bounding box and pixel dimensions match the bounds and size of a specific cell in the grid. If the grid starts at 0,0, and chops 100x100 unit squares in map coordinate that are 256x256 px then a box from 300,400 to 400,500 that’s 256x256 px aligns with the grid. One from 350,450 to 450,550 that’s 256x256px does not, neither does one that’s 512x512px, neither does one that’s 100 map units tall but 200 wide.

How does the Geoserver choose which set of the preseeded tiles it is using at different zoom levels? Is there any tolerance or does it has to be the exact scale from the gridset when it returns the tile, otherwise it cache it?

GeoServer doesn’t know anything about the tiles in its embeded GeoWebCache. It just asks GWC if it can handle the request and if so, lets it.

GWC has some wiggle room for WMS-C requests. WMTS and TMS use exact integer indices in the grid rather than bounding boxes in map coordinates which eliminates the need for this. It’s not just a matter of scale but also of the dimensions and alignment of the request.

You may be after a feature called FullWMS which allows GWC (whether embedded within GeoServer or not) to respond to arbitrary requests as long as the CRS matches rather than requiring exact matches to the tiles.

FullWMS is described here: http://docs.geoserver.org/latest/en/user/geowebcache/using.html#geowebcache-endpoint-url

Kevin Michael Smith

smithkm@…7183…