[OpenLayers-Users] SLD_BODY with 'like' filter

Andreas Hocevar ahocevar at opengeo.org
Thu Oct 29 09:23:30 EDT 2009


Hi,

you could do something like the following:

var filter = new OpenLayers.Filter.Comparison({
    type: OpenLayers.Filter.Comparison.LIKE,
    property: "my_field",
    value: "*my?ext*" // * string wildcard, ? char wildcard
});

var rule = new OpenLayers.Rule({
    filter: filter
});

rule.symbolizer["Point" /* or "Line" or "Polygon" */] = {
    strokeColor: "#FF0000",
    fillColor: "#00FF00",
    /* other symbolizer properties here */
};

var style = new OpenLayers.Style("", {rules: [rule]});

var sld_body = new OpenLayers.Format.SLD().write({
    namedLayers: [{
        name: "your_layer_name",
        userStyles: [style]
    }]
});

Regards,
Andreas.

stash wrote:
> Hi,
>
> I'm a beginner with OpenLayers and I hope you can help me.
>
> I have integrated a sld_body in my openlayers wms to get only the data I
> want by filtering.
>
> My filter is a PropertyIsEqual filter. This is working fine so far. Now I
> read at the OpenLayers Class Documentation something about a 'like' Filter.
> Something like that would be great for me. 
>
> But now, I don't have any idea how to implement this in my script. Can I do
> this with sld_body too?
> What is the syntax?
>
> An example would be great. 
>
> Thanks for your help
>
> Best regards
> stash
>   


-- 
Andreas Hocevar
OpenGeo - http://opengeo.org/
Expert service straight from the developers.




More information about the Users mailing list