I have a GeoServer (2.10.0) instance into which I have loaded some GeoTiff files, one per timestep, using the ImageMosaic plugin. I can query them with standard WMS requests with the parameter TIME=yyyy-mm-dd. The relevant data is quite sparse and I have created an SLD style which renders the background data as transparent.
What I would like is to pass a string such as
TIME=2013-01-01/2015-01-01 and have all of the images which fall within that time range returned and layered on top of one another. What happens is that I get the latest image in that time range returned. Is what I want to do possible with GeoServer, and if so how can I enable it?
EDIT: After further investigation it appears the GeoServer is layering the data, but:
- The background data value in the GeoTIFF is zero and NullValues in the Coverage Band details is set to zero, as is BackgroundValues
- Despite this, large regions of background data from the latest time are obscuring all the data from the earlier times
- The regions of no data, once layered and obscuring older data are then correctly rendered as transparent (as defined in the SLD style)
I can't set the InputTransparentColor (or OutputTransparentColor), I think because the GeoTIFF is not RGB. If I try, I get:
org.geotools.data.DataSourceException: Unable to create this mosaic java.lang.IllegalStateException: Unsupported data type.
So I think the problem is now that when using the ImageMosaic plugin, I cannot configure the value 0 to correspond to missing data properly.
I have tested all 16 combinations of:
- MergeBehaviour: FLAT or STACK
- BackgroundValues: 0 or empty
- Coverage Band Null Values: 0 or empty
- Coverage Band minRange: 0 or 1 (the values in the GeoTiff range from 0-4, with 0 representing no data)
None of these 16 combinations work. Any ideas?