[Mapserver-users] GIF animation made simple
Charlton Purvis
cpurvis at asg.sc.edu
Wed Apr 23 10:01:04 PDT 2003
My first-pass at animation included SWF output, but probably because of
my own ignorance, I never hit a homerun. So I looked at the animated
GIF approach.
The idea of this example uses a .map file that has a base elevation
layer (raster) and 5 storm surge flooding polygon layers. The .html
page allows the user to choose how many surge layers ($num_cats) to
display as part of the animation (the base layer (0) is always
included).
$anim_gif_cmd = "/usr/local/bin/gifsicle -l -d 100 -O2 ";
for ($i = 0; $i <= $num_cats; $i++) {
if ($i > 0) {
$layer_obj[$i] = $map->getLayer($i);
$layer_obj[$i] -> set("status",MS_ON);
}
$image[$i] = $map->draw();
$image_url[$i] = $image[$i]->saveWebImage(MS_GIF,1,1,0);
$file_path[$i] = $map->web->imagepath
. substr(strrchr($image_url[$i], "/"),1);
$anim_files = $anim_files . $file_path[$i] . " ";
}
// Create a unique filename and URL for the animated GIF output
$anim_name = "anim".substr(strrchr($image_url[0], "/"),1);
$anim_path = $map->web->imagepath . $anim_name;
$anim_url = $map->web->imageurl . $anim_name;
system($anim_gif_cmd . " -o " . $anim_path . " " . $anim_files);
Tool used is http://www.lcdf.org/~eddietwo/gifsicle/. Originally I
tried used whirlgif (http://www.danbbs.dk/~dino/whirlgif/), but gifsicle
rendered a GIF one-third the size of a whirlgif animation. So I'm
sticking w/ gifsicle until I find something better.
Charlton Purvis
(803) 777-8858 : voice
(803) 777-8833 : fax
cpurvis at sc.edu
Advanced Solutions Group
Department of Physics and Astronomy
University of South Carolina
Columbia, SC 29208
More information about the MapServer-users
mailing list