Thanks Mike for having a look at it. Your decimals are separated by a comma or a dot?
"Smith, Michael ERDC-RDE-CRREL-NH" <michael.sm...@erdc.dren.mil> 2015-05-13 18:53 A "steve.tout...@inspq.qc.ca" <steve.tout...@inspq.qc.ca>, thomas bonfort <thomas.bonf...@gmail.com> cc MapserverList OSGEO <mapserver-users@lists.osgeo.org> Objet Re: [EXTERNAL] Re: [mapserver-users] Mapserver 7+oracle - wfs getFeature with filter on numeric field Steve, I tested this out with 7.1 with numeric type fields and it works for me as long as I don't use matchCase="false". That seems to kick it in to a string comparison. matchCase="true" and just PropertyIsEqualTo work fine. In our metadata we use "gml_types" "auto" when the database knows the types and explicit declarations (eg "gml_attributename_type" "integer") when it doesn't work. The key is that the field type has to report as a numeric type or the backend treats it as a string comparison. Mike ---- Michael Smith US Army Corps Remote Sensing GIS/Center michael.sm...@usace.army.mil From: "steve.tout...@inspq.qc.ca" <steve.tout...@inspq.qc.ca> Date: Wednesday, May 13, 2015 at 10:35 AM To: thomas bonfort <thomas.bonf...@gmail.com> Cc: MapserverList OSGEO <mapserver-users@lists.osgeo.org> Subject: [EXTERNAL] Re: [mapserver-users] Mapserver 7+oracle - wfs getFeature with filter on numeric field Resent-From: Michael Smith <michael.sm...@usace.army.mil> Precision: we are using MS7.1 Removing matchcase part makes oracle, and postgis, crash. I have this error: <ows:ExceptionReport xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows" version="1.1.0" language="en-US"xsi:schemaLocation="http://www.opengis.net/ows< /a> http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd"> <ows:Exception exceptionCode="NoApplicableCode" locator="mapserv"> <ows:ExceptionText> msWFSGetFeature(): WFS server error. FLTApplyFilterToLayer() failed msOracleSpatialLayerWhichShapes(): OracleSpatial error. Check your data statement and server logs </ows:ExceptionText> The problem might be the decimals? Here is the request <wfs:Query typeName="feature:SMDVDP_STAT_METE" srsName="EPSG:32198"> <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc"> <ogc:PropertyIsEqualTo> <ogc:PropertyName>LONG_STAT</ogc:PropertyName> <ogc:Literal>-61,8031</ogc:Literal> </ogc:PropertyIsEqualTo> </ogc:Filter> </wfs:Query> </wfs:GetFeature> thomas bonfort <thomas.bonf...@gmail.com> 2015-05-13 05:40 A steve.tout...@inspq.qc.ca cc MapserverList OSGEO <mapserver-users@lists.osgeo.org> Objet Re: [mapserver-users] Mapserver 7+oracle - wfs getFeature with filter on numeric field can you try the same request without the "matchCase" part and report back please? On 12 May 2015 at 18:11, <steve.tout...@inspq.qc.ca> wrote: > I have a problem using a FILTER in a wfs getFeature request on an oracle DB > with MS7 > When I launch a getFeature request with a Filter on a numeric field it > doesn't work, > <ogc:Filter xmlns:ogc="http://www.opengis.net/ogc "><ogc:PropertyIsEqualTo > matchCase="false"><ogc:PropertyName>LONG_STAT</ogc:PropertyName><ogc:Literal>-61</ogc:Literal></ogc:PropertyIsEqualTo></ogc:Filter> > here is the error we get in the browser > <ows:Exception exceptionCode="NoApplicableCode" locator="mapserv"> > <ows:ExceptionText>msWFSGetFeature(): WFS server error. > FLTApplyFilterToLayer() failed > msOracleSpatialLayerWhichShapes(): OracleSpatial error. Check your data > statement and server logs</ows:ExceptionText> > > from mapserver logs > [Tue May 12 11:59:10 2015].177992 msOracleSpatialLayerTranslateFilter. > String: ([LONG_STAT] =*-61) > > LONG_STAT is a NUMBER in the DB > DescribefeatureType returns > <element name="NO_STAT_CLIM" minOccurs="0" type="string"/> > <element name="NO_STAT_FADQ" minOccurs="0" type="string"/> > <element name="NOM_STAT" minOccurs="0" type="string"/> > <element name="LATI_STAT" minOccurs="0" type="string"/> > <element name="LONG_STAT" minOccurs="0" type="string"/> > <element name="ALTI_STAT" minOccurs="0" type="string"/> > > I tried to add "gml_types" "auto" in the mapfile, but it still returns > string as data type > I tried "gml_LONG_STAT_type" = "Integer" in the mapfile, describeFeatureType > returns "<element name="LONG_STAT" minOccurs="0" type="double"/> " but I > still get an error in getFeature > > I'm using CONNECTIONTYPE oraclespatial in the mapfile > > I can provide more information.... > > Is it a known issue or can I do something about that? > > Thank you! > _______________________________________________ > mapserver-users mailing list > mapserver-users@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/mapserver-users
_______________________________________________ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users