[Geoserver-devel] [jira] Created: (GEOS-2935) Geoserver Compound Curves (ETYPE 1005) with Oracle 10g

Geoserver Compound Curves (ETYPE 1005) with Oracle 10g
------------------------------------------------------

                 Key: GEOS-2935
                 URL: http://jira.codehaus.org/browse/GEOS-2935
             Project: GeoServer
          Issue Type: Bug
          Components: Oracle, WMS
    Affects Versions: 1.7.2
         Environment: Windows XP - Oracle 10g client
            Reporter: Lucas Heezen
            Assignee: Andrea Aime
            Priority: Critical

Problems with geometry of compound curves. We are having te next query for oracle.
----------------------------------------------------------------------------------------------------------------------------------------------------------
ALTER SESSION SET NLS_NUMERIC_CHARACTERS = '.,';

CREATE TABLE testpolygoon(omschrijving VARCHAR2(100),geometrie MDSYS.SDO_GEOMETRY);

INSERT
INTO user_sdo_geom_metadata
( table_name
, column_name
, diminfo
, srid
)
VALUES
( 'TESTPOLYGOON'
, 'GEOMETRIE'
, MDSYS.SDO_DIM_ARRAY(
           MDSYS.SDO_DIM_ELEMENT('X',0,10000,0.0005)
          ,MDSYS.SDO_DIM_ELEMENT('Y',0,10000,0.0005))
, NULL
);

CREATE INDEX testpolygoon_geo_i ON testpolygoon(geometrie) INDEXTYPE IS MDSYS.SPATIAL_INDEX;

INSERT
INTO testpolygoon
( omschrijving
, geometrie)
VALUES
( 'multipolygoon met gat'
, MDSYS.SDO_GEOMETRY(2003
                        ,NULL
                        ,NULL
                        ,MDSYS.SDO_ELEM_INFO_ARRAY(1,1005,2
                                                  ,1,2,1
                                                  ,7,2,2
                                                  ,17,2003,3
                                                  )
                        ,MDSYS.SDO_ORDINATE_ARRAY(10,50
                                                 ,10,30
                                                 ,50,30
                                                 ,50,50
                                                 ,40,60
                                                 ,30,50
                                                 ,20,60
                                                 ,10,50
                                                 ,25,35
                                                 ,35,45))
);

COMMIT;

INSERT
INTO testpolygoon
( omschrijving
, geometrie)
VALUES
( 'multipolygoon zonder gat'
, MDSYS.SDO_GEOMETRY(2003
                        ,NULL
                        ,NULL
                        ,MDSYS.SDO_ELEM_INFO_ARRAY(1,1005,2
                                                  ,1,2,1
                                                  ,7,2,2
                                                  )
                        ,MDSYS.SDO_ORDINATE_ARRAY(10,50
                                                 ,10,30
                                                 ,50,30
                                                 ,50,50
                                                 ,40,60
                                                 ,30,50
                                                 ,20,60
                                                 ,10,50))
);

COMMIT;
----------------------------------------------------------------------------------------------------------------------------------------------------------------------

We cannot get oracle to display this image. Geoserver throws the next error.

2009-04-23 05:36:34,476 ERROR [geotools.rendering] - ETYPE 1,005 must be expected POLYGON or POLYGON_EXTERIOR (one of 3,1003,)
java.lang.IllegalArgumentException: ETYPE 1,005 must be expected POLYGON or POLYGON_EXTERIOR (one of 3,1003,)
  at org.geotools.data.oracle.sdo.SDO.ensure(SDO.java:1936)
  at org.geotools.data.oracle.sdo.SDO.createPolygon(SDO.java:2509)
  at org.geotools.data.oracle.sdo.SDO.create(SDO.java:2322)
  at org.geotools.data.oracle.sdo.SDO.create(SDO.java:2289)
  at org.geotools.data.oracle.sdo.GeometryConverter.asGeometry(GeometryConverter.java:124)
  at org.geotools.data.oracle.attributeio.SDOAttributeIO.read(SDOAttributeIO.java:135)
  at org.geotools.data.jdbc.QueryData.read(QueryData.java:213)
  at org.geotools.data.jdbc.JDBCFeatureReader.readFeature(JDBCFeatureReader.java:108)
  at org.geotools.data.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:88)
  at org.geotools.data.jdbc.JDBCFeatureReader.next(JDBCFeatureReader.java:39)
  at org.geotools.data.store.FeatureReaderIterator.next(FeatureReaderIterator.java:71)
  at org.geotools.data.store.FeatureReaderIterator.next(FeatureReaderIterator.java:41)
  at org.geotools.feature.collection.DelegateFeatureIterator.next(DelegateFeatureIterator.java:58)
  at org.geotools.data.crs.ForceCoordinateSystemIterator.next(ForceCoordinateSystemIterator.java:123)
  at org.geotools.data.crs.ForceCoordinateSystemIterator.next(ForceCoordinateSystemIterator.java:64)
  at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1607)
  at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:642)
  at org.geotools.renderer.shape.ShapefileRenderer.renderWithStreamingRenderer(ShapefileRenderer.java:1472)
  at org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:1341)
  at org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:265)
  at org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(DefaultRasterMapProducer.java:347)
  at org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:416)
  at org.geoserver.ows.adapters.ResponseAdapter.getMimeType(ResponseAdapter.java:48)
  at org.geoserver.ows.Dispatcher.response(Dispatcher.java:698)
  at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:215)
  at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
  at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
  at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
  at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
  at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
  at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:501)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
  at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:264)
  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
  at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:178)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:229)
  at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:274)
  at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:148)
  at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:73)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:163)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
  at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
  at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
  at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
  at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)
  at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283)
  at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
  at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
  at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
  at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)
  at java.lang.Thread.run(Unknown Source)

--
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
-
For more information on JIRA, see: http://www.atlassian.com/software/jira