[Geoserver-users] Exception when using special SLD

Hi geoserver list,
i tried to render a map with an SLD that uses the WellKnownName circle. It didn’t work. Instead of this i was running into an error:

java.lang.IllegalArgumentException: alpha value out of range
at java.awt.AlphaComposite.(AlphaComposite.java:601)
at java.awt.AlphaComposite.getInstance(AlphaComposite.java:671)
at org.geotools.renderer.style.SLDStyleFactory.getComposite(SLDStyleFactory.java:1050)
at org.geotools.renderer.style.SLDStyleFactory.fillDrawMark(SLDStyleFactory.java:1272)
at org.geotools.renderer.style.SLDStyleFactory.getTexturePaint(SLDStyleFactory.java:1091)
at org.geotools.renderer.style.SLDStyleFactory.getPaint(SLDStyleFactory.java:1030)
at org.geotools.renderer.style.SLDStyleFactory.createPolygonStyle(SLDStyleFactory.java:376)
at org.geotools.renderer.style.SLDStyleFactory.createStyleInternal(SLDStyleFactory.java:330)
at org.geotools.renderer.style.SLDStyleFactory.createStyle(SLDStyleFactory.java:295)
at org.geotools.renderer.lite.StreamingRenderer.processSymbolizers(StreamingRenderer.java:1728)
at org.geotools.renderer.lite.StreamingRenderer.process(StreamingRenderer.java:1655)
at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1599)
at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:649)
at org.geotools.renderer.shape.ShapefileRenderer.renderWithStreamingRenderer(ShapefileRenderer.java:1443)
at org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:1313)
at org.geotools.renderer.shape.ShapefileRenderer.paint(ShapefileRenderer.java:262)
at org.vfny.geoserver.wms.responses.DefaultRasterMapProducer.produceMap(DefaultRasterMapProducer.java:310)
at org.vfny.geoserver.wms.responses.GetMapResponse.execute(GetMapResponse.java:436)
at org.geoserver.ows.adapters.ResponseAdapter.getMimeType(ResponseAdapter.java:48)
at org.geoserver.ows.Dispatcher.response(Dispatcher.java:616)
at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:192)
at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:139)
at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:44)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:684)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:625)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:392)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:347)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:108)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:69)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
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:215)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)

at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)

Here’s the SLD:

<?xml version="1.0" encoding="UTF-8"?> HYDGEO.PV_TWSHQS HYDGEO.PV_TWSHQS_style geoserver style Generated by GeoServer Trinkwasserschutzgebiete Trinkwasserschutzgebiete ZONE_ID 1 5 circle #FFC2C2

8.0

1 #FFC3C3 0.4 1 WSGNR Times New Roman Normal 12 #888888 1 Heilquellenschutzgebiete Heilquellenschutzgebiete ZONE_ID 5 #ACC6FA 0.6 #ACC6FA 0.4 1 WSGNR Times New Roman Normal 12 #777777 1

It’s the top PolygonSysmbolizer which caused the error. Is it a bug? I’m using geoserver 1.6.3 on Windows server 2003 platform.

Kind regards
Albrecht

On Thu, Jun 19, 2008 at 8:53 AM, <Albrecht.Weiser@anonymised.com> wrote:

Hi geoserver list,
i tried to render a map with an SLD that uses the WellKnownName circle. It
didn't work. Instead of this i was running into an error:

You can't have an opacity of 8.0 - it should be between 0 and 1 where
0 is transparent and 1 is opace. However I suspect we should have a
logical check to prevent this throwing an exception and provide a
nicer error message.

Ian

Hi Ian,
thanks for answering. That's an oversight - It's a little awkward, it should be 0.8 and not 8.0 :o/
In this context i tested the WellKnownNames-rendering of geoserver:
square renders a square;circle - square; triangle - triangle; star - square; cross - circle; x - x.
Assuming that a square is the default geometry and star and cross aren't implemented since 1.6.3, the circle at the cross-definition seems to be at the wrong place isn't it?

Albrecht Weiser,
E6, GIS Center

Hessische Zentrale für Datenverarbeitung (HZD)
Mainzer Straße 29, 65185 Wiesbaden
Tel.: 0611 340-3113
Fax: 0611 340-5113
E-Mail: albrecht.weiser@anonymised.com

-----Ursprüngliche Nachricht-----
Von: Ian Turton [mailto:ijturton@anonymised.com]
Gesendet: Donnerstag, 19. Juni 2008 17:18
An: Weiser, Albrecht (HZD)
Cc: geoserver-users@lists.sourceforge.net
Betreff: Re: [Geoserver-users] Exception when using special SLD

On Thu, Jun 19, 2008 at 8:53 AM,
<Albrecht.Weiser@anonymised.com> wrote:
> Hi geoserver list,
> i tried to render a map with an SLD that uses the
WellKnownName circle. It
> didn't work. Instead of this i was running into an error:

You can't have an opacity of 8.0 - it should be between 0 and 1 where
0 is transparent and 1 is opace. However I suspect we should have a
logical check to prevent this throwing an exception and provide a
nicer error message.

Ian

Albrecht.Weiser@anonymised.com wrote:

Hi Ian, thanks for answering. That's an oversight - It's a little
awkward, it should be 0.8 and not 8.0 :o/ In this context i tested
the WellKnownNames-rendering of geoserver: square renders a
square;circle - square; triangle - triangle; star - square; cross -
circle; x - x. Assuming that a square is the default geometry and
star and cross aren't implemented since 1.6.3, the circle at the
cross-definition seems to be at the wrong place isn't it?

Hmm... nasty.
Can you open a bug report on jira.codehaus.org about this?
Cheers
Andrea