The matchCase triggers a string comparison. matchCase doesn't seem to make sense for a number.
That being said, I can look into the specific case of matchCase and a numeric comparison and make sire that it isn't used. Mike ---- Michael Smith US Army Corps Remote Sensing GIS/Center michael.sm...@usace.army.mil From: "steve.tout...@inspq.qc.ca<mailto:steve.tout...@inspq.qc.ca>" <steve.tout...@inspq.qc.ca<mailto:steve.tout...@inspq.qc.ca>> Date: Thursday, May 14, 2015 at 9:28 AM To: Michael Smith <michael.sm...@erdc.dren.mil<mailto:michael.sm...@erdc.dren.mil>> Cc: MapserverList OSGEO <mapserver-users@lists.osgeo.org<mailto:mapserver-users@lists.osgeo.org>>, thomas bonfort <thomas.bonf...@gmail.com<mailto:thomas.bonf...@gmail.com>> Subject: Re: [EXTERNAL] Re: [mapserver-users] Mapserver 7+oracle - wfs getFeature with filter on numeric field Is there a documentation that says that it is not? Folks from gdal list also think that it is not supported...I guess you are right. But as I said on the gdal list, many countries are using a comma as a decimal separator....what other people on the planet do? Anyway the comma is another problem that I try to manage later...... For now, We have an application that generate and launch spatial queries on WFS, matchCase=false by default. Before modifying the code I want to understand what is going on.... It seems,when using numeric value, that matchCase as no impact in PostGIS, but it is important in oracle to be set to true gml_type = auto, returns double in postgis and oracle, so that is fine A WFS getFeature with the operator PropertyIsEqualTo AND matchCase=false using this value -64.225 PostGis: it works Oracle (from mike's test): it fails...matchCase must be set to true A WFS getFeature with the operator PropertyIsEqualTo AND matchCase=false using this value -64,225 PotsGis: not tested Oracle: it fails...matchCase must be set to true Is there a reason why, with oracle, matchCase should be set to true when using numeric value, or that could be fixed? Regards Steve "Smith, Michael ERDC-RDE-CRREL-NH" <michael.sm...@erdc.dren.mil<mailto:michael.sm...@erdc.dren.mil>> 2015-05-14 09:17 A "steve.tout...@inspq.qc.ca<mailto:steve.tout...@inspq.qc.ca>" <steve.tout...@inspq.qc.ca<mailto:steve.tout...@inspq.qc.ca>> cc MapserverList OSGEO <mapserver-users@lists.osgeo.org<mailto:mapserver-users@lists.osgeo.org>>, thomas bonfort <thomas.bonf...@gmail.com<mailto:thomas.bonf...@gmail.com>> Objet Re: [EXTERNAL] Re: [mapserver-users] Mapserver 7+oracle - wfs getFeature with filter on numeric field Its not clear to me that commas as the decimal separator is supported in XML/GML. I can't find any documentation to indicate that it is. Can you point some out to me? In any event, I didn't test with comma decimal separators. Mike ---- Michael Smith US Army Corps Remote Sensing GIS/Center michael.sm...@usace.army.mil<mailto:michael.sm...@usace.army.mil> From: "steve.tout...@inspq.qc.ca<mailto:steve.tout...@inspq.qc.ca>" <steve.tout...@inspq.qc.ca<mailto:steve.tout...@inspq.qc.ca>> Date: Thursday, May 14, 2015 at 8:54 AM To: Michael Smith <michael.sm...@erdc.dren.mil<mailto:michael.sm...@erdc.dren.mil>> Cc: MapserverList OSGEO <mapserver-users@lists.osgeo.org<mailto:mapserver-users@lists.osgeo.org>>, thomas bonfort <thomas.bonf...@gmail.com<mailto:thomas.bonf...@gmail.com>> Subject: Re: [EXTERNAL] Re: [mapserver-users] Mapserver 7+oracle - wfs getFeature with filter on numeric field 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<mailto:michael.sm...@erdc.dren.mil>> 2015-05-13 18:53 A "steve.tout...@inspq.qc.ca<mailto:steve.tout...@inspq.qc.ca>" <steve.tout...@inspq.qc.ca<mailto:steve.tout...@inspq.qc.ca>>, thomas bonfort <thomas.bonf...@gmail.com<mailto:thomas.bonf...@gmail.com>> cc MapserverList OSGEO <mapserver-users@lists.osgeo.org<mailto: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<mailto:michael.sm...@usace.army.mil> From: "steve.tout...@inspq.qc.ca<mailto:steve.tout...@inspq.qc.ca>" <steve.tout...@inspq.qc.ca<mailto:steve.tout...@inspq.qc.ca>> Date: Wednesday, May 13, 2015 at 10:35 AM To: thomas bonfort <thomas.bonf...@gmail.com<mailto:thomas.bonf...@gmail.com>> Cc: MapserverList OSGEO <mapserver-users@lists.osgeo.org<mailto: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<mailto: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<http://www.google.com/url?q=http%3A%2F%2Fwww.w3.org%2F2001%2FXMLSchema-instance&sa=D&sntz=1&usg=AFQjCNFERp6A_kcvqihMCKJ7EHX8O14vIA>" xmlns:ows="http://www.opengis.net/ows<http://www.google.com/url?q=http%3A%2F%2Fwww.opengis.net%2Fows&sa=D&sntz=1&usg=AFQjCNE9_q7eSkcBl4XJimXTw1Zx0EiDow>" version="1.1.0" language="en-US"xsi:schemaLocation="http://www.opengis.net/ows< /a><http://www.google.com/url?q=http%3A%2F%2Fwww.opengis.net%2Fows&sa=D&sntz=1&usg=AFQjCNE9_q7eSkcBl4XJimXTw1Zx0EiDow>http://schemas.opengis.net/ows/1.0.0/owsExceptionReport.xsd<http://www.google.com/url?q=http%3A%2F%2Fschemas.opengis.net%2Fows%2F1.0.0%2FowsExceptionReport.xsd&sa=D&sntz=1&usg=AFQjCNGmnK6iSrh-cSWEtM2VV17uuSbVNA>"> <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<mailto:thomas.bonf...@gmail.com>> 2015-05-13 05:40 A steve.tout...@inspq.qc.ca<mailto:steve.tout...@inspq.qc.ca> cc MapserverList OSGEO <mapserver-users@lists.osgeo.org<mailto: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<mailto: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<mailto: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