1

I am using MBtiles files from OpenMapTiles (free ones for personal and non commercial project) in Geoserver (I have installed the MBTiles extension) the store creation work perfectly but I got an error when I try to publish the layer...

I have tried some other MBtiles files from other platforms like https://www.openslopemap.org/download/ and a demo_layer from MapBox and they work perfectly.

  • Geoserver (version 2.15.0)
  • WPS extension (version 2.15.0)
  • MBTiles extension (version 2.15.0)

error messages. Summarized it says that:

  • Caused by: java.lang.reflect.InvocationTargetException
  • Caused by: java.lang.RuntimeException: Error occurred while building the resources for the configuration page
  • Caused by: java.util.NoSuchElementException

The error message in detail is:

org.apache.wicket.WicketRuntimeException: Method onRequest of interface 
org.apache.wicket.behavior.IBehaviorListener targeted at 
org.apache.wicket.ajax.markup.html.AjaxLink$1@77e6544d on component 
[AjaxLink [Component id = link]] threw an exception 
    at 
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:268) 
    at 
org.apache.wicket.RequestListenerInterface.invoke(RequestListenerInterface.java:241) 
    at 
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.invokeListener(ListenerInterfaceRequestHandler.java:248) 
    at 
org.apache.wicket.core.request.handler.ListenerInterfaceRequestHandler.respond(ListenerInterfaceRequestHandler.java:234) 
    at 
org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:895) 
    at 
org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64) 
    at 
org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:265) 
    at 
org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:222) 
    at 
org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:293) 
    at 
org.apache.wicket.protocol.http.WicketFilter.processRequestCycle(WicketFilter.java:261) 
    at 
org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:203) 
    at 
org.apache.wicket.protocol.http.WicketServlet.doGet(WicketServlet.java:137) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:635) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) 
    at 
org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:165) 
    at 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:177) 
    at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:52) 
    at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038) 
    at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) 
    at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:998) 
    at 
org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:890) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:635) 
    at 
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:875) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at 
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at 
org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:26) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:69) 
    at 
org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:73) 
    at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:66) 
    at 
org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:41) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at 
org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:37) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:320) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70) 
    at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127) 
    at 
org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91) 
    at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70) 
    at 
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:119) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91) 
    at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 
    at 
org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:51) 
    at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70) 
    at 
org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:200) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91) 
    at 
org.geoserver.security.filter.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:112) 
    at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70) 
    at 
org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:158) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91) 
    at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:70) 
    at 
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105) 
    at 
org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:52) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:74) 
    at 
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:91) 
    at 
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:334) 
    at 
org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:215) 
    at 
org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:178) 
    at 
org.geoserver.security.GeoServerSecurityFilterChainProxy.doFilter(GeoServerSecurityFilterChainProxy.java:142) 
    at 
org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:357) 
    at 
org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:270) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:90) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at 
org.geoserver.filters.XFrameOptionsFilter.doFilter(XFrameOptionsFilter.java:79) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:42) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at 
org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at 
org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:42) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at 
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) 
    at 
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at 
org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:364) 
    at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:170) 
    at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) 
    at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) 
    at 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) 
    at 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) 
    at 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:493) 
    at 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) 
    at 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) 
    at 
org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:660) 
    at 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) 
    at 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) 
    at 
org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:798) 
    at 
org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) 
    at 
org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:806) 
    at 
org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1498) 
    at 
org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) 
    at 
org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at 
org.apache.wicket.RequestListenerInterface.internalInvoke(RequestListenerInterface.java:258) 
    ... 118 more 
Caused by: java.lang.RuntimeException: Error occurred while building the 
resources for the configuration page 
    at 
org.geoserver.web.data.layer.NewLayerPage.buildLayerInfo(NewLayerPage.java:423) 
    at 
org.geoserver.web.data.layer.NewLayerPage$9.onClick(NewLayerPage.java:312) 
    at 
org.geoserver.web.wicket.SimpleAjaxLink$1.onClick(SimpleAjaxLink.java:47) 
    at 
org.apache.wicket.ajax.markup.html.AjaxLink$1.onEvent(AjaxLink.java:85) 
    at 
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:155) 
    at 
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:601) 
    ... 123 more 
Caused by: java.util.NoSuchElementException 
    at javax.imageio.spi.FilterIterator.next(Unknown Source) 
    at javax.imageio.ImageIO$ImageReaderIterator.next(Unknown Source) 
    at javax.imageio.ImageIO$ImageReaderIterator.next(Unknown Source) 
    at 
org.geotools.mbtiles.mosaic.MBTilesReader.readImage(MBTilesReader.java:279) 
    at 
org.geotools.mbtiles.mosaic.MBTilesReader.read(MBTilesReader.java:249) 
    at 
org.geotools.coverage.grid.io.AbstractGridCoverage2DReader.read(AbstractGridCoverage2DReader.java:242) 
    at 
org.geoserver.catalog.CoverageDimensionCustomizerReader.read(CoverageDimensionCustomizerReader.java:241) 
    at 
org.geoserver.catalog.SingleGridCoverage2DReader.read(SingleGridCoverage2DReader.java:146) 
    at 
org.geoserver.catalog.CatalogBuilder.getCoverageSampleDimensions(CatalogBuilder.java:1154) 
    at 
org.geoserver.catalog.CatalogBuilder.buildCoverageInternal(CatalogBuilder.java:1030) 
    at 
org.geoserver.catalog.CatalogBuilder.buildCoverage(CatalogBuilder.java:951) 
    at 
org.geoserver.catalog.CatalogBuilder.buildCoverage(CatalogBuilder.java:900) 
    at 
org.geoserver.web.data.layer.NewLayerPage.buildLayerInfo(NewLayerPage.java:410) 
    ... 128 more
1

GeoServer's MBTiles extension only supports raster MBTiles.

The openmaptiles.com datasets are vector tiles.

-1

Use tile server GL to get raster endpoint of vector tiles like openmaptiles.

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.