[Geoserver-users] VendorOptions Priority and GoodnessOfFit in group layers.

Hi list!

I was wondering how do Priority and GoodnessOfFit vendor options in
TextSymbolizers work, when layers are in a group.
As soon as all the TextSymbolizers (labels) are rendered on top of all
other layers, I guess the Priority is taken from each symbolizer of
all layers and then compared. Is that true?
Or priorities are only compared between rules of each one layer?

I'm asking, because I can't get a label show up in a layer group, even
when I set GoodnessOf Fit to zero and Priority to the highest number.
When a layer is rendered separately, priorities seem to work.

On Wed, Aug 10, 2011 at 4:05 PM, Gis Mage <gismage@anonymised.com> wrote:

Hi list!

I was wondering how do Priority and GoodnessOfFit vendor options in
TextSymbolizers work, when layers are in a group.
As soon as all the TextSymbolizers (labels) are rendered on top of all
other layers, I guess the Priority is taken from each symbolizer of
all layers and then compared. Is that true?
Or priorities are only compared between rules of each one layer?

I'm asking, because I can't get a label show up in a layer group, even
when I set GoodnessOf Fit to zero and Priority to the highest number.
When a layer is rendered separately, priorities seem to work.

I don't remember by heart, would have to look into the code, but as far
as I know things are working like this:
- all labels in all the layers are collected in a single big heap
- the heap is sorted by priority
- labels are painted from the higher priority to the lowest
- the default priority if you don't specify one in the labels is 1000

Maybe the last fact is the deal breaker?
Otherwise you might be working with a tiled map, if a label crosses
the tile (or meta-tile) borders it will never be painted, there is
nothing we can do about it (well, we could add a flag to paint
labels even if they cross, but there is no guarantee the other half
of the label will be painted, other labels with higher priority
could occupy that area before that one)

Cheers
Andrea

--
-------------------------------------------------------
Ing. Andrea Aime
GeoSolutions S.A.S.
Tech lead

Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy

phone: +39 0584 962313
fax: +39 0584 962313

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.youtube.com/user/GeoSolutionsIT
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf

-------------------------------------------------------