Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[udig-devel] Strange SLD behavior

I'm trying to something pretty basic, shading polygons based on attribute values using a rule/filter. The relevant part is:

               <sld:Rule>
                   <sld:Name>name</sld:Name>
                   <sld:Title>title</sld:Title>
                   <sld:Abstract>Abstract</sld:Abstract>
                   <ogc:Filter>
                       <ogc:PropertyIsEqualTo>
                           <ogc:PropertyName>PO_NAME</ogc:PropertyName>
                           <ogc:Literal>San Jose</ogc:Literal>
                       </ogc:PropertyIsEqualTo>
                   </ogc:Filter>
                   <sld:PolygonSymbolizer>
                       <sld:Fill>
                           <sld:CssParameter name="fill">
                               <ogc:Literal>#FF4D4D</ogc:Literal>
                           </sld:CssParameter>
                           <sld:CssParameter name="fill-opacity">
                               <ogc:Literal>0.7</ogc:Literal>
                           </sld:CssParameter>
                       </sld:Fill>
                   </sld:PolygonSymbolizer>
               </sld:Rule>

When I apply this to a shapefile layer in uDig, the fill works as expected.

When I apply this to a DB2 layer in uDig based on a shapefile that was imported, the rule does not get applied. After some investigation, I determined that although the names are stored in VARCHAR columns, they are padded with blanks on the right. I guess it isn't too surprising that the rule doesn't get applied - is there some way to not treat trailing blanks as significant?

The strange thing is that if I enclose the <sld:PropertyIsEqualTo> with <sld:Not>, all features except "San Jose" are shaded so in this case it appears to be ignoring trailing blanks.

When specifying the filter in a GeoServer WFS request, it also appears to ignore trailing blanks.



Back to the top