[Geoserver-devel] [jira] Created: (GEOS-278) Parsing exception in WFS with engineering notation (e) in WKT

Message:

  A new issue has been created in JIRA.

---------------------------------------------------------------------
View the issue:
  http://jira.codehaus.org/browse/GEOS-278

Here is an overview of the issue:
---------------------------------------------------------------------
        Key: GEOS-278
    Summary: Parsing exception in WFS with engineering notation (e) in WKT
       Type: Bug

     Status: Open
   Priority: Major

Original Estimate: Unknown
Time Spent: Unknown
  Remaining: Unknown

    Project: GeoServer
Components:
             WFS
   Versions:
             1.2.4

   Assignee: Chris Holmes
   Reporter: Norman Barker

    Created: Fri, 4 Feb 2005 6:50 AM
    Updated: Fri, 4 Feb 2005 6:50 AM
Environment: Linux Fedora Core 2

Description:
When querying the WFS over the greenwich meridian for WFS results with small values, hence MySQL using engineering notation (e-X), we get the following exception
com.vividsolutions.jts.io.ParseException e-14

Server is at http://zsite.space.qinetiq.com:8080/geoserver

Query:

<wfs:GetFeature service="WFS" version="1.0.0"
  outputFormat="GML2"
  xmlns:midas="http://www.midasweather.org/midas&quot;
  xmlns:wfs="http://www.opengis.net/wfs&quot;
  xmlns:ogc="http://www.opengis.net/ogc&quot;
  xmlns:gml="http://www.opengis.net/gml&quot;
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance&quot;
  xsi:schemaLocation="http://www.opengis.net/wfs
                      http://schemas.opengis.net/wfs/1.0.0/WFS-basic.xsd&quot;&gt;
  <wfs:Query typeName="midas:UK_CURRENTS">
    <wfs:PropertyName>midas:magnitude</wfs:PropertyName>
    <wfs:PropertyName>midas:lat_long</wfs:PropertyName>
    <ogc:Filter>
      <ogc:BBOX>
        <ogc:PropertyName>lat_long</ogc:PropertyName>
        <gml:Box srsName="http://www.opengis.net/gml/srs/epsg.xml#4326&quot;&gt;
           <gml:coordinates>-1.29,49.5 1.4,50.56</gml:coordinates>
        </gml:Box>
      </ogc:BBOX>
   </ogc:Filter>
  </wfs:Query>
</wfs:GetFeature>

Exception:

javax.xml.transform.TransformerException: Translator error at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:123) at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:98) at org.vfny.geoserver.responses.wfs.GML2FeatureResponseDelegate.encode(GML2FeatureResponseDelegate.java:219) at org.vfny.geoserver.responses.wfs.FeatureResponse.writeTo(FeatureResponse.java:127) at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:423) at org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:300) at org.vfny.geoserver.servlets.wfs.WfsDispatcher.doResponse(WfsDispatcher.java:245) at org.vfny.geoserver.servlets.wfs.WfsDispatcher.doPost(WfsDispatcher.java:134) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:220) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(ContainerStatsValve.java:76) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:65) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:197) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677) at java.lang.Thread.run(Thread.java:534) Caused by: java.lang.RuntimeException: error reading FeatureResults at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.encode(FeatureTransformer.java:356) at org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:605) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:452) at org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.java:286) at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:119) ... 48 more Caused by: org.geotools.data.DataSourceException: Could not parse WKT at org.geotools.data.jdbc.attributeio.WKTAttributeIO.read(WKTAttributeIO.java:79) at org.geotools.data.jdbc.QueryData.read(QueryData.java:183) at org.geotools.data.jdbc.JDBCFeatureReader.readFeature(JDBCFeatureReader.java:106) at org.geotools.data.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:86) at org.geotools.data.MaxFeatureReader.next(MaxFeatureReader.java:54) at org.geotools.data.DefaultFeatureResults.getBounds(DefaultFeatureResults.java:166) at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.encode(FeatureTransformer.java:340) ... 52 more Caused by: com.vividsolutions.jts.io.ParseException: Expected number but encountered word: e-14 at com.vividsolutions.jts.io.WKTReader.getNextNumber(Unknown Source) at com.vividsolutions.jts.io.WKTReader.getPreciseCoordinate(Unknown Source) at com.vividsolutions.jts.io.WKTReader.readPointText(Unknown Source) at com.vividsolutions.jts.io.WKTReader.readGeometryTaggedText(Unknown Source) at com.vividsolutions.jts.io.WKTReader.read(Unknown Source) at com.vividsolutions.jts.io.WKTReader.read(Unknown Source) at org.geotools.data.jdbc.attributeio.WKTAttributeIO.read(WKTAttributeIO.java:75) ... 58 more --------- java.lang.RuntimeException: error reading FeatureResults at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.encode(FeatureTransformer.java:356) at org.geotools.xml.transform.TransformerBase$XMLReaderSupport.parse(TransformerBase.java:605) at org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:452) at org.geotools.xml.transform.TransformerBase$Task.run(TransformerBase.java:286) at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:119) at org.geotools.xml.transform.TransformerBase.transform(TransformerBase.java:98) at org.vfny.geoserver.responses.wfs.GML2FeatureResponseDelegate.encode(GML2FeatureResponseDelegate.java:219) at org.vfny.geoserver.responses.wfs.FeatureResponse.writeTo(FeatureResponse.java:127) at org.vfny.geoserver.servlets.AbstractService.doService(AbstractService.java:423) at org.vfny.geoserver.servlets.AbstractService.doPost(AbstractService.java:300) at org.vfny.geoserver.servlets.wfs.WfsDispatcher.doResponse(WfsDispatcher.java:245) at org.vfny.geoserver.servlets.wfs.WfsDispatcher.doPost(WfsDispatcher.java:134) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.invoke(JBossSecurityMgrRealm.java:220) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.CertificatesValve.invoke(CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.invoke(ContainerStatsValve.java:76) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:65) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:577) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:197) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:781) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:549) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:605) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:677) at java.lang.Thread.run(Thread.java:534) Caused by: org.geotools.data.DataSourceException: Could not parse WKT at org.geotools.data.jdbc.attributeio.WKTAttributeIO.read(WKTAttributeIO.java:79) at org.geotools.data.jdbc.QueryData.read(QueryData.java:183) at org.geotools.data.jdbc.JDBCFeatureReader.readFeature(JDBCFeatureReader.java:106) at org.geotools.data.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:86) at org.geotools.data.MaxFeatureReader.next(MaxFeatureReader.java:54) at org.geotools.data.DefaultFeatureResults.getBounds(DefaultFeatureResults.java:166) at org.geotools.gml.producer.FeatureTransformer$FeatureTranslator.encode(FeatureTransformer.java:340) ... 52 more Caused by: com.vividsolutions.jts.io.ParseException: Expected number but encountered word: e-14 at com.vividsolutions.jts.io.WKTReader.getNextNumber(Unknown Source) at com.vividsolutions.jts.io.WKTReader.getPreciseCoordinate(Unknown Source) at com.vividsolutions.jts.io.WKTReader.readPointText(Unknown Source) at com.vividsolutions.jts.io.WKTReader.readGeometryTaggedText(Unknown Source) at com.vividsolutions.jts.io.WKTReader.read(Unknown Source) at com.vividsolutions.jts.io.WKTReader.read(Unknown Source) at org.geotools.data.jdbc.attributeio.WKTAttributeIO.read(WKTAttributeIO.java:75) ... 58 more

---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.

If you think it was sent incorrectly contact one of the administrators:
   http://jira.codehaus.org/secure/Administrators.jspa

If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira