I have 7 animated gifs (5 animations in each gif) with bounding coordinates of real time radar data. The number of these will grow significantly over the next year or so.

We are currently serving each gif as a separate raster layer using OpenLayers but this is causing problems on slower connections as OpenLayers appears to load the gifs even if not being displayed in the viewport.

I would like to be able to combine and serve all the animations via GeoServer as one layer, probably animated using the GeoServer Animation feature.

This is totally rocket science to me so I am reaching out for suggestions from more experienced users.

I guess we have to break the gifs apart for each animation, combine them into one raster for each time slice (they are all synced), load each georeferenced raster into PostgreSQL then use GeoServer's animation feature to display the layer.

Am open to any and all suggestions.

2 Answers 2


Sort of. Break the gifs into one tiff for each step of the animation (eventually internally compressed), bake the time of the frame into the name, and then build a mosaic with time dimension enabled (http://docs.geoserver.org/latest/en/user/tutorials/imagemosaic_timeseries/imagemosaic_timeseries.html)

  • Thanks Andrea. looked at this, it is very nice. Will use it for some of our projects. Aug 14, 2013 at 1:44

Answering my own question to my final solution.

We needed the animation on the browser in openlayers and as it turned out, using animated gifs was faster (read: better user experience) than doing it via geoserver. The files updated every 15 minutes.

So, I made one big animation as follows

imagemagick to break out all the individual time based images (There were 5 in each gif) gdal to convert each image to geotiff gdal to (buildvrt) to create one big geotif with all images from one time slice geopositioned gdal to make a gif of that tif imagmagick to reanimate the bigger images

As it turns out, we did not save anything by dong this. The objective was to try and improve download time in open layers, but the end result was that we decided to just live with what we already have as no direct gain was achieved for all that server side processing to the end user.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.