Adding TIME support to GeoServer and Mosaic plugin

Ciao a tutti,
lately I have been working on adding support in GeoServer for the TIME keyword in GetMap requests by updating the ImageMosaic plugin. The work is being performed on trunk but I might backport to 2.0.x, funding permitting, when it will be ready to roll.

The goals are as follows:

  • Ability to select a certain number of granules from the mosaic index based on the actual values of a TIME attribute
  • Make the TIME mechanism transparent if not needed
  • Allow users to update the granule index over time adding new granules

The scenario I am trying to cope with is the following:

  • I have a tool that does radar coverage predictions routinely (every 12 hours)
  • Each prediction is specular to the others except for the time when it was generated (same georeferencing, same raster characteristics)
  • We want to be able to show either the latest perdition or an old one

Now, some pictures to show that the work is proceeding.
I have taken 7 geotiffs for the BlueMarble series of 2004, from jan to Jul from here since you can visually notice that over time as the Summer approaches the ice/snow moves north.


I have ingested it (Did I say that I am also adding a mechanism to automagically populate the time attribute based on the file properties, like name, metadata, etc.. 🙂 ?)

Then I have started to send queries, for January

then for March
then for July
Notice that we also support the “current” keyword to automatically get the latest raster available.

I think it is pretty neat and thanks to the GeoTools infrastructure it is not being too hard to implement.

The additional features we could add are quite many:

  • Filtering via CQL on additional properties
  • ELEVATION support
  • Create an animation given a set of time instants
  • Properly expose time as part of the WMS GetCap
  • Wire TIME and ELEVATION support for WCS as well

If you are interested in funding this development or in adding more features I did not think of, please contacts us!

Update
You can find here the interesting files: