After a serious debug session with Geoserver and GeoTools source code I 
discovered that the GeoTools 
org.geotools.gce.imagemosaic.catalog.GTDataStoreGranuleCatalog class was being 
passed unexpected "typeNames" to its "extractBasicProperties" method (i.e. 
database tables in my Postgresql db) thinking they had feature info in them.  
After looking back at the ImageMosaic tutorial I noticed that it clearly states:

"The configuration needed are the basics: create a new empty DB with geospatial 
extensions, a new schema and configure the user with W/R grants."

My database had other unrelated tables in it and after I created a new database 
meeting the above requirement the ImageMosaic with time and elevation 
dimensions was created successfully and layer published.  I still find this 
empty DB requirement to be a bit odd but at least it is working for me now.

--Steve

From: Stephen Brooke
Sent: Wednesday, August 06, 2014 10:26 AM
To: [email protected]
Subject: RE: Get error trying to use ImageMosaic plugin for raster time-series 
data

Does anyone have any insight into this?  I find it hard to believe that I'm the 
first to discover that the "Using the ImageMosaic plugin for raster time-series 
data" tutorial from the GeoServer documentation doesn't work with GeoServer 
2.5.1 as written.

--Steve

From: Stephen Brooke
Sent: Wednesday, July 30, 2014 11:39 AM
To: 
[email protected]<mailto:[email protected]>
Subject: RE: Get error trying to use ImageMosaic plugin for raster time-series 
data

Tracing into the GeoServer source code it appears the error is coming out of 
the below lines in the org.geoserver.catalog. ResourcePool class but I don't 
understand why:

ResourcePool.java:

...
private GridCoverageReader getGridCoverageReader(CoverageStoreInfo info, 
CoverageInfo coverageInfo, String coverageName, Hints hints)
        throws IOException {
...
                    // readers might change the provided hints, pass down a 
defensive copy
                    reader = gridFormat.getReader(input, new Hints(hints));
                    if(reader == null) {
                        throw new IOException("Failed to create reader from " + 
url + " and hints " + hints);
                    }
...
}
...

--Steve

From: Stephen Brooke
Sent: Wednesday, July 30, 2014 11:20 AM
To: 
[email protected]<mailto:[email protected]>
Subject: Get error trying to use ImageMosaic plugin for raster time-series data

I'm using GeoServer 2.5.1 and PostGIS 2.1.3

I'm trying to run through the tutorial in GeoServer docs "Using the ImageMosaic 
plugin for raster time-series data" and I don't think I've deviated at all from 
the steps from 
(http://docs.geoserver.org/latest/en/user/tutorials/imagemosaic_timeseries/imagemosaic_timeseries.html#id3)
 except to call my "TimeAttribute" "ingest_time" instead of "ingestion", and I 
get the below stacktrace in the GeoServer log and my Coverage Store fails to be 
created.

I'm using the DBMS approach for storing the dimension attributes and spatial 
index and I see that a new table called "snow" is added to my database, however 
the ImageMosaic is not created.  Is there some step missing in this tutorial?  
I'm having a difficult time understanding what problem the operation is having 
with my configuration as the message in the stacktrace is a bit too generic:

>>>>
Caused by: java.io.IOException: Failed to create reader from 
file://D:\Data\gis\hydroalp\snow<file:///D:\Data\gis\hydroalp\snow> and hints 
null
<<<<

The "snow" table has the following contents:
1;"0103000020787F000001000000050000000000000040112341000000004BBA5341000000004011234100000000FDC6534100000000304E234100000000FDC6534100000000304E2341000000004BBA53410000000040112341000000004BBA5341";"snow_20091001.tif";"2009-10-01
 00:00:00";
2;"0103000020787F000001000000050000000000000040112341000000004BBA5341000000004011234100000000FDC6534100000000304E234100000000FDC6534100000000304E2341000000004BBA53410000000040112341000000004BBA5341";"snow_20091101.tif";"2009-11-01
 00:00:00";
3;"0103000020787F000001000000050000000000000040112341000000004BBA5341000000004011234100000000FDC6534100000000304E234100000000FDC6534100000000304E2341000000004BBA53410000000040112341000000004BBA5341";"snow_20091201.tif";"2009-12-01
 00:00:00";


--Steve


30 Jul 18:08:21 INFO [geoserver.web] - Getting list of coverages for saved 
store file://D:\Data\gis\hydroalp\snow<file:///D:\Data\gis\hydroalp\snow>
java.lang.RuntimeException: Could not list layers for this store, an error 
occurred retrieving them: Failed to create reader from 
file://D:\Data\gis\hydroalp\snow<file:///D:\Data\gis\hydroalp\snow> and hints 
null
        at 
org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:150)
        at 
org.geoserver.web.data.layer.NewLayerPageProvider.getItems(NewLayerPageProvider.java:58)
        at 
org.geoserver.web.wicket.GeoServerDataProvider.fullSize(GeoServerDataProvider.java:236)
        at 
org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.updateMatched(GeoServerTablePanel.java:562)
        at 
org.geoserver.web.wicket.GeoServerTablePanel$PagerDelegate.<init>(GeoServerTablePanel.java:555)
        at 
org.geoserver.web.wicket.GeoServerTablePanel.<init>(GeoServerTablePanel.java:219)
        at 
org.geoserver.web.wicket.GeoServerTablePanel.<init>(GeoServerTablePanel.java:98)
        at 
org.geoserver.web.data.layer.NewLayerPage$1.<init>(NewLayerPage.java:101)
        at 
org.geoserver.web.data.layer.NewLayerPage.<init>(NewLayerPage.java:101)
        at 
org.geoserver.web.data.store.CoverageStoreNewPage.onSuccessfulSave(CoverageStoreNewPage.java:76)
        at 
org.geoserver.web.data.store.CoverageStoreNewPage.onSave(CoverageStoreNewPage.java:67)
        at 
org.geoserver.web.data.store.AbstractCoverageStorePage$1.onSubmit(AbstractCoverageStorePage.java:115)
        at 
org.apache.wicket.ajax.markup.html.form.AjaxSubmitLink$1.onSubmit(AjaxSubmitLink.java:68)
        at 
org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:143)
        at 
org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
        at 
org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:300)
        at 
org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)
        at 
org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
        at 
org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
        at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
        at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1436)
        at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
        at 
org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:484)
        at 
org.apache.wicket.protocol.http.WicketServlet.doPost(WicketServlet.java:160)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
        at 
org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:159)
        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.doPost(FrameworkServlet.java:789)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
        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.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:70)
        at 
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:70)
        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.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.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
        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.GeoServerUserNamePasswordAuthenticationFilter.doFilter(GeoServerUserNamePasswordAuthenticationFilter.java:115)
        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.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:146)
        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.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 
gs.gc.SimpleAuthorizationFilter.doFilter(SimpleAuthorizationFilter.java:35)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
        at 
com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:168)
        at 
com.thetransactioncompany.cors.CORSFilter.doFilter(CORSFilter.java:233)
        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.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.content(HttpConnection.java:842)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
        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.io.IOException: Failed to create reader from 
file://D:\Data\gis\hydroalp\snow<file:///D:\Data\gis\hydroalp\snow> and hints 
null
        at 
org.geoserver.catalog.ResourcePool.getGridCoverageReader(ResourcePool.java:1296)
        at 
org.geoserver.catalog.impl.CoverageStoreInfoImpl.getGridCoverageReader(CoverageStoreInfoImpl.java:58)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at 
org.geoserver.catalog.impl.ModificationProxy.invoke(ModificationProxy.java:145)
        at com.sun.proxy.$Proxy8.getGridCoverageReader(Unknown Source)
        at 
org.geoserver.web.data.layer.NewLayerPageProvider.getItemsInternal(NewLayerPageProvider.java:89)
        ... 112 more


Stephen Brooke (a.k.a. Steve)
Software Engineer III
Ground Systems
MDA
http://www.mda.ca<http://www.mda.ca/>
[email protected]<mailto:[email protected]>

Direct phone

+1 604 231 2429

Cell phone

+1 778 839 3274

Switchboard

+1 604 278 3411

FAX

+1 604 231 2757




------------------------------------------------------------------
This e-mail and any attachments are intended solely for the use of the intended 
recipient(s) and may contain legally privileged, proprietary and/or 
confidential information.  Any use, disclosure, dissemination, distribution or 
copying of this e-mail and any attachments for any purposes that have not been 
specifically authorized by the sender is strictly prohibited.  If you are not 
the intended recipient, please immediately notify the sender by reply e-mail 
and permanently delete all copies and attachments.
The entire content of this e-mail is for "information purposes" only and should 
not be relied upon by the recipient in any way unless otherwise confirmed in 
writing by way of letter or facsimile.

------------------------------------------------------------------------------
_______________________________________________
Geoserver-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to