[OpenLayers-Users] filter for WMS layer like Vector layer?
Charles Galpin
cgalpin at lhsw.com
Thu Jul 21 14:56:25 EDT 2011
Thanks Ivan, that's just what I was looking for! Works perfectly, as well as with mergeNewParams to have changes take effect dynamically.
charles
On Jul 21, 2011, at 12:37 PM, Ivan Grcic wrote:
> Hi Charles,
>
> although wms specs doesnt have filter included, geoserver does support
> filtering:
> http://docs.geoserver.org/latest/en/user/services/wms/vendor.html#filter
>
> You just have to write out the filter object, like in this example:
> http://openlayers.org/dev/examples/filter.html
> ...
> var filter_1_1 = new OpenLayers.Format.Filter({version: "1.1.0"});
> var xml = new OpenLayers.Format.XML();
> ...
>
> var allStreets = new OpenLayers.Layer.WMS(
> "All streets", "/geoserver/wms",
> {
> ...
> filter : xml.write(filter_1_0.write(filter)),
> ...
> ...
>
> Hope it helps,
>
> Regards,
> Ivan
>
>
>
> On Thu, Jul 21, 2011 at 5:49 PM, Charles Galpin <cgalpin at lhsw.com> wrote:
>> I would like to filter a WMS layer served by geoserver but I can't seem to get the filter to work.
>>
>> For a vector layer I can use the following just fine:
>> var layer = new OpenLayers.Layer.Vector("vector layer", {
>> ...
>> filter: new OpenLayers.Filter.Comparison({
>> type: OpenLayers.Filter.Comparison.EQUAL_TO,
>> property: "prop",
>> value: "value"
>> })
>> });
>> I have tried using this same filter in the params and options blocks of a WMS layer. It appears to be ignored in the options, but is not converted to a filter in cql or something in the wms request and shows up as [object Object]
>> var allStreets = new OpenLayers.Layer.WMS(
>> "All streets", "/geoserver/wms",
>> {
>> filter:
>> },
>> {
>> ..
>> }
>> );
>> thanks,
>> charles
>>
>> _______________________________________________
>> Users mailing list
>> Users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/openlayers-users
>>
>
>
>
> --
> -------------------------------------------------------
> Ivan Grcic
> GeoSolutions S.A.S.
> Software Engineer
>
>
> 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://twitter.com/geosolutions_it
> http://www.youtube.com/user/GeoSolutionsIT
>
> -------------------------------------------------------
More information about the Users
mailing list