Hi, I found this example from archives http://www.mail-archive.com/[email protected]/msg10755.html It has worked with two featuretypes and two filters on Mapserver.
-Jukka- Arjen de Korte wrote: > > Thanks for your time and suggestions! > > - I'll have a good look at the filter again. > - I understand this. Even if I would want to, it doesn't work with Mapserver, > which is what brought me here. (Since we have the server under control > also, the complications you mention would be less of an issue, but in > principle > I agree!) > - How do I correctly specify a list of filters? (This is my original > question.) If I get this to work, the problem is solved. I'm not in the > position > to change/upgrade my client's Mapserver. > - I agree this is better/simpler in a lot of regards, but this will be for > the long > term. I will however make the WFS requests using POST as I already have > problems with urls that become too long. > > Kind regards, > Arjen. > > > On Wed, Jan 23, 2013, at 12:03, Rahkonen Jukka wrote: > > Hi, > > > > Some thoughts: > > > > - I am not a specialist with filters, but are you sure that your > > filter is correct? I have some examples about filters in page > > http://latuviitta.org/Http-POST-ja-Filter.php but they are generated > > by a ready made application (Kosmo GIS). > > - One filter for many layers is not the way to go. For example, it can > > only work if all the feature types are using same name for the > > geometry field, and filtering with attributes would also require > > similar attribute schemas. You may get it to work with your own server > > but your application won't most probably work against any other WFS > server. > > - Correct way is to use a list of filters. If your old Mapserver does > > not support it correctly, update of change to some other server that > > supports. > > - Continue to consider doing one request per one feature type, for > > many reasons. It will be a hell to find out what goes wrong with > > multi-featuretype and multi-filter requests and if one thing fails > > then nothing works. I am sure that all WFS servers are poorly tested > > with featuretype lists and lists of filters, especially if you are > > going to use http GET. Filters suit much better for http POST and > > that is better tested option too. > > > > Feel free to test with my TinyOWS at > > http://hip.latuviitta.org/cgi-bin/tinyows? It would be nice to see > > what goes to my access and error logs. > > > > -Jukka Rahkonen- > > > > > > > -----Alkuperäinen viesti----- > > > Lähettäjä: Arjen de Korte [mailto:[email protected]] > > > Lähetetty: 23. tammikuuta 2013 12:09 > > > Vastaanottaja: Rahkonen Jukka; Lime, Steve D (DNR); mapserver- > > > [email protected] > > > Aihe: Re: [mapserver-users] WFS GetFeature with filter for multiple > > > layers > > > > > > Hi Jukka, > > > > > > Thanks for the suggestion. I am already taking that into > > > consideration (and probably should have mentioned it). The problem > > > is that it would be quite some work to get it into the existing > > > application that way. For simplicity I gave an example with two > > > layers, but there can actually be many more, depending on the map > > > that is displayed. I would definitely like to keep it simple, but in > > > this case one GetFeature request would definitely be a simpler solution! > Any other suggestions welcome! > > > > > > Thanks! > > > > > > Kind regards, > > > Arjen. > > > > > > > > > On Wed, Jan 23, 2013, at 10:39, Rahkonen Jukka wrote: > > > > Hi, > > > > > > > > Keep it simple and make two separate GetFeatures, one for each > > > > feature type. > > > > > > > > -Jukka Rahkonen- > > > > > > > > Arjen de Korte wrote: > > > > > > > > > > > > > Hi Steve, > > > > > > > > > > Yes, for now I (my client) is stuck to this version, so a > > > > > workaround (or accepting that it can't be done) is the only > > > > > option at the moment. Has this been solved in newer versions? > > > > > > > > > > Kind regards, > > > > > Arjen. > > > > > > > > > > > > > > > On Tue, Jan 22, 2013, at 20:15, Lime, Steve D (DNR) wrote: > > > > > > Are you stuck running such an old version? > > > > > > > > > > > > -----Original Message----- > > > > > > From: [email protected] > > > > > > [mailto:[email protected]] On Behalf Of > > > > > > Arjen de Korte > > > > > > Sent: Tuesday, January 22, 2013 10:45 AM > > > > > > To: [email protected] > > > > > > Subject: [mapserver-users] WFS GetFeature with filter for > > > > > > multiple layers > > > > > > > > > > > > Hi all, > > > > > > > > > > > > I'm having a problem with Mapserver 5.2.1 and WFS GetFeature > > > requests: > > > > > > when I do a GetFeature request with an OGC filter for more > > > > > > than one layer, I only get results for the first layer. I > > > > > > found a description of the issue here: > > > https://github.com/mapserver/mapserver/issues/3584. > > > > > > It says the issue can be worked around by listing a separate > > > > > > filter for each layer, but I can't work out a way to do this. > > > > > > > > > > > > My original request looks like this: > > > > > > > > > > > > http://myserver.com/cgi- > > > > > bin/mapserv.exe?map=mymapfile.map&Service=WFS& > > > > > > > > > > > > > > > Request=GetFeature&TypeName=layer1,layer2&Version=1.0.0&Filter=<ogc: > > > > > Fi > > > > > > lter > > > > > > > > > > > > > > > xmlns:ogc="http://www.opengis.net/ogc"><ogc:Intersects><ogc:Property > > > > > N > > > > > a > > > > > > me/><gml:Polygon > > > > > > > > > > > > > > > xmlns:gml="http://www.opengis.net/gml"><gml:outerBoundaryIs><gml:Lin > > > > > ea > > > > > > rRing><gml:coordinates decimal="." cs="," ts=" > > > > > > ">89760.045356755,436071.75388938 > > > > > > 89762.029730683,436071.75388938 89762.029730683,436073.7382633 > > > > > > 89760.045356755,436073.7382633 > > > > > > > > > > > > > > > 89760.045356755,436071.75388938</gml:coordinates></gml:LinearRing></ > > > > > g > > > > > m > > > > > > l:outerBoundaryIs></gml:Polygon></ogc:Intersects></ogc:Filter> > > > > > > > > > > > > ...returning only results for layer1. > > > > > > > > > > > > I've tried repeating the exact same filter like: > > > > > > > > > > > > http://myserver.com/cgi- > > > > > bin/mapserv.exe?map=mymapfile.map&Service=WFS& > > > > > > Request=GetFeature&TypeName=layer1, > > > > > > layer2&Version=1.0.0&Filter=<ogc:Filter > > > > > > xmlns:ogc="http://www.opengis.net/ogc"><ogc:Intersects> ... > > > > > > </ogc:Intersects><ogc:Intersects> ... > > > > > > </ogc:Intersects></ogc:Filter> > > > > > > > > > > > > and > > > > > > > > > > > > http://myserver.com/cgi- > > > > > bin/mapserv.exe?map=mymapfile.map&Service=WFS& > > > > > > Request=GetFeature&TypeName=layer1, > > > > > > layer2&Version=1.0.0&Filter=<ogc:Filter > > > > > > xmlns:ogc="http://www.opengis.net/ogc"><ogc:Intersects> ... > > > > > > </ogc:Intersects></ogc:Filter>,<ogc:Filter><ogc:Intersects> ... > > > > > > </ogc:Intersects></ogc:Filter> > > > > > > > > > > > > ...but the first returns the same: only results for layer1, > > > > > > and the second returns an error. > > > > > > > > > > > > What is the correct way to list multiple filters, or is there > > > > > > another solution to work around this limitation? > > > > > > > > > > > > Thanks! > > > > > > > > > > > > Kind regards, > > > > > > Arjen. > > > > > > _______________________________________________ > > > > > > mapserver-users mailing list > > > > > > [email protected] > > > > > > http://lists.osgeo.org/mailman/listinfo/mapserver-users > > > > > > > > > > > > > > > > > _______________________________________________ > > > > > mapserver-users mailing list > > > > > [email protected] > > > > > http://lists.osgeo.org/mailman/listinfo/mapserver-users _______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
