GeoServer : GSIP 62 - WMS animator
This page last changed on Dec 15, 2011 by cholmes.
Add a flexible WMS tool to generate animations based on sequences of WMS maps
2.1.2 or 2.1.3
Choose one of: Under Discussion, In Progress, Completed, Rejected, Deferred
Current WMS can only generate static maps. There is however a number of use cases in which generating an animation is interesting.
This proposal wants to add an animated GIF output that can be used out of the box with time/elevation based requests, but also an "animator" endpoint, similar to the wms and kml reflectors, that would allow to template a request and replace in turn different parameters to get an animation.
The animated GIF output format would be the first format to support rendering list of rendered images contained in a WebMap.
The existing code already generates a WebMap with a RenderedImageList inside in case the request specified multiple times/elevations and the output format has the "multivalueRequestsSupported" flag up, which is what the animated gif output format would have.
The format would be associated to the "image/gif;subtype=animated" mime type to tell it apart from the existing GIF output format. The format would also allow finer control of the generated animation via the following two new format options:
The animator would work pretty much like the WMS reflector, but would be installed on the wms/animate path: given an incomplete WMS request it would fill it put and use extra parameters to turn it into a repeated template:
One example of animated request based on a changing bbox will be:
which would generate an animation of the layer with the camera scrolling towards east.
An example of an animation changing colors based on SLD enviroment variable would be instead:
which would generate an animated map whose selection color (coming from the color parameter and used in the selection style) would iterate between red, green and blue.
The animator would unpack the values, build the replacement parameter, kvp parse it and run the wms request which is then executed to generate one frame.
The animator modification is a core one, DefaultWebMapService would have a new method:
and the GetMapRequest would have two additional optional fields, aparam and avalues.
The WMS configuration would get a new parameter to limit the number of frames an animation can contain. If the limit is below 2 the animator would disable itself.
The above would be added under the consideration that an animation can require significant resources to be generated, both memory and CPU wise.
This section should contain feedback provided by PSC members who may have a problem with the proposal.
State here any backwards compatibility issues.
|Document generated by Confluence on May 14, 2014 23:00|