Hi,
As a side effect when trying to help Ville I noticed that if I make an image
mosaic from two aerial images (6 by 6 km each) I must zoom in to about 300 by
300 m box before the map shows. The attached image show the extents of the
mosaic (it is the index shapefile from the Geoserver data_dir) and with little
red boxes how close I must zoom before image is shown. At smaller scales the
log collects this:
2014-09-24 16:22:37,871 DEBUG [gce.imagemosaic] - We added the granule
Description of a granuleDescriptor
BBOX: ReferencedEnvelope[500000.0 : 506000.0, 6834000.0 : 6840000.0]
file:
file:/C:/ohjelmat/geoserver-2.6-SNAPSHOT/data_dir/coverages/aerial_images/SKM_2014_M163_TM35_M5221A.TIF
gridToWorld: PARAM_MT["Affine",
PARAMETER["num_row", 3],
PARAMETER["num_col", 3],
PARAMETER["elt_0_0", 0.5],
PARAMETER["elt_0_2", 500000.25],
PARAMETER["elt_1_1", -0.5],
PARAMETER["elt_1_2", 6839999.75]]
Description of level 2
Description of a granuleDescriptor level
width: 12000
height: 12000
scaleX: 1.0
scaleY: 1.0
baseToLevelTransform: PARAM_MT["Affine",
PARAMETER["num_row", 3],
PARAMETER["num_col", 3]]
gridToWorldTransform: PARAM_MT["Affine",
PARAMETER["num_row", 3],
PARAMETER["num_col", 3],
PARAMETER["elt_0_0", 0.5],
PARAMETER["elt_0_2", 500000.0],
PARAMETER["elt_1_1", -0.5],
PARAMETER["elt_1_2", 6840000.0]]
2014-09-24 16:22:37,890 DEBUG [data.shapefile] - Read lock:
file:/C:/ohjelmat/geoserver-2.6-SNAPSHOT/data_dir/coverages/aerial_images/aerial_images.shp
by org.geotools.data.shapefile.shp.ShapefileReader
2014-09-24 16:22:37,891 TRACE [data.shapefile] - Shapefile Reader has been
closed. Number open: 0
2014-09-24 16:22:37,891 DEBUG [data.shapefile] - Read lock:
file:/C:/ohjelmat/geoserver-2.6-SNAPSHOT/data_dir/coverages/aerial_images/aerial_images.dbf
by org.geotools.data.shapefile.dbf.IndexedDbaseFileReader
2014-09-24 16:22:37,891 TRACE [data.shapefile] - Dbase File Reader has been
closed. Number open: 0
2014-09-24 16:22:37,892 DEBUG [data.shapefile] - Read lock:
file:/C:/ohjelmat/geoserver-2.6-SNAPSHOT/data_dir/coverages/aerial_images/aerial_images.shx
by org.geotools.data.shapefile.shp.IndexFile
2014-09-24 16:22:37,905 TRACE [data.shapefile] - IndexFile has been closed.
Number open: 0
2014-09-24 16:22:37,905 DEBUG [gce.imagemosaic] - Producing the final mosaic,
step 1, loop through granule collectors
2014-09-24 16:22:37,906 DEBUG [gce.imagemosaic] - Using collector with
filter:Filter.INCLUDE
2014-09-24 16:22:37,907 INFO [gce.imagemosaic] - Adding to mosaic failed,
original request was RasterLayerRequest description:
SpatialRequestHelper [requestedBBox=ReferencedEnvelope[501435.5270982131 :
502696.30819774553, 6836387.606198041 : 6837337.998922307],
cropBBox=ReferencedEnvelope[501435.5270982131 : 502696.30819774553,
6836387.606198041 : 6837337.998922307],
requestedRasterArea=java.awt.Rectangle[x=0,y=0,width=459,height=346],
destinationRasterArea=java.awt.Rectangle[x=0,y=0,width=459,height=346],
requestCRS=PROJCS["ETRS89 / TM35FIN(E,N)",
GEOGCS["ETRS89",
DATUM["European Terrestrial Reference System 1989",
SPHEROID["GRS 1980", 6378137.0, 298.257222101, AUTHORITY["EPSG","7019"]],
TOWGS84[0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0],
AUTHORITY["EPSG","6258"]],
PRIMEM["Greenwich", 0.0, AUTHORITY["EPSG","8901"]],
UNIT["degree", 0.017453292519943295],
AXIS["Geodetic longitude", EAST],
AXIS["Geodetic latitude", NORTH],
AUTHORITY["EPSG","4258"]],
PROJECTION["Transverse_Mercator"],
PARAMETER["central_meridian", 27.0],
PARAMETER["latitude_of_origin", 0.0],
PARAMETER["scale_factor", 0.9996],
PARAMETER["false_easting", 500000.0],
PARAMETER["false_northing", 0.0],
UNIT["m", 1.0],
AXIS["Easting", EAST],
AXIS["Northing", NORTH],
AUTHORITY["EPSG","3067"]], requestedGridToWorld=PARAM_MT["Affine",
PARAMETER["num_row", 3],
PARAMETER["num_col", 3],
PARAMETER["elt_0_0", 2.746799781116427],
PARAMETER["elt_0_2", 501436.90049810364],
PARAMETER["elt_1_1", -2.7467997811164038],
PARAMETER["elt_1_2", 6837336.625522416]],
requestedResolution=[2.746799781116427, 2.7467997811164038],
coverageProperties=org.geotools.gce.imagemosaic.SpatialRequestHelper$CoverageProperties@1b81ed0,
accurateResolution=false, empty=false, needsReprojection=false, ]
ReadType=JAI_IMAGEREAD
2014-09-24 16:22:37,940 ERROR [geoserver.ows] -
org.geoserver.platform.ServiceException: Error rendering coverage on the fast
path
at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:338)
at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:258)
at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:130)
at org.geoserver.wms.GetMap.executeInternal(GetMap.java:510)
at org.geoserver.wms.GetMap.run(GetMap.java:254)
at org.geoserver.wms.GetMap.run(GetMap.java:125)
at
org.geoserver.wms.DefaultWebMapService.getMap(DefaultWebMapService.java:329)
at sun.reflect.GeneratedMethodAccessor229.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:62)
at
org.geoserver.gwc.wms.CacheSeedingWebMapService.invoke(CacheSeedingWebMapService.java:36)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:74)
at
org.geoserver.gwc.wms.CachingWebMapService.invoke(CachingWebMapService.java:55)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.geoserver.ows.util.RequestObjectLogger.invoke(RequestObjectLogger.java:55)
at
org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
at
org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
at com.sun.proxy.$Proxy68.getMap(Unknown Source)
at sun.reflect.GeneratedMethodAccessor188.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:792)
at
org.geoserver.ows.Dispatcher.handleRequestInternal(Dispatcher.java:274)
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:28)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:75)
at
org.geoserver.wms.animate.AnimatorFilter.doFilter(AnimatorFilter.java:71)
at
org.geoserver.filters.SpringDelegatingFilter$Chain.doFilter(SpringDelegatingFilter.java:71)
at
org.geoserver.filters.SpringDelegatingFilter.doFilter(SpringDelegatingFilter.java:46)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
org.geoserver.platform.AdvancedDispatchFilter.doFilter(AdvancedDispatchFilter.java:50)
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:69)
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:73)
at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at
org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at
org.geoserver.security.filter.GeoServerAnonymousAuthenticationFilter.doFilter(GeoServerAnonymousAuthenticationFilter.java:54)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at
org.springframework.security.web.authentication.www.BasicAuthenticationFilter.doFilter(BasicAuthenticationFilter.java:150)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
at
org.geoserver.security.filter.GeoServerBasicAuthenticationFilter.doFilter(GeoServerBasicAuthenticationFilter.java:83)
at
org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:69)
at
org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
at
org.geoserver.security.filter.GeoServerSecurityContextPersistenceFilter$1.doFilter(GeoServerSecurityContextPersistenceFilter.java:53)
at
org.geoserver.security.filter.GeoServerCompositeFilter$NestedFilterChain.doFilter(GeoServerCompositeFilter.java:73)
at
org.geoserver.security.filter.GeoServerCompositeFilter.doFilter(GeoServerCompositeFilter.java:92)
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:135)
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:76)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.geoserver.filters.GZIPFilter.doFilter(GZIPFilter.java:48)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
org.geoserver.filters.SessionDebugFilter.doFilter(SessionDebugFilter.java:48)
at
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at
org.geoserver.filters.FlushSafeFilter.doFilter(FlushSafeFilter.java:44)
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.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: org.geoserver.platform.ServiceException:
org.geotools.data.DataSourceException: Unable to create this mosaic
at
org.geoserver.wms.map.RenderedImageMapOutputFormat.directRasterRender(RenderedImageMapOutputFormat.java:939)
at
org.geoserver.wms.map.RenderedImageMapOutputFormat.produceMap(RenderedImageMapOutputFormat.java:336)
... 105 more
Caused by: org.geotools.data.DataSourceException: Unable to create this mosaic
at
org.geotools.gce.imagemosaic.RasterLayerResponse.prepareResponse(RasterLayerResponse.java:1390)
at
org.geotools.gce.imagemosaic.RasterLayerResponse.processRequest(RasterLayerResponse.java:1228)
at
org.geotools.gce.imagemosaic.RasterLayerResponse.createResponse(RasterLayerResponse.java:1194)
at
org.geotools.gce.imagemosaic.RasterManager.read(RasterManager.java:1143)
at
org.geotools.gce.imagemosaic.ImageMosaicReader.read(ImageMosaicReader.java:863)
at
org.geotools.gce.imagemosaic.ImageMosaicReader.read(ImageMosaicReader.java:842)
at
org.geoserver.catalog.SingleGridCoverage2DReader.read(SingleGridCoverage2DReader.java:147)
at
org.geoserver.catalog.CoverageDimensionCustomizerReader.read(CoverageDimensionCustomizerReader.java:221)
at
org.geoserver.catalog.CoverageDimensionCustomizerReader.read(CoverageDimensionCustomizerReader.java:211)
at
org.geotools.renderer.lite.gridcoverage2d.GridCoverageReaderHelper.readSingleCoverage(GridCoverageReaderHelper.java:419)
at
org.geotools.renderer.lite.gridcoverage2d.GridCoverageReaderHelper.readCoverages(GridCoverageReaderHelper.java:205)
at
org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.renderImage(GridCoverageRenderer.java:773)
at
org.geotools.renderer.lite.gridcoverage2d.GridCoverageRenderer.renderImage(GridCoverageRenderer.java:743)
at
org.geoserver.wms.map.RenderedImageMapOutputFormat.directRasterRender(RenderedImageMapOutputFormat.java:852)
... 106 more
Caused by: java.io.IOException: java.util.concurrent.ExecutionException:
java.lang.IndexOutOfBoundsException: imageIndex out of bounds!
at
org.geotools.gce.imagemosaic.RasterLayerResponse$GranuleCollector.collectGranules(RasterLayerResponse.java:512)
at
org.geotools.gce.imagemosaic.RasterLayerResponse$GranuleCollector.access$2400(RasterLayerResponse.java:340)
at
org.geotools.gce.imagemosaic.RasterLayerResponse$MosaicProducer.produce(RasterLayerResponse.java:1064)
at
org.geotools.gce.imagemosaic.RasterLayerResponse$MosaicProducer.access$3100(RasterLayerResponse.java:883)
at
org.geotools.gce.imagemosaic.RasterLayerResponse.prepareResponse(RasterLayerResponse.java:1342)
... 119 more
Caused by: java.util.concurrent.ExecutionException:
java.lang.IndexOutOfBoundsException: imageIndex out of bounds!
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at
org.geotools.gce.imagemosaic.RasterLayerResponse$GranuleCollector.collectGranules(RasterLayerResponse.java:447)
... 123 more
Caused by: java.lang.IndexOutOfBoundsException: imageIndex out of bounds!
at
com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.seekToImage(TIFFImageReader.java:307)
at
com.sun.media.imageioimpl.plugins.tiff.TIFFImageReader.getWidth(TIFFImageReader.java:512)
at org.geotools.gce.imagemosaic.Utils.getDimension(Utils.java:751)
at
org.geotools.gce.imagemosaic.GranuleDescriptor.getLevel(GranuleDescriptor.java:981)
at
org.geotools.gce.imagemosaic.GranuleDescriptor.loadRaster(GranuleDescriptor.java:728)
at
org.geotools.gce.imagemosaic.GranuleLoader.call(GranuleLoader.java:110)
at
org.geotools.gce.imagemosaic.GranuleLoader.call(GranuleLoader.java:41)
at java.util.concurrent.FutureTask.run(Unknown Source)
at
org.geotools.gce.imagemosaic.RasterLayerResponse$GranuleCollector.accept(RasterLayerResponse.java:406)
at
org.geotools.gce.imagemosaic.RasterLayerResponse$GranuleCollector.access$2200(RasterLayerResponse.java:340)
at
org.geotools.gce.imagemosaic.RasterLayerResponse$MosaicProducer.visit(RasterLayerResponse.java:1017)
at
org.geotools.gce.imagemosaic.catalog.CachingDataStoreGranuleCatalog$1.visit(CachingDataStoreGranuleCatalog.java:192)
at
org.geotools.data.store.ContentFeatureSource.accepts(ContentFeatureSource.java:696)
at
org.geotools.data.store.ContentFeatureCollection.accepts(ContentFeatureCollection.java:120)
at
org.geotools.gce.imagemosaic.catalog.CachingDataStoreGranuleCatalog.getGranuleDescriptors(CachingDataStoreGranuleCatalog.java:158)
at
org.geotools.gce.imagemosaic.RasterManager.getGranuleDescriptors(RasterManager.java:1153)
at
org.geotools.gce.imagemosaic.RasterLayerResponse.prepareResponse(RasterLayerResponse.java:1339)
... 119 more
-Jukka Rahkonen-
------------------------------------------------------------------------------
Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer
Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports
Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper
Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer
http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users