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

Reply via email to