[Geoserver-users] Failing to Render WMS PNG Image

Hello,

I have a WFS set up which is successfully returning me feature data in the GML 3.1 format. I’m now trying to generate a PNG image through a WMS request, but unfortunately I’m given the following error:

“Rendering process failed null Details: org.geoserver.platform.ServiceException: Rendering process failed”.

From the stack trace, it appears that the bounding box I am specifying in my WMS request is incorrect. However, I’m requesting the same bounding box that is automatically computed by GeoServer. Can someone please advise me where I may be going wrong?

Best Regards,

Ryan

WMS request:

http://localhost:8080/geoserver/wms?request=GetMap&width=100&height=100&layers=DepthArea&format=image/png&count=1&srs=EPSG:4326&bbox=-1.304114,50.724729,-1.040936,50.817929

Stack trace:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

Rendering process failed

null

Details:

org.geoserver.platform.ServiceException: Rendering process failed

at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:507)

at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:251)

at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:123)

at org.geoserver.wms.GetMap.executeInternal(GetMap.java:521)

at org.geoserver.wms.GetMap.run(GetMap.java:253)

at org.geoserver.wms.GetMap.run(GetMap.java:124)

at org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.java:328)

at sun.reflect.GeneratedMethodAccessor245.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

at org.geoserver.kml.WebMapServiceKmlInterceptor.invoke(WebMapServiceKmlInterceptor.java:34)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:61)

at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:35)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:73)

at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:54)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.java:54)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

at $Proxy65.getMap(Unknown Source)

at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:774)

at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:272)

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:923)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)

at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:27)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:74)

at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:45)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:53)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:82)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)

at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:134)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:75)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:47)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:43)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)

at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

at org.mortbay.jetty.Server.handle(Server.java:324)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)

at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)

at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)

Caused by: java.lang.IllegalArgumentException

at org.geotools.filter.FilterFactoryImpl.bbox2d(FilterFactoryImpl.java:434)

at org.geotools.filter.FilterFactoryImpl.bbox(FilterFactoryImpl.java:423)

at org.geotools.data.complex.filter.UnmappingFilterVisitor.visit(UnmappingFilterVisitor.java:539)

at org.geotools.renderer.lite.FastBBOX.accept(FastBBOX.java:127)

at org.geotools.data.complex.AppSchemaDataAccess.unrollFilter(AppSchemaDataAccess.java:593)

at org.geotools.data.complex.AppSchemaDataAccess.unrollQuery(AppSchemaDataAccess.java:319)

at org.geotools.data.complex.AbstractMappingFeatureIterator.getUnrolledQuery(AbstractMappingFeatureIterator.java:315)

at org.geotools.data.complex.AbstractMappingFeatureIterator.<init>(AbstractMappingFeatureIterator.java:202)

at org.geotools.data.complex.DataAccessMappingFeatureIterator.<init>(DataAccessMappingFeatureIterator.java:135)

at org.geotools.data.complex.MappingFeatureIteratorFactory.getInstance(MappingFeatureIteratorFactory.java:193)

at org.geotools.data.complex.MappingFeatureCollection.features(MappingFeatureCollection.java:174)

at org.geotools.renderer.lite.StreamingRenderer.drawPlain(StreamingRenderer.java:2475)

at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:2045)

at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:829)

at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:481)

… 103 more

Ryan,

I think this is an axis order problem - see http://docs.geotools.org/latest/userguide/library/referencing/order.html for a fuller discussion. The issue ids that you didn’t specify wms version you wanted to use and I suspect that the default is 1.3 (which flips the axis order), so either add version=1.1.0 or flip the coordinates.

Ian
PS Neil T can explain further if you need :slight_smile:

···

On 7 November 2013 16:52, Ryan Moody <ryan.moody@anonymised.com> wrote:

Hello,

I have a WFS set up which is successfully returning me feature data in the GML 3.1 format. I’m now trying to generate a PNG image through a WMS request, but unfortunately I’m given the following error:

“Rendering process failed null Details: org.geoserver.platform.ServiceException: Rendering process failed”.

From the stack trace, it appears that the bounding box I am specifying in my WMS request is incorrect. However, I’m requesting the same bounding box that is automatically computed by GeoServer. Can someone please advise me where I may be going wrong?

Best Regards,

Ryan

WMS request:

http://localhost:8080/geoserver/wms?request=GetMap&width=100&height=100&layers=DepthArea&format=image/png&count=1&srs=EPSG:4326&bbox=-1.304114,50.724729,-1.040936,50.817929

Stack trace:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

Rendering process failed

null

Details:

org.geoserver.platform.ServiceException: Rendering process failed

at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:507)

at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:251)

at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:123)

at org.geoserver.wms.GetMap.executeInternal(GetMap.java:521)

at org.geoserver.wms.GetMap.run(GetMap.java:253)

at org.geoserver.wms.GetMap.run(GetMap.java:124)

at org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.java:328)

at sun.reflect.GeneratedMethodAccessor245.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)

at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

at org.geoserver.kml.WebMapServiceKmlInterceptor.invoke(WebMapServiceKmlInterceptor.java:34)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:61)

at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:35)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:73)

at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:54)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.java:54)

at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

at $Proxy65.getMap(Unknown Source)

at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

at java.lang.reflect.Method.invoke(Unknown Source)

at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:774)

at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:272)

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:923)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)

at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:27)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:74)

at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:45)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)

at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:53)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:82)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)

at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)

at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52)

at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)

at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)

at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)

at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)

at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:134)

at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)

at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:75)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:47)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:43)

at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)

at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)

at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)

at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)

at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

at org.mortbay.jetty.Server.handle(Server.java:324)

at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)

at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)

at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)

at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)

at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)

at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)

at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)

Caused by: java.lang.IllegalArgumentException

at org.geotools.filter.FilterFactoryImpl.bbox2d(FilterFactoryImpl.java:434)

at org.geotools.filter.FilterFactoryImpl.bbox(FilterFactoryImpl.java:423)

at org.geotools.data.complex.filter.UnmappingFilterVisitor.visit(UnmappingFilterVisitor.java:539)

at org.geotools.renderer.lite.FastBBOX.accept(FastBBOX.java:127)

at org.geotools.data.complex.AppSchemaDataAccess.unrollFilter(AppSchemaDataAccess.java:593)

at org.geotools.data.complex.AppSchemaDataAccess.unrollQuery(AppSchemaDataAccess.java:319)

at org.geotools.data.complex.AbstractMappingFeatureIterator.getUnrolledQuery(AbstractMappingFeatureIterator.java:315)

at org.geotools.data.complex.AbstractMappingFeatureIterator.<init>(AbstractMappingFeatureIterator.java:202)

at org.geotools.data.complex.DataAccessMappingFeatureIterator.<init>(DataAccessMappingFeatureIterator.java:135)

at org.geotools.data.complex.MappingFeatureIteratorFactory.getInstance(MappingFeatureIteratorFactory.java:193)

at org.geotools.data.complex.MappingFeatureCollection.features(MappingFeatureCollection.java:174)

at org.geotools.renderer.lite.StreamingRenderer.drawPlain(StreamingRenderer.java:2475)

at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:2045)

at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:829)

at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:481)

… 103 more


November Webinars for C, C++, Fortran Developers
Accelerate application performance with scalable programming models. Explore
techniques for threading, error checking, porting, and tuning. Get the most
from the latest Intel processors and coprocessors. See abstracts and register
http://pubads.g.doubleclick.net/gampad/clk?id=60136231&iu=/4140/ostg.clktrk


Geoserver-users mailing list
Geoserver-users@anonymised.comsts.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users


Ian Turton

Hi,

I would start with the Geoserver demo layers and with complete WMS GetMap requests. Especially I recommend to always use SERVICE and VERSION with OGC web services even they are not always compulsory by the standard.

OpenJUMP comes with a nice BeanShell tool which shows the GetMap url that was used for fetching the image on the map. Here are examples for the "states" layer and for WMS 1.1.1 and 1.3.0

http://localhost:8080/geoserver/wms?
SERVICE=WMS&
REQUEST=GetMap&
SERVICE=WMS&
VERSION=1.1.1&
WIDTH=459&
HEIGHT=353&
LAYERS=topp:states&
TRANSPARENT=TRUE&
FORMAT=image/png&
BBOX=-125.964082115,14.004707960577342,-65.737188885,60.32299403942266&
SRS=EPSG:4326&
STYLES=

http://localhost:8080/geoserver/ows?
SERVICE=WMS&
REQUEST=GetMap&
SERVICE=WMS&
VERSION=1.3.0&
WIDTH=459&
HEIGHT=353&
LAYERS=topp:states&
TRANSPARENT=TRUE&
FORMAT=image/png&
BBOX=14.004707960577342,-125.964082115,60.32299403942266,-65.737188885&
CRS=EPSG:4326&
STYLES=

Pay attention to the order of lat and lon in the BBOX when using the EPSG:4326 system.

________________________________
Ryan Moody wrote:

Hello,

I have a WFS set up which is successfully returning me feature data in the GML 3.1 format. I’m now trying to generate a PNG image through a WMS request, but unfortunately I’m given the following error:

“Rendering process failed null Details: org.geoserver.platform.ServiceException: Rendering process failed”.

From the stack trace, it appears that the bounding box I am specifying in my WMS request is incorrect. However, I’m requesting the same bounding box that is automatically computed by GeoServer. Can someone please advise me where I may be going wrong?

Best Regards,

Ryan

WMS request:

http://localhost:8080/geoserver/wms?request=GetMap&width=100&height=100&layers=DepthArea&format=image/png&count=1&srs=EPSG:4326&bbox=-1.304114,50.724729,-1.040936,50.817929

Stack trace:

<?xml version="1.0" encoding="UTF-8" standalone="no"?><!DOCTYPE ServiceExceptionReport SYSTEM "http://localhost:8080/geoserver/schemas/wms/1.1.1/WMS_exception_1_1_1.dtd&quot;&gt; <ServiceExceptionReport version="1.1.1" > <ServiceException code="internalError">
     Rendering process failed
null
Details:
org.geoserver.platform.ServiceException: Rendering process failed
                at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:507)
                at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:251)
                at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:123)
                at org.geoserver.wms.GetMap.executeInternal(GetMap.java:521)
                at org.geoserver.wms.GetMap.run(GetMap.java:253)
                at org.geoserver.wms.GetMap.run(GetMap.java:124)
                at org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.java:328)
                at sun.reflect.GeneratedMethodAccessor245.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.lang.reflect.Method.invoke(Unknown Source)
                at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:319)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
                at org.geoserver.kml.WebMapServiceKmlInterceptor.invoke(WebMapServiceKmlInterceptor.java:34)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:61)
                at org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:35)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:73)
                at org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:54)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                at org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.java:54)
                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
                at $Proxy65.getMap(Unknown Source)
                at sun.reflect.GeneratedMethodAccessor214.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
                at java.lang.reflect.Method.invoke(Unknown Source)
                at org.geoserver.ows.Dispatcher.execute(Dispatcher.java:774)
                at org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:272)
                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:923)
                at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)
                at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)
                at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
                at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
                at org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:27)
                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
                at org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:74)
                at org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:45)
                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
                at org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49)
                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
                at org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
                at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
                at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
                at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
                at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
                at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
                at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
                at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
                at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                at org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:53)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
                at org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
                at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
                at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
                at org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:82)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:68)
                at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
                at org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52)
                at org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:72)
                at org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91)
                at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
                at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
                at org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:134)
                at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
                at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
                at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:75)
                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
                at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42)
                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
                at org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:47)
                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
                at org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:43)
                at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
                at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
                at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
                at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
                at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
                at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
                at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
                at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
                at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
                at org.mortbay.jetty.Server.handle(Server.java:324)
                at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
                at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:828)
                at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:514)
                at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
                at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
                at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
                at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
Caused by: java.lang.IllegalArgumentException
                at org.geotools.filter.FilterFactoryImpl.bbox2d(FilterFactoryImpl.java:434)
                at org.geotools.filter.FilterFactoryImpl.bbox(FilterFactoryImpl.java:423)
                at org.geotools.data.complex.filter.UnmappingFilterVisitor.visit(UnmappingFilterVisitor.java:539)
                at org.geotools.renderer.lite.FastBBOX.accept(FastBBOX.java:127)
                at org.geotools.data.complex.AppSchemaDataAccess.unrollFilter(AppSchemaDataAccess.java:593)
                at org.geotools.data.complex.AppSchemaDataAccess.unrollQuery(AppSchemaDataAccess.java:319)
                at org.geotools.data.complex.AbstractMappingFeatureIterator.getUnrolledQuery(AbstractMappingFeatureIterator.java:315)
                at org.geotools.data.complex.AbstractMappingFeatureIterator.&lt;init&gt;(AbstractMappingFeatureIterator.java:202)
                at org.geotools.data.complex.DataAccessMappingFeatureIterator.&lt;init&gt;(DataAccessMappingFeatureIterator.java:135)
                at org.geotools.data.complex.MappingFeatureIteratorFactory.getInstance(MappingFeatureIteratorFactory.java:193)
                at org.geotools.data.complex.MappingFeatureCollection.features(MappingFeatureCollection.java:174)
                at org.geotools.renderer.lite.StreamingRenderer.drawPlain(StreamingRenderer.java:2475)
                at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:2045)
                at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:829)
                at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:481)
                ... 103 more

</ServiceException></ServiceExceptionReport>

On Thu, Nov 7, 2013 at 5:52 PM, Ryan Moody <ryan.moody@anonymised.com> wrote:

Caused by: java.lang.IllegalArgumentException

                at
org.geotools.filter.FilterFactoryImpl.bbox2d(FilterFactoryImpl.java:434)

                at
org.geotools.filter.FilterFactoryImpl.bbox(FilterFactoryImpl.java:423)

                at
org.geotools.data.complex.filter.UnmappingFilterVisitor.visit(UnmappingFilterVisitor.java:539)

                at
org.geotools.renderer.lite.FastBBOX.accept(FastBBOX.java:127)

                at
org.geotools.data.complex.AppSchemaDataAccess.unrollFilter(AppSchemaDataAccess.java:593)

                at
org.geotools.data.complex.AppSchemaDataAccess.unrollQuery(AppSchemaDataAccess.java:319)

                at
org.geotools.data.complex.AbstractMappingFeatureIterator.getUnrolledQuery(AbstractMappingFeatureIterator.java:315)

                at
org.geotools.data.complex.AbstractMappingFeatureIterator.&lt;init&gt;(AbstractMappingFeatureIterator.java:202)

                at
org.geotools.data.complex.DataAccessMappingFeatureIterator.&lt;init&gt;(DataAccessMappingFeatureIterator.java:135)

                at
org.geotools.data.complex.MappingFeatureIteratorFactory.getInstance(MappingFeatureIteratorFactory.java:193)

                at
org.geotools.data.complex.MappingFeatureCollection.features(MappingFeatureCollection.java:174)

                at
org.geotools.renderer.lite.StreamingRenderer.drawPlain(StreamingRenderer.java:2475)

                at
org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:2045)

                at
org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:829)

                at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:481)

                ... 103 more

Ok, so we have a filter visitor in app-schema (thus, you are using complex
features) that bombs
when dealing with the FastBBOX filter, an custom optimized BBOX filter
implementation that
speeds up (significantly, at least on fast data sources) rendering.
Possibly something for Ben and Rini to look at?

Cheers
Andrea

--

Our support, Your Success! Visit http://opensdi.geo-solutions.it for more
information.

Ing. Andrea Aime
@geowolf
Technical Lead

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549

http://www.geo-solutions.it
http://twitter.com/geosolutions_it

-------------------------------------------------------

Hi Ryan,

I suspect it has something to do with your style.

Is it referring to some properties that don’t exist in the complex feature type?

This might help: http://docs.geoserver.org/latest/en/user/data/app-schema/wms-support.html

Some examples in the unit tests here: https://github.com/geoserver/geoserver/blob/master/src/extension/app-schema/app-schema-test/src/test/java/org/geoserver/test/WmsGetMapTest.java

Cheers

Rini

···

From: andrea.aime@anonymised.com [mailto:andrea.aime@anonymised.com] On Behalf Of Andrea Aime
Sent: Friday, 8 November 2013 5:07 PM
To: Ryan Moody; Angreani, Rini (CESRE, Kensington); Caradoc-Davies, Ben (CESRE, Kensington)
Cc: GeoServer Mailing List List; Francoise Kingman; Neil Kirk
Subject: Re: [Geoserver-users] Failing to Render WMS PNG Image

On Thu, Nov 7, 2013 at 5:52 PM, Ryan Moody <ryan.moody@anonymised.com> wrote:

Caused by: java.lang.IllegalArgumentException

at org.geotools.filter.FilterFactoryImpl.bbox2d(FilterFactoryImpl.java:434)

at org.geotools.filter.FilterFactoryImpl.bbox(FilterFactoryImpl.java:423)

at org.geotools.data.complex.filter.UnmappingFilterVisitor.visit(UnmappingFilterVisitor.java:539)

at org.geotools.renderer.lite.FastBBOX.accept(FastBBOX.java:127)

at org.geotools.data.complex.AppSchemaDataAccess.unrollFilter(AppSchemaDataAccess.java:593)

at org.geotools.data.complex.AppSchemaDataAccess.unrollQuery(AppSchemaDataAccess.java:319)

at org.geotools.data.complex.AbstractMappingFeatureIterator.getUnrolledQuery(AbstractMappingFeatureIterator.java:315)

at org.geotools.data.complex.AbstractMappingFeatureIterator.<init>(AbstractMappingFeatureIterator.java:202)

at org.geotools.data.complex.DataAccessMappingFeatureIterator.<init>(DataAccessMappingFeatureIterator.java:135)

at org.geotools.data.complex.MappingFeatureIteratorFactory.getInstance(MappingFeatureIteratorFactory.java:193)

at org.geotools.data.complex.MappingFeatureCollection.features(MappingFeatureCollection.java:174)

at org.geotools.renderer.lite.StreamingRenderer.drawPlain(StreamingRenderer.java:2475)

at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:2045)

at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:829)

at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:481)

… 103 more

Ok, so we have a filter visitor in app-schema (thus, you are using complex features) that bombs

when dealing with the FastBBOX filter, an custom optimized BBOX filter implementation that

speeds up (significantly, at least on fast data sources) rendering.

Possibly something for Ben and Rini to look at?

Cheers

Andrea

==

Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it


Andrea, Ian, Rahkonen and Rini, thank you all for your suggestions. I’m now using the following WMS request:

http://localhost:8080/geoserver/wms?

SERVICE=WMS&

REQUEST=GetMap&

VERSION=1.1.0&

WIDTH=459&

HEIGHT=353&

LAYERS=sprint21:DepthArea&

TRANSPARENT=TRUE&

FORMAT=image/png&

BBOX=-1.304114,50.724729,-1.040936,50.817929&

SRS=EPSG:4326&

STYLES=

I believe this is the correct WMS request following Ian’s guidance – I’ve also set STYLES=, which should make the layer use its default style. I’ve checked in the GeoServer Web Admin page – my DepthArea layer has “polygon” as its default style, and this SLD just specifies that polygons should be rendered in a certain colour – there are no complex rendering rules based on the feature’s attribution, so I don’t think the bounding box error is being caused by an invalid styling.

Can you think of anything else I can try, or any other configurations I should check that may resolve this bounding box issue?

Best Regards,

Ryan

From: Rini.Angreani@anonymised.com [mailto:Rini.Angreani@anonymised.com]
Sent: 08 November 2013 09:55
To: andrea.aime@anonymised.com; Ryan Moody; Ben.Caradoc-Davies@anonymised.com
Cc: geoserver-users@lists.sourceforge.net; Francoise Kingman; Neil Kirk
Subject: RE: [Geoserver-users] Failing to Render WMS PNG Image

Hi Ryan,

I suspect it has something to do with your style.

Is it referring to some properties that don’t exist in the complex feature type?

This might help: http://docs.geoserver.org/latest/en/user/data/app-schema/wms-support.html

Some examples in the unit tests here: https://github.com/geoserver/geoserver/blob/master/src/extension/app-schema/app-schema-test/src/test/java/org/geoserver/test/WmsGetMapTest.java

Cheers

Rini

From: andrea.aime@anonymised.com [mailto:andrea.aime@anonymised.com] On Behalf Of Andrea Aime
Sent: Friday, 8 November 2013 5:07 PM
To: Ryan Moody; Angreani, Rini (CESRE, Kensington); Caradoc-Davies, Ben (CESRE, Kensington)
Cc: GeoServer Mailing List List; Francoise Kingman; Neil Kirk
Subject: Re: [Geoserver-users] Failing to Render WMS PNG Image

On Thu, Nov 7, 2013 at 5:52 PM, Ryan Moody <ryan.moody@anonymised.com> wrote:

Caused by: java.lang.IllegalArgumentException

at org.geotools.filter.FilterFactoryImpl.bbox2d(FilterFactoryImpl.java:434)

at org.geotools.filter.FilterFactoryImpl.bbox(FilterFactoryImpl.java:423)

at org.geotools.data.complex.filter.UnmappingFilterVisitor.visit(UnmappingFilterVisitor.java:539)

at org.geotools.renderer.lite.FastBBOX.accept(FastBBOX.java:127)

at org.geotools.data.complex.AppSchemaDataAccess.unrollFilter(AppSchemaDataAccess.java:593)

at org.geotools.data.complex.AppSchemaDataAccess.unrollQuery(AppSchemaDataAccess.java:319)

at org.geotools.data.complex.AbstractMappingFeatureIterator.getUnrolledQuery(AbstractMappingFeatureIterator.java:315)

at org.geotools.data.complex.AbstractMappingFeatureIterator.<init>(AbstractMappingFeatureIterator.java:202)

at org.geotools.data.complex.DataAccessMappingFeatureIterator.<init>(DataAccessMappingFeatureIterator.java:135)

at org.geotools.data.complex.MappingFeatureIteratorFactory.getInstance(MappingFeatureIteratorFactory.java:193)

at org.geotools.data.complex.MappingFeatureCollection.features(MappingFeatureCollection.java:174)

at org.geotools.renderer.lite.StreamingRenderer.drawPlain(StreamingRenderer.java:2475)

at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:2045)

at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:829)

at org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:481)

… 103 more

Ok, so we have a filter visitor in app-schema (thus, you are using complex features) that bombs

when dealing with the FastBBOX filter, an custom optimized BBOX filter implementation that

speeds up (significantly, at least on fast data sources) rendering.

Possibly something for Ben and Rini to look at?

Cheers

Andrea

==

Our support, Your Success! Visit http://opensdi.geo-solutions.it for more information.

==

Ing. Andrea Aime

@geowolf

Technical Lead

GeoSolutions S.A.S.

Via Poggio alle Viti 1187

55054 Massarosa (LU)

Italy

phone: +39 0584 962313

fax: +39 0584 1660272

mob: +39 339 8844549

http://www.geo-solutions.it

http://twitter.com/geosolutions_it