[OpenLayers-Users] Filtering a WFS Layer
Andrew Haigh
haighaj+ollist at googlemail.com
Mon Mar 15 06:11:15 EDT 2010
Ivan,
Thanks for the input I'll investigate that approach
Andrew
On 12 March 2010 23:26, Ivan Grcic <igrcic at gmail.com> wrote:
> Hi,
>
> OpenLayers.Filter.FeatureId should recieve object with fids property, like
> this:
>
> new OpenLayers.Filter.FeatureId({
> fids: [feature.fid]
> })
>
> On Fri, Mar 12, 2010 at 11:23 AM, Andrew Haigh
> <haighaj+ollist at googlemail.com <haighaj%2Bollist at googlemail.com>> wrote:
> > I'm attempting to work out how to apply a filter to a WFS layer (from
> > GeoServer 2.0.1), I've looked at the examples / documentation / forums
> and
> > there seems to be a lot of discussion about doing this but I can't seem
> to
> > find a definative solution.
> >
> > I've seen this thread
> > http://n2.nabble.com/WFS-GetFeature-Filter-td4026139.html which seems to
> > indicate I need to download the latest build, so I'm using the nightly
> build
> > from the OpenLayers site which reports a version number of 'Revision
> 10086'.
> >
> > This is my code:
> >
> > wfsLayer = new OpenLayers.Layer.Vector( "WFS", {
> > strategies: [new OpenLayers.Strategy.BBOX()],
> > projection: new OpenLayers.Projection("EPSG:27700"),
> > maxExtent: new OpenLayers.Bounds(0, 0, 13000000, 13000000),
> > styleMap: mstylemap,
> > protocol: new OpenLayers.Protocol.WFS({
> > url: "/MyApp/Proxy.ashx",
> > version: "1.1.0",
> > srsName: "EPSG:27700",
> > featurePrefix: "ora_store",
> > featureType: "BOUNDARY",
> > geometryName: "GEOM",
> > featureID: "OBJECTID",
> > defaultFilter: new
> > OpenLayers.Filter.FeatureId(["BOUNDARY.1102283472"]) // should this be
> > 1102283472 ?
> > })
> > });
> >
> > The FireFox error console reports: Error: uncaught exception: Filter
> writing
> > not supported for rule type: undefined
> >
> > If I comment out the filter then the WFS layer works fine.
> >
> > So it appears that I've done something wrong in configuring my filter but
> I
> > can't seem to work out what.
> >
> > Do I need to set the filter elsewhere?
> >
> You can aslo apply filter to filter property on layer, you dont have
> to do it on defaultFilter on protocol. If both filters are supplied
> they get combined I think...
>
> > Also when using the FeatureId filter I assume I should use the ID as
> > returned in GML (BOUNDARY.1102283472) and not as stored in the database
> > (1102283472) - is that correct? I've tested both ways and get the same
> > error.
> >
> Yesm ID is same as Geoserver supplies it
>
> > Thanks in advance
> >
> > Andrew
>
> Cheers,
> >
>
> --
> Ivan
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/openlayers-users/attachments/20100315/0d07ddf1/attachment.html
More information about the Users
mailing list