[Geoserver-users] WMTS and metatiling/labelling

Hi,

I’ve been experimenting with switching from WMS (tiled=true) to WMTS and I was surprised to find out that WMTS uses metatiling just like WMS. I’m ultimately trying to eliminate metatiling for performance reasons (locking seems to be my bottleneck, I’m okay hitting my postgis database more, I’d prefer lower per-tile latency than average latency across multiple tiles).

However, it seems like my WMTS requests are plagued by the classic labelling issues that WMS is affected by, unless metatiling is enabled. Philosophically, I understand why WMS is affected by the labelling issue but I guess I’m surprised that WMTS would also be affected by this since the concept of tiling is built-in to the protocol.

With a single WMTS request, couldn’t the backend understand that a single tile is just a small subset of a larger grid of tiles (knowledge that is missing from the WMS protocol), and therefore it can label accordingly, without metatiling? In essence, couldn’t it consider the entire tile matrix as a “metatile” for styling purposes? Is this a deficiency with the current implementation or am I missing something?

Thanks,
Mitchell

···


Mitchell Bösecke
Partner and Senior Software Developer
Forcorp Solutions Inc.

(d) 780.733.0494
(c) 780.993.4746
(o) 780.452.5878

Hi,

Preseed your cache and you can pay the price of metatiling in advance and only once. Then WMTS can serve you from the cache fast and with well-cut labels.

-Jukka Rahkonen-

···

Lähettäjä: Mitchell Bösecke <mitchell.bosecke@…2628…>
Lähetetty: maanantai 15. toukokuuta 2023 20.28
Vastaanottaja: geoserver-users@lists.sourceforge.net
Aihe: [Geoserver-users] WMTS and metatiling/labelling

Hi,

I’ve been experimenting with switching from WMS (tiled=true) to WMTS and I was surprised to find out that WMTS uses metatiling just like WMS. I’m ultimately trying to eliminate metatiling for performance reasons (locking seems to be my bottleneck, I’m okay hitting my postgis database more, I’d prefer lower per-tile latency than average latency across multiple tiles).

However, it seems like my WMTS requests are plagued by the classic labelling issues that WMS is affected by, unless metatiling is enabled. Philosophically, I understand why WMS is affected by the labelling issue but I guess I’m surprised that WMTS would also be affected by this since the concept of tiling is built-in to the protocol.

With a single WMTS request, couldn’t the backend understand that a single tile is just a small subset of a larger grid of tiles (knowledge that is missing from the WMS protocol), and therefore it can label accordingly, without metatiling? In essence, couldn’t it consider the entire tile matrix as a “metatile” for styling purposes? Is this a deficiency with the current implementation or am I missing something?

Thanks,
Mitchell


Mitchell Bösecke
Partner and Senior Software Developer
Forcorp Solutions Inc.

(d) 780.733.0494
(c) 780.993.4746
(o) 780.452.5878

WMTS is just a small WMS request so that offers no improvement for you in label calculation, though because the tiles are fixed they are only produced once. What can improve the situation is to fix the position of your labels rather than having GeoServer handle placing them in an optimal way. Combining a fixed position with the partials vendor option should allow you to create the tiles with out the need for metatiling, though you may end up with a few cut symbols with out it.

Ian

···

Ian Turton