Hi Gordon.

Thanks for your reply. 

As I understand you use gdaltindex to create the tile index for each level. 
Further more you create the properties file at the root of the pyramid. This I 
can do, but it doesn't seem to change anything for Geoserver. When I try to add 
my pyramid root folder as an ImagePyramid store in Geoserver, it returns with 
this error:

INFO   | jvm 1    | 2012/06/20 14:10:24 | java.lang.RuntimeException: Could not 
list layers for this store, an error occurred retrieving them: Unable to 
acquire test coverage for format:ImagePyramid
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:115)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.web.wicket.GeoServerDataProvider.fullSize(GeoServerDataProvider.java:225)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.updateMatched(GeoServerTablePanel.java:509)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.<init>(GeoServerTablePanel.java:502)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.web.wicket.GeoServerTablePanel.<init>(GeoServerTablePanel.java:200)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.web.wicket.GeoServerTablePanel.<init>(GeoServerTablePanel.java:91)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.web.data.layer.NewLayerPage$1.<init>(NewLayerPage.java:107)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.web.data.layer.NewLayerPage.<init>(NewLayerPage.java:104)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.web.data.store.CoverageStoreNewPage.onSave(CoverageStoreNewPage.java:71)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.web.data.store.AbstractCoverageStorePage$1.onSubmit(AbstractCoverageStorePage.java:114)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink$1.onSubmit(AjaxSubmitLink.java:68)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:143)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:158)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:875)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:809)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.filters.ThreadLocalsCleanupFilter.doFilter(ThreadLocalsCleanupFilter.java:23)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:74)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:45)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:49)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.vfny.geoserver.filters.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:109)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:394)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:109)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.ui.ExceptionTranslationFilter.doFilterHttp(ExceptionTranslationFilter.java:101)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.providers.anonymous.AnonymousProcessingFilter.doFilterHttp(AnonymousProcessingFilter.java:105)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.ui.rememberme.RememberMeProcessingFilter.doFilterHttp(RememberMeProcessingFilter.java:116)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.wrapper.SecurityContextHolderAwareRequestFilter.doFilterHttp(SecurityContextHolderAwareRequestFilter.java:91)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.ui.AbstractProcessingFilter.doFilterHttp(AbstractProcessingFilter.java:278)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.ui.logout.LogoutFilter.doFilterHttp(LogoutFilter.java:89)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.context.HttpSessionContextIntegrationFilter.doFilterHttp(HttpSessionContextIntegrationFilter.java:235)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.ui.SpringSecurityFilter.doFilter(SpringSecurityFilter.java:53)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:406)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.util.FilterChainProxy.doFilter(FilterChainProxy.java:185)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.springframework.security.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:99)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.filters.LoggingFilter.doFilter(LoggingFilter.java:71)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.filters.ReverseProxyFilter.doFilter(ReverseProxyFilter.java:183)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:41)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:46)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.Server.handle(Server.java:324)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)
INFO   | jvm 1    | 2012/06/20 14:10:24 | Caused by: java.lang.Exception: 
Unable to acquire test coverage for format:ImagePyramid
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.catalog.CatalogBuilder.buildCoverage(CatalogBuilder.java:908)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.catalog.CatalogBuilder.buildCoverage(CatalogBuilder.java:815)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       at 
org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:82)
INFO   | jvm 1    | 2012/06/20 14:10:24 |       ... 95 more

If I try to update an existing ImagePyramid store, restart Geoserver, it seems 
like Geoserver is updating all the index files anyway.

Regards, Casper Børgesen
-----Original Message-----
From: Gordon Keith [mailto:gordon.ke...@csiro.au] 
Sent: 19. juni 2012 00:50
To: geoserver-users@lists.sourceforge.net
Cc: Casper Børgesen (CABO)
Subject: Re: [Geoserver-users] How to build the indexes of an image-pyramid

On Mon, 18 Jun 2012 05:56:11 PM Casper Børgesen wrote:
> I have experimented with creating the data for an image pyramid. I 
> have created a set of files in a folder structure like in the following 
> example:
> 
> Pyramid:
>     0:
>         12:
>              GeoTiffs
>         13:
>              GeoTiffs
>         14:
>              GeoTiffs
>     1:
>         6:
>              GeoTiffs
>         7:
>              GeoTiffs
>     2:
>         3:
>              GeoTiffs
> 
> If I try to create an image pyramid through Geoserver using the 
> ImagePyramid plugin, it creates a pyramid from level 0 only and returns 
> without errors.
> The shape file from level 0 seems to include all the Geotiffs on that 
> level. I would expect however, that the pyramid included level 1 and 2 
> also, but it doesn’t.
> 
> It seems as it doesn’t see the two other levels, so is there a file 
> name convention for the Geotiffs when using Geoserver to build the pyramid?
> Currently my naming scheme is <tilesize>_<northing>_<easting>.tif
> 
> And is there another way to build the pyramid without using Geoserver 
> to build the index files? I have a rather large set of files and I 
> don’t want the geoserver to use resources on creating the indexes if I 
> can do it on a workstation instead.

I've attached the script I use to build my image pyramids. The script is 
designed to update existing pyramids by copying any new geotiffs from the work 
area where I build them but it will also build the pyramid from scratch.

My pyramids have a directory structure with the pyramid name as the base 
directory name then a bunch of subdirectories having geotiffs.

There's lots of stuff you probably don't need but the core bits are there.

Hope this helps
Gordon
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to