[mapserver-users] [EXTERNAL] Re: Mapserver 7+oracle - wfs getFeature with filter on numeric field

Steve.Toutant at inspq.qc.ca Steve.Toutant at inspq.qc.ca
Thu May 14 05:54:53 PDT 2015


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.Smith at erdc.dren.mil> 
2015-05-13 18:53

A
"Steve.Toutant at inspq.qc.ca" <Steve.Toutant at inspq.qc.ca>, thomas bonfort 
<thomas.bonfort at gmail.com>
cc
MapserverList OSGEO <mapserver-users at 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.smith at usace.army.mil


From: "Steve.Toutant at inspq.qc.ca" <Steve.Toutant at inspq.qc.ca>
Date: Wednesday, May 13, 2015 at 10:35 AM
To: thomas bonfort <thomas.bonfort at gmail.com>
Cc: MapserverList OSGEO <mapserver-users at lists.osgeo.org>
Subject: [EXTERNAL] Re: [mapserver-users] Mapserver 7+oracle - wfs 
getFeature with filter on numeric field
Resent-From: Michael Smith <michael.smith at 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.bonfort at gmail.com> 
2015-05-13 05:40 


A
Steve.Toutant at inspq.qc.ca 
cc
MapserverList OSGEO <mapserver-users at 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.Toutant at 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 at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users





-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20150514/1f19f1a5/attachment-0001.html>


More information about the mapserver-users mailing list