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

Function msInitDefaultGDALOutputFormat

mapgdal.c:593–646  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

591/************************************************************************/
592
593int msInitDefaultGDALOutputFormat( outputFormatObj *format )
594
595{
596 GDALDriverH hDriver;
597
598 msGDALInitialize();
599
600/* -------------------------------------------------------------------- */
601/* check that this driver exists. Note visiting drivers should */
602/* be pretty threadsafe so don't bother acquiring the GDAL */
603/* lock. */
604/* -------------------------------------------------------------------- */
605 hDriver = GDALGetDriverByName( format->driver+5 );
606 if( hDriver == NULL )
607 {
608 msSetError( MS_MISCERR, "No GDAL driver named `%s' available.",
609 "msInitGDALOutputFormat()", format->driver+5 );
610 return MS_FAILURE;
611 }
612
613#ifdef GDAL_DCAP_CREATE
614 if( GDALGetMetadataItem( hDriver, GDAL_DCAP_CREATE, NULL ) == NULL
615 && GDALGetMetadataItem( hDriver, GDAL_DCAP_CREATECOPY, NULL ) == NULL )
616 {
617 msSetError( MS_MISCERR, "GDAL `%s' driver does not support output.",
618 "msInitGDALOutputFormat()", format->driver+5 );
619 return MS_FAILURE;
620 }
621#endif
622
623/* -------------------------------------------------------------------- */
624/* Initialize the object. */
625/* -------------------------------------------------------------------- */
626 format->imagemode = MS_IMAGEMODE_RGB;
627 format->renderer = MS_RENDER_WITH_AGG;
628
629#ifdef GDAL_DMD_MIMETYPE
630 if( GDALGetMetadataItem( hDriver, GDAL_DMD_MIMETYPE, NULL ) != NULL )
631 format->mimetype =
632 msStrdup(GDALGetMetadataItem(hDriver,GDAL_DMD_MIMETYPE,NULL));
633 if( GDALGetMetadataItem( hDriver, GDAL_DMD_EXTENSION, NULL ) != NULL )
634 format->extension =
635 msStrdup(GDALGetMetadataItem(hDriver,GDAL_DMD_EXTENSION,NULL));
636
637#else
638 if( strcasecmp(format->driver,"GDAL/GTiff") )
639 {
640 format->mimetype = msStrdup("image/tiff");
641 format->extension = msStrdup("tif");
642 }
643#endif
644
645 return MS_SUCCESS;
646}
647
648#else
649

Callers 1

Calls 4

msGDALInitializeFunction · 0.85
msSetErrorFunction · 0.85
msStrdupFunction · 0.85
strcasecmpFunction · 0.85

Tested by

no test coverage detected