What is the correct way of understanding SLD rules and filters?

37 Views Asked by At

I am working on a JavaFX renderer for shape map files, and I am trying to nail down a few details of how SLD styling is applied to features.

I have an SLD feature type style for a feature type T as follows (abstracting from all the XML):

Rule 1
    Filter 1
    Symbolizer 1
Rule 2
    Filter 2
    Symbolizer 2
Else Rule
    Symbolizer 3

There are two ways that this style can be understood in terms of how features are rendered and styled.

Way 1:

for each feature f that is of type T
    for each rule R_i
        if f satisfies Filter_i
            apply Symbolizer_i to f
            break the **inner** loop on rules

    //  get here if no rule applied
    apply PointSymbolizer_3 to f

Way 2:

for each rule R_i
    L = the set of features of type T that satisfy Filter_i
    for each feature f in L
        apply Symbolizer_i to f

for each feature f that was not in any L
    apply Symbolizer_3 to f

Which of these is the correct interpretation? (or maybe neither are).

Is there a specification/definition somewhere that defines what the correct interpretation/semantics of such styles is?

thx g

0

There are 0 best solutions below