Adam Ratcliffe ha scritto: > Hi, > > I have an SLD which defines a LineSymbolizer which uses a > GraphicStroke with an ExternalGraphic referencing a PNG image: > > <LineSymbolizer> > <Stroke> > <GraphicStroke> > <Graphic> > <ExternalGraphic> > <OnlineResource xmlns:xlink="http://www.w3.org/1999/xlink" > xlink:type="simple" xlink:href="nz_traffic_freeflow_0.png"/> > <Format>image/png</Format> > </ExternalGraphic> > <Size>16</Size> > </Graphic> > </GraphicStroke> > </Stroke> > </LineSymbolizer> > > This renders as expected under a nightly build from trunk but fails > under the 2.0.2 release with this error: > > 27 Aug 13:34:19 ERROR [geotools.rendering] - Unknown image type 0 > java.lang.IllegalArgumentException: Unknown image type 0 > at java.awt.image.BufferedImage.<init>(BufferedImage.java:490) > at > org.geotools.renderer.lite.StyledShapePainter.drawWithGraphicsStroke(StyledShapePainter.java:415) > at > org.geotools.renderer.lite.StyledShapePainter.paint(StyledShapePainter.java:217) > at > org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(StreamingRenderer.java:2061) > at > org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.java:1985) > at > org.geotools.renderer.lite.StreamingRenderer.drawOptimized(StreamingRenderer.java:1879) > at > org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1792) > at > org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:699) > at > org.geotools.renderer.shape.ShapefileRenderer.renderWithStreamingRenderer(ShapefileRenderer.java:1525) > at > org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:1373) > at > org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(DefaultRasterMapProducer.java:376) > at > org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:426) > at > org.geoserver.ows.adapters.ResponseAdapter.getMimeType(ResponseAdapter.java:48) > at org.geoserver.ows.Dispatcher.response(Dispatcher.java:712) > at > org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:234) > 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:265) > 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:275) > at > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) > 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:183) > 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.valves.AccessLogValve.invoke(AccessLogValve.java:568) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > at java.lang.Thread.run(Thread.java:619) > 27 Aug 13:34:19 ERROR [geoserver.ows] - > org.vfny.geoserver.wms.WmsException: > org.vfny.geoserver.wms.WmsException: Rendering process failed > at > org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:447) > at > org.geoserver.ows.adapters.ResponseAdapter.getMimeType(ResponseAdapter.java:48) > at org.geoserver.ows.Dispatcher.response(Dispatcher.java:712) > at > org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:234) > 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:265) > 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:275) > at > org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:124) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:174) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249) > at > org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275) > at > org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149) > 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:183) > 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.valves.AccessLogValve.invoke(AccessLogValve.java:568) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) > at > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) > at java.lang.Thread.run(Thread.java:619) > Caused by: org.vfny.geoserver.wms.WmsException: Rendering process failed > at > org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(DefaultRasterMapProducer.java:400) > at > org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:426) > ... 52 more > Caused by: java.lang.Exception: Error rendering feature > at > org.geotools.renderer.lite.StreamingRenderer.drawOptimized(StreamingRenderer.java:1884) > at > org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1792) > at > org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:699) > at > org.geotools.renderer.shape.ShapefileRenderer.renderWithStreamingRenderer(ShapefileRenderer.java:1525) > at > org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:1373) > at > org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(DefaultRasterMapProducer.java:376) > ... 53 more > Caused by: java.lang.IllegalArgumentException: Unknown image type 0 > at java.awt.image.BufferedImage.<init>(BufferedImage.java:490) > at > org.geotools.renderer.lite.StyledShapePainter.drawWithGraphicsStroke(StyledShapePainter.java:415) > at > org.geotools.renderer.lite.StyledShapePainter.paint(StyledShapePainter.java:217) > at > org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(StreamingRenderer.java:2061) > at > org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.java:1985) > at > org.geotools.renderer.lite.StreamingRenderer.drawOptimized(StreamingRenderer.java:1879) > ... 58 more > > Using a Mark with a WellKnownName works, using GIF images does not > result in an error but the image is rendered in black and white. > > Is this a known issue under 2.0.2? If so is there any other way to > achieve the desired result.
Wait for GeoServer 2.1.0. The changes that have been performed in the renderer on trunk are extensive and dependent on each other, untangling them and backport to 2.0.x is not going to be easy (e.g., not something I can do in a couple of hours) Cheers Andrea -- Andrea Aime OpenGeo - http://opengeo.org Expert service straight from the developers. ------------------------------------------------------------------------------ Sell apps to millions through the Intel(R) Atom(Tm) Developer Program Be part of this innovative community and reach millions of netbook users worldwide. Take advantage of special opportunities to increase revenue and speed time-to-market. Join now, and jumpstart your future. http://p.sf.net/sfu/intel-atom-d2d _______________________________________________ Geoserver-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/geoserver-users
