3

GeoServer WMS meta-tile is often recommended to be used to overcome problems such as:

  • point symbols close to tile edges are cut
  • labels are duplicated

I just need some clarification here: WMS meta-tile does not completely guarantee that such problems gone. WMS meta-tile only reduces them. Hence, in term of point symbols, symbols close to tile edges are still cutted but the occurrence of this is much reduced.

Is it right?

6

You are right that metatiles alone do not prevent cutting the symbols. In the picture below with 3x3 metatiles the inner star symbol will not be cut but the outer will because it is on the border of the metatile.

With symbols you can get a perfect result by using "gutter" parameter with a value that is bigger than half of the size of the biggest symbol. Read the usage from http://docs.geoserver.org/2.8.x/en/user/webadmin/tilecache/defaults.html

The gutter size sets the amount of extra space (in pixels) used when generating a tile. Use this in conjunction with metatiles to reduce problems with labels and features not being rendered incorrectly due to being on a tile boundary.

Labels are harder to handle because they might require very big gutter value and then double labels may appear because of automatic placement of labels.

enter image description here

4
  • All right thanks for the clarification. Your illustration really nailed it. Now, the use case of my points map does not allow for tile caching as the points would be dynamically changed (with insert-update-delete) anytime, by lots of users. Now I'm curious: (1) Is there gutter parameter in WMS? (2) If there's no gutter parameter in WMS, then what are the remaining options to prevent symbol cut? – Rino Jun 15 '16 at 7:34
  • 2
    Standard WMS does not have a gutter parameter, GeoServer has a similar vendor parameter called "buffer" instead: docs.geoserver.org/latest/en/user/services/wms/… – Andrea Aime Jun 15 '16 at 8:26
  • If you work with browser application, OpenLayers or Leaflet, the most obvious solution for dynamic data is to put them to do single tile requests. See dev.openlayers.org/examples/single-tile.html and github.com/heigeo/leaflet.wms. – user30184 Jun 15 '16 at 10:14
  • It is a good solution. But you can lost a lot of productivity. 100% If your layer has big excent and difficult style. – Tyomik_mnemonic Oct 31 '19 at 10:57
3

Note: this "answer" is partially

(A) am going to share the result/answer as pointed by comments of my question,

(B) i need to show image not possible in comment, and

(C) maintain the flow of: question --> comment of question --> showing result.

@Andrea Aime, I tried the "buffer" parameter in WMS. It worked! Unfortunately I can not found examples/docs on how to use this "buffer" in WMS. The doc in http://docs.geoserver.org/latest/en/user/services/wms/vendor.html#buffer does not tell much about this. So I was just guessing, I placed "buffer" in the 3rd argument of a WMS definition in OpenLayers 2 (along with layer name, format, and style).

I tried 5 different scenarios of WMS tile, as illustrated below.

enter image description here It seems that meta-tiled WMS alone (B) does not completely remove the "point symbol cut" artifact as stated by @user30184.

In my observation the WMS "buffer" parameter is enough in removing the artifact, either with "meta-tile" (C) or without "meta-tile" (D).

Single tile (E) not surprisingly does not have such artifact, also as prescribed by @user30184.

Based on this observation, with the aim of completely removing "symbol cut" artifact, i have 2 option : using buffer or using single tile. I am happy that i am not cornered with only single tile as my option.

1
  • Now: (1) I need another clarification: does WMS "buffer" parameter completely overcome "symbol cut" artifact? I only fear if my observation was not thorough enough. (2) Can anyone confirm that WMS "buffer" parameter does not need "meta-tile" ? (3) If WMS "buffer" parameter can live without "meta-tile", which one is recommended: with or without ? – Rino Jun 16 '16 at 7:30

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.