MCPcopy Index your code
hub / github.com/MapServer/MapServer / msGenerateImages

Function msGenerateImages

maptemplate.c:4582–4654  ·  view source on GitHub ↗

** Utility function to generate map, legend, scalebar and reference images. ** ** Parameters: ** - mapserv: mapserv object (used to extract the map object). ** - bQueryMap: if set to TRUE a query map will be created instead of a regular map. ** - bReturnOnError: if set to TRUE, the function will return on the first error, else it will try to generate all the images. */

Source from the content-addressed store, hash-verified

4580** - bReturnOnError: if set to TRUE, the function will return on the first error, else it will try to generate all the images.
4581*/
4582int msGenerateImages(mapservObj *mapserv, int bQueryMap, int bReturnOnError)
4583{
4584 char buffer[1024];
4585
4586 if(mapserv) {
4587
4588 /* render the map OR query map */
4589 if((!bQueryMap && mapserv->map->status == MS_ON) || (bQueryMap && mapserv->map->querymap.status == MS_ON)) {
4590 imageObj *image = NULL;
4591
4592 image = msDrawMap(mapserv->map, bQueryMap);
4593 if(image) {
4594 snprintf(buffer, sizeof(buffer), "%s%s%s.%s", mapserv->map->web.imagepath, mapserv->map->name, mapserv->Id, MS_IMAGE_EXTENSION(mapserv->map->outputformat));
4595
4596 if(msSaveImage(mapserv->map, image, buffer) != MS_SUCCESS && bReturnOnError) {
4597 msFreeImage(image);
4598 return MS_FAILURE;
4599 }
4600 msFreeImage(image);
4601 } else if(bReturnOnError)
4602 return MS_FAILURE;
4603 }
4604
4605 /* render the legend */
4606 if(mapserv->map->legend.status == MS_ON) {
4607 imageObj *image = NULL;
4608 image = msDrawLegend(mapserv->map, MS_FALSE);
4609 if(image) {
4610 snprintf(buffer, sizeof(buffer), "%s%sleg%s.%s", mapserv->map->web.imagepath, mapserv->map->name, mapserv->Id, MS_IMAGE_EXTENSION(mapserv->map->outputformat));
4611
4612 if(msSaveImage(mapserv->map, image, buffer) != MS_SUCCESS && bReturnOnError) {
4613 msFreeImage(image);
4614 return MS_FAILURE;
4615 }
4616 msFreeImage(image);
4617 } else if(bReturnOnError)
4618 return MS_FAILURE;
4619 }
4620
4621 /* render the scalebar */
4622 if(mapserv->map->scalebar.status == MS_ON) {
4623 imageObj *image = NULL;
4624 image = msDrawScalebar(mapserv->map);
4625 if(image) {
4626 snprintf(buffer, sizeof(buffer), "%s%ssb%s.%s", mapserv->map->web.imagepath, mapserv->map->name, mapserv->Id, MS_IMAGE_EXTENSION(mapserv->map->outputformat));
4627 if(msSaveImage(mapserv->map, image, buffer) != MS_SUCCESS && bReturnOnError) {
4628 msFreeImage(image);
4629 return MS_FAILURE;
4630 }
4631 msFreeImage(image);
4632 } else if(bReturnOnError)
4633 return MS_FAILURE;
4634 }
4635
4636 /* render the reference map */
4637 if(mapserv->map->reference.status == MS_ON) {
4638 imageObj *image;
4639 image = msDrawReferenceMap(mapserv->map);

Callers 4

mainFunction · 0.85
msReturnTemplateQueryFunction · 0.85
msProcessTemplateFunction · 0.85
msProcessQueryTemplateFunction · 0.85

Calls 6

msDrawMapFunction · 0.85
msSaveImageFunction · 0.85
msFreeImageFunction · 0.85
msDrawLegendFunction · 0.85
msDrawScalebarFunction · 0.85
msDrawReferenceMapFunction · 0.85

Tested by

no test coverage detected