Hi, I created a WFS service from a scratch by using shapefile as a data source. I made a similar query as you did, GET with FILTER having four different numbers in PropertyIsEqualTo sections and OR condition. Mapserver version 5.2.1 gives me a correct result both with WFS 1.0.0 and 1.1.0.
Now we know that Mapserver can do it but we do not know yet why it does not do it for you. I would suggest you to repeat my test by converting some part of your Oracle data into shapefile and making a new feature type out of that. Test if your four-GID filter works all right against shapefile. If yes, then it might be something Oracle specific. Copy-pasting your request makes me think that there may be an extra white space here: "<PropertyName>> GID</PropertyName><Literal>160<" Check it first. -Jukka Rahkonen- David Alda Fernandez de Lezea wrote: > Hi again, > > If I use GET Method and FILTER parameter in URL something like: > > http://192.168.1.65/cgi-bin/mapserv.exe?map=../htdocs/MFD/ejem plo_wfs.map&SERVICE=WFS&VERSION=1.1.0> &REQUEST=GetFeature&TYPENAME=PoligonosSigpac&MAXFEATURES=1000& FILTER=<Filter><Or><PropertyIsEqualTo><PropertyName>> GID</PropertyName><Literal>16</Literal></PropertyIsEqualTo><Pr > opertyIsEqualTo><PropertyName>GID</PropertyName><Literal>29</L iteral></PropertyIsEqualTo><PropertyIsEqualTo><PropertyName>> GID</PropertyName><Literal>160</Literal></PropertyIsEqualTo><P > ropertyIsEqualTo><PropertyName>GID</PropertyName><Literal>529< /Literal></PropertyIsEqualTo></Or></Filter> > > I get again the first two features OK but the following ones > are repeated, they are equal to the GID=29. Is this a kind of > bug or something like that? I don't understand it. Maybe is > something wrong with my layer: > > LAYER > NAME "PoligonosSigpac" > PROJECTION > "init=epsg:23030" > END > METADATA > "wfs_title" "Poligonos Sigpac 2009" ## REQUIRED > "wfs_abstract" "Poligonos" > "wfs_name" "PoligonosSigpac" > "wfs_geometry_element_name" "MS_GEOMETRY" > "wfs_srs" "EPSG:23030" ## Recommended > "wfs_extent" "463498.785171405 > 4702415.34945634 603167.123773832 4811812.82264918" > "gml_featureid" "gid" ## REQUIRED > "gml_exclude_items" "all" > END > TYPE POLYGON > > CONNECTIONTYPE oraclespatial > CONNECTION "admcarto/admca...@ora10gex" > > DATA "GEOMETRY FROM (SELECT * FROM GX_SIGPAC_POLIGONOS) > USING UNIQUE gid SRID 82337" #todo el sigpac > > DUMP TRUE ## REQUIRED > > CLASS > NAME "Poligonos" > STYLE > OUTLINECOLOR 255 255 255 > END > TEMPLATE "ttt_query.html" > END > > > STATUS ON > END # Layer > > > Or Maybe at mapfile level: > > NAME "wfs_server" > STATUS ON > > EXTENT 460000 4710000 610000 4820000 > > PROJECTION > "init=epsg:23030" > END > > SHAPEPATH "shapes/" > FONTSET "misc/fonts/fonts.txt" > SYMBOLSET "misc/symbols/symbols.sym" > > IMAGETYPE "image/png; mode=24bit" > IMAGECOLOR 255 255 255 > UNITS METERS > > DEBUG ON > CONFIG "MS_ERRORFILE" > "C:/ms4w/Apache/htdocs/MFD/tmp/ms_wfs.log" > DEBUG 5 > > WEB > IMAGEPATH "MFD/tmp/" > IMAGEURL "tmp/" > METADATA > "wfs_title" "IKT WFS Server" ## REQUIRED > "wfs_abstract" "Servicio de > mapas WFS de IKT Nekazal Teknologia. Powered by Apache and > UMN MapServer" ## REQUIRED > "wfs_onlineresource" > "http://192.168.1.65/cgi-bin/mapserv.exe?map=../htdocs/MFD/eje mplo_wfs.map&" ## Recommended > "wfs_srs" "EPSG:23030" ## Recommended > "wfs_keywordlist" > "IKT,Euskadi,Mapas Euskadi" > "wfs_fees" "none" > "wfs_accessconstraints" > "Ninguna" > "ows_contactorganization" > "http://www.ikt.es" > "wfs_geometry_element_name" > "MS_GEOMETRY" > END > END > > Please, any idea is appreciated. Hope someone can help. I > can't believe MapServer can't do this, it's impossible. > > Thanks. > > -----Mensaje original----- > De: [email protected] > [mailto:[email protected]] En nombre de > David Alda Fernandez de Lezea > Enviado el: lunes, 12 de abril de 2010 13:20 > Para: [email protected] > Asunto: RE: [mapserver-users] Strange Behaviour with > getFeature using POSTmethod and more than one typename > > > Assefa, > > Thanks for your response. I had that configured in the waye > you told me this is what I get: > > [Fri Apr 09 11:24:45 2010].725000 CGI Request 1 on process > 1948 [Fri Apr 09 11:24:46 2010].37000 mapserv request > processing time (msLoadMap not incl.): 0.312s [Fri Apr 09 > 11:24:46 2010].37000 msFreeMap(): freeing map at 015D60B8. > > > You should be able to check then the query sent to the > oracle db and that might give your more hints. > > Where I can view the query sent to Oracle?? > > Thanks. > > -----Mensaje original----- > De: Yewondwossen Assefa [mailto:[email protected]] > Enviado el: viernes, 09 de abril de 2010 14:19 > Para: David Alda Fernandez de Lezea > CC: [email protected] > Asunto: Re: [mapserver-users] Strange Behaviour with > getFeature using POST method and more than one typename > > David, > > You could possibly get more hints if you put you map in > debug mode and see the logs. You can add something like this > in your map: > > CONFIG "MS_ERRORFILE" "f:/tmp/ms_error.log" > DEBUG 5 > > You should be able to check then the query sent to the oracle > db and that might give your more hints. > > regards, > > David Alda Fernandez de Lezea wrote: > > Hi list, > > > > I'm having a strange behaviour when receiving data from > getFeature request. I prepare a request that is intended to > mark some parcels from two different layers (these layers are > stored in Oracle Spatial). The request looks like: > > > > <?xml version="1.0" ?> > > <wfs:GetFeature service="WFS" version="1.1.0" > outputFormat="text/xml; > > subtype=gml/3.1.1" xmlns:wfs="http://www.opengis.net/wfs" > > xmlns:ogc="http://www.opengis.net/ogc" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > xsi:schemaLocation="http://www.opengis.net/wfs > ../wfs/1.1.0/WFS.xsd"> > > <wfs:Query typeName="RecintosSigpac"> <ogc:Filter> <ogc:Or> > <ogc:And> > > > <PropertyIsEqualTo><PropertyName>PROVINCIA</PropertyName><Literal>1</L > > iteral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>MUNICIPIO</PropertyName><Literal>1</L > > iteral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>POLIGONO</PropertyName><Literal>1</Li > > teral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>PARCELA</PropertyName><Literal>1</Lit > > eral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>RECINTO</PropertyName><Literal>1</Lit > > eral></PropertyIsEqualTo> > > </ogc:And> > > <ogc:And> > > > <PropertyIsEqualTo><PropertyName>PROVINCIA</PropertyName><Literal>1</L > > iteral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>MUNICIPIO</PropertyName><Literal>1</L > > iteral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>POLIGONO</PropertyName><Literal>1</Li > > teral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>PARCELA</PropertyName><Literal>20</Li > > teral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>RECINTO</PropertyName><Literal>1</Lit > > eral></PropertyIsEqualTo> > > </ogc:And> > > <ogc:And> > > > <PropertyIsEqualTo><PropertyName>PROVINCIA</PropertyName><Literal>1</L > > iteral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>MUNICIPIO</PropertyName><Literal>1</L > > iteral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>POLIGONO</PropertyName><Literal>1</Li > > teral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>PARCELA</PropertyName><Literal>24</Li > > teral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>RECINTO</PropertyName><Literal>1</Lit > > eral></PropertyIsEqualTo> > > </ogc:And> > > </ogc:Or> > > </ogc:Filter> > > </wfs:Query> > > <wfs:Query typeName="ParcelasSigpac"> > > <ogc:Filter> > > <ogc:Or> > > <ogc:And> > > > <PropertyIsEqualTo><PropertyName>PROVINCIA</PropertyName><Literal>1</L > > iteral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>MUNICIPIO</PropertyName><Literal>1</L > > iteral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>POLIGONO</PropertyName><Literal>1</Li > > teral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>PARCELA</PropertyName><Literal>29</Li > > teral></PropertyIsEqualTo> > > </ogc:And> > > <ogc:And> > > > <PropertyIsEqualTo><PropertyName>PROVINCIA</PropertyName><Literal>1</L > > iteral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>MUNICIPIO</PropertyName><Literal>1</L > > iteral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>POLIGONO</PropertyName><Literal>1</Li > > teral></PropertyIsEqualTo> > > > <PropertyIsEqualTo><PropertyName>PARCELA</PropertyName><Literal>5</Lit > > eral></PropertyIsEqualTo> > > </ogc:And> > > </ogc:Or> > > </ogc:Filter> > > </wfs:Query> > > </wfs:GetFeature> > > > > All the features that I want to mark using these filters > are unique rows in Oracle Spatial. Using my Ajax app I get > the following response: > > > > <?xml version='1.0' encoding="ISO-8859-1" ?> <wfs:FeatureCollection > > xmlns:ms="http://mapserver.gis.umn.edu/mapserver" > > xmlns:gml="http://www.opengis.net/gml" > > xmlns:wfs="http://www.opengis.net/wfs" > > xmlns:ogc="http://www.opengis.net/ogc" > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > > > xsi:schemaLocation="http://mapserver.gis.umn.edu/mapserver > http://192.168.1.65/cgi-bin/mapserv.exe?map=../htdocs/MFD/ejem plo_wfs.map&SERVICE=WFS&VERSION=1.1.0> &REQUEST=DescribeFeatureType&TYPENAME=RecintosSigpac,P > arcelasSigpac&OUTPUTFORMAT=text/xml; subtype=gml/3.1.1 > http://www.opengis.net/wfs > http://schemas.opengis.net/wfs/1.1.0/wfs.xsd"> > > <gml:boundedBy> > > <gml:Envelope srsName="EPSG:23030"> > > <gml:lowerCorner>538881.736860 > 4744342.676060</gml:lowerCorner> > > <gml:upperCorner>539514.702532 > 4744971.618431</gml:upperCorner> > > </gml:Envelope> > > </gml:boundedBy> > > <gml:featureMember> > > <ms:RecintosSigpac gml:id="RecintosSigpac.752"> > > <gml:boundedBy> > > <gml:Envelope srsName="EPSG:23030"> > > <gml:lowerCorner>539098.554563 > 4744632.941135</gml:lowerCorner> > > <gml:upperCorner>539191.352464 > 4744726.952445</gml:upperCorner> > > </gml:Envelope> > > </gml:boundedBy> > > <ms:msGeometry> > > <gml:Polygon srsName="EPSG:23030"> > > <gml:exterior> > > <gml:LinearRing> > > <gml:posList srsDimension="2">539146.378383 > 4744724.433931 539145.235158 4744724.343655 539141.209291 > 4744724.134593 539098.862296 4744721.948469 539098.790865 > 4744711.615815 539098.554563 4744677.257422 539100.133554 > 4744665.742677 539101.989421 4744645.274892 539102.338824 > 4744636.815604 539147.216698 4744634.836696 539183.793353 > 4744632.941135 539191.352464 4744725.909256 539176.751878 > 4744726.952445 539160.884500 4744725.549674 539146.378383 > 4744724.433931 </gml:posList> > > </gml:LinearRing> > > </gml:exterior> > > </gml:Polygon> > > </ms:msGeometry> > > </ms:RecintosSigpac> > > </gml:featureMember> > > <gml:featureMember> > > <ms:RecintosSigpac gml:id="RecintosSigpac.752"> > > <gml:boundedBy> > > <gml:Envelope srsName="EPSG:23030"> > > <gml:lowerCorner>539098.554563 > 4744632.941135</gml:lowerCorner> > > <gml:upperCorner>539191.352464 > 4744726.952445</gml:upperCorner> > > </gml:Envelope> > > </gml:boundedBy> > > <ms:msGeometry> > > <gml:Polygon srsName="EPSG:23030"> > > <gml:exterior> > > <gml:LinearRing> > > <gml:posList srsDimension="2">539146.378383 > 4744724.433931 539145.235158 4744724.343655 539141.209291 > 4744724.134593 539098.862296 4744721.948469 539098.790865 > 4744711.615815 539098.554563 4744677.257422 539100.133554 > 4744665.742677 539101.989421 4744645.274892 539102.338824 > 4744636.815604 539147.216698 4744634.836696 539183.793353 > 4744632.941135 539191.352464 4744725.909256 539176.751878 > 4744726.952445 539160.884500 4744725.549674 539146.378383 > 4744724.433931 </gml:posList> > > </gml:LinearRing> > > </gml:exterior> > > </gml:Polygon> > > </ms:msGeometry> > > </ms:RecintosSigpac> > > </gml:featureMember> > > <gml:featureMember> > > <ms:RecintosSigpac gml:id="RecintosSigpac.780"> > > <gml:boundedBy> > > <gml:Envelope srsName="EPSG:23030"> > > <gml:lowerCorner>539140.476604 > 4744723.079992</gml:lowerCorner> > > <gml:upperCorner>539239.310392 > 4744825.870297</gml:upperCorner> > > </gml:Envelope> > > </gml:boundedBy> > > <ms:msGeometry> > > <gml:Polygon srsName="EPSG:23030"> > > <gml:exterior> > > <gml:LinearRing> > > <gml:posList srsDimension="2">539210.760749 > 4744825.870297 539171.605414 4744812.932158 539154.900802 > 4744810.658958 539151.793893 4744810.241026 539150.884920 > 4744803.887571 539149.435868 4744793.751862 539144.504835 > 4744774.483491 539140.476604 4744745.790917 539141.570279 > 4744729.302770 539144.916268 4744728.632982 539155.283284 > 4744730.181283 539174.221816 4744732.271720 539213.767798 > 4744726.008999 539214.713582 4744725.893379 539232.282920 > 4744723.079992 539239.310392 4744781.827717 539208.870828 > 4744783.739315 539209.136859 4744799.555691 539209.910262 > 4744816.473342 539210.760749 4744825.870297 </gml:posList> > > </gml:LinearRing> > > </gml:exterior> > > </gml:Polygon> > > </ms:msGeometry> > > </ms:RecintosSigpac> > > </gml:featureMember> > > <gml:featureMember> > > <ms:ParcelasSigpac gml:id="ParcelasSigpac.432"> > > <gml:boundedBy> > > <gml:Envelope srsName="EPSG:23030"> > > <gml:lowerCorner>539350.511939 > 4744673.714232</gml:lowerCorner> > > <gml:upperCorner>539514.702532 > 4744971.618431</gml:upperCorner> > > </gml:Envelope> > > </gml:boundedBy> > > <ms:msGeometry> > > <gml:Polygon srsName="EPSG:23030"> > > <gml:exterior> > > <gml:LinearRing> > > <gml:posList srsDimension="2">539491.015879 > 4744792.082294 539475.782392 4744815.126130 539474.642472 > 4744816.850943 539474.056299 4744817.555015 539460.451809 > 4744853.928462 539454.143305 4744873.207102 539440.629731 > 4744926.019638 539430.716698 4744943.313585 539413.952425 > 4744959.898107 539411.273518 4744964.881346 539407.646330 > 4744971.618431 539406.476289 4744971.434873 539406.366823 > 4744971.415630 539405.504687 4744971.280377 539358.907641 > 4744964.079030 539357.908645 4744963.924384 539357.819670 > 4744963.914567 539352.263608 4744963.054354 539351.935157 > 4744963.005934 539350.511939 4744962.783705 539352.673948 > 4744946.385464 539357.193238 4744935.734641 539371.562447 > 4744905.629881 539384.165455 4744865.843680 539397.369264 > 4744840.768116 539413.956573 4744791.742981 539415.753731 > 4744775.705698 539422.336088 4744776.767313 539431.436383 > 4744778.243618 539450.177203 4744778.946742 539457.925869 > 4744776.068340 539458.492779 4744775.140756 539466.401928 > 4744762.191662 539488.212759 4744674.250571 539488.822495 > 4744674.216836 539498.564357 4744673.714232 539514.702532 > 4744675.677836 539513.744624 4744680.289272 539490.550025 > 4744792.107546 539491.015879 4744792.082294 </gml:posList> > > </gml:LinearRing> > > </gml:exterior> > > </gml:Polygon> > > </ms:msGeometry> > > </ms:ParcelasSigpac> > > </gml:featureMember> > > <gml:featureMember> > > <ms:ParcelasSigpac gml:id="ParcelasSigpac.470"> > > <gml:boundedBy> > > <gml:Envelope srsName="EPSG:23030"> > > <gml:lowerCorner>538882.248073 > 4744342.676060</gml:lowerCorner> > > <gml:upperCorner>539029.527193 > 4744453.228030</gml:upperCorner> > > </gml:Envelope> > > </gml:boundedBy> > > <ms:msGeometry> > > <gml:Polygon srsName="EPSG:23030"> > > <gml:exterior> > > <gml:LinearRing> > > <gml:posList srsDimension="2">539029.513178 > 4744416.148626 539023.438691 4744440.204136 538915.364222 > 4744450.585437 538882.248073 4744453.228030 538882.331310 > 4744453.042333 538923.249964 4744365.347156 538933.462428 > 4744343.465189 538933.829894 4744342.676060 538941.133211 > 4744351.979153 538947.118409 4744358.193740 538960.350385 > 4744369.168664 538968.075321 4744372.945028 538971.325354 > 4744383.202584 539024.659247 4744412.165068 539029.527193 > 4744416.092856 539029.513178 4744416.148626 </gml:posList> > > </gml:LinearRing> > > </gml:exterior> > > </gml:Polygon> > > </ms:msGeometry> > > </ms:ParcelasSigpac> > > </gml:featureMember> > > </wfs:FeatureCollection> > > > > The thing is that I get two features with the same 'id' > (the two first features -> id 752) and same geodata and one > of the requested parcels disappear (id-> 759). In DB table > the id's are: > > > > TABLE -> RecintosSigpac > > > > Id | PROVINCIA | MUNICIPIO | POLIGONO | PARCELA | RECINTO > > ---------------------------------------------------------- > > 752 | 1 | 1 | 1 | 20 > | 1 > > ---------------------------------------------------------- > > 759 | 1 | 1 | 1 | 24 > | 1 > > ---------------------------------------------------------- > > 780 | 1 | 1 | 1 | 1 > | 1 > > ---------------------------------------------------------- > > ... > > > > TABLE -> ParcelasSigpac > > > > Id | PROVINCIA | MUNICIPIO | POLIGONO | PARCELA > > ------------------------------------------------ > > 432 | 1 | 1 | 1 | 29 > > ------------------------------------------------ > > 470 | 1 | 1 | 1 | 5 > > ------------------------------------------------ > > ... > > > > In other tests I've done it happens the same with the table > ParcelasSigpac (the same case but changing roles), so maybe > it's something I make wrong with the filters, or there's > something special that I've to configure in the DB table. > > > > Can someone, please, help me? It's really important because > it's causing some troubles. > > > > Thanks. > > > > Un saludo, > > > > > ······································································ > > ············ > > > > David Alda Fernández de Lezea > > Lurralde eta Biodibertsitate Saila / Dpto. de Territorio y > > Biodiversidad > > > > IKT > > Granja Modelo s/n · 01192 · Arkaute (Araba) > > > > > ······························································ > ···················· > > Tlfnos.: 945-00-32-95 Fax: 945-00.32.90 > > > ······························································ > ···················· > > email: [email protected] web: www.ikt.es > > > ······································································ > > ············ _______________________________________________ > > mapserver-users mailing list > > [email protected] > > http://lists.osgeo.org/mailman/listinfo/mapserver-users > > > > > > > -- > ---------------------------------------------------------------- > Assefa Yewondwossen > Software Analyst > > Email: [email protected] > http://www.dmsolutions.ca/ > > Phone: (613) 565-5056 (ext 14) > Fax: (613) 565-0925 > ---------------------------------------------------------------- > > > > _______________________________________________ > 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
