I am trying to create a tile cache for a mosaic of geotiffs. My separate geotiff files tend to have black irregular borders so I have set the Input + OutputTransparentColor of the layer to 000000. This seems to work wonderfully and my mosaic is (pretty much) seamless.
However – geoWebCache will not tile this mosaic for me (tiling to 900913 and down to Z10). It crashes (so far somewhere between 5s and 58s) with the following blurb (first few lines are for context only):
BaseUrl = http://localhost:8080/geoserver/
Get = true
RawKvp = {FORMAT=image/png, STYLES=raster, WIDTH=512, HEIGHT=512, LAYERS=UK_ASRP:UK 1:500K ASRP TILED LAYER, EXCEPTIONS=SE_XML, GWC_SEED_INTERCEPT=true, REQUEST=GetMap, SRS=EPSG:900913, BBOX=1252344.2712499984,8766409.89875,1878516.4068749994,9392582.034375, VERSION=1.1.1, SERVICE=WMS, TRANSPARENT=true}
RequestCharset = UTF-8
21 Sep 17:02:04 INFO [seed.GWCTask] - Thread group finished SEED task after 58.825 seconds
21 Sep 17:02:04 ERROR [seed.MTSeeder] - Problem communicating with GeoServer
org.geowebcache.GeoWebCacheException: Problem communicating with GeoServer
at org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:568)
at org.geoserver.gwc.layer.GeoServerTileLayer.seedTile(GeoServerTileLayer.java:757)
at org.geowebcache.seed.SeedTask.doActionInternal(SeedTask.java:136)
at org.geowebcache.seed.GWCTask.doAction(GWCTask.java:76)
at org.geowebcache.seed.MTSeeder.call(MTSeeder.java:36)
at org.geowebcache.seed.MTSeeder.call(MTSeeder.java:25)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassCastException: java.awt.image.Raster cannot be cast to java.awt.image.WritableRaster
at org.geoserver.gwc.layer.GeoServerMetaTile.createTile(GeoServerMetaTile.java:180)
at org.geoserver.gwc.layer.GeoServerMetaTile.writeTileToStream(GeoServerMetaTile.java:83)
at org.geowebcache.layer.TileLayer.saveTiles(TileLayer.java:645)
at org.geoserver.gwc.layer.GeoServerTileLayer.getMetatilingReponse(GeoServerTileLayer.java:566)
… 9 more
After a bit of experimentation, I discovered that the tile cache can be fully created as long as I don’t set the transparentColor. If I leave the Input/Output colors blank, the tiling proceeds without error.
Can anyone tell me how to get around this problem? I cannot leave the black edges in the mosaic!