Great! Thanks for the ticket. I will also prefer to manage output formats programmatically. I will follow that.
Jeff 2011/2/15 Michael Schulz <[email protected]>: > Jean-Francois, > > you saved my day :-) That got it working... > > I definitely think there is something wrong when trying to create an > outputformat with php/mapscript from scratch. I'll try to narrow this > down a bit and maybe open the mentioned ticket again. > > Thanks, Michael > > > 2011/2/15 Jean-François Gigand <[email protected]>: >> I had the same problem, with PHP MapScript. >> >> In my case, I needed to let MapServer handle the WMS request >> (msMap->owsDispatch() or CGI with generated MapFile), so I would have >> no control over the output format selection (which depends of the WMS >> request). >> >> It seemed that MapScript does not give control over the list of output >> formats. >> >> Eventually, as a workaround, I define my output formats as a map >> string and create the map object with ms_newMapObjFromString() rather >> than ms_newMapObj(). >> >> Here is my code : >> -------------------- >> $formats = array >> ('aggpng24' => array('driver' => 'AGG/PNG', >> 'imagemode' => 'RGB', >> 'mimetype' => 'image/png', >> 'extension' => 'png'), >> 'aggjpeg' => array('driver' => 'AGG/JPEG', >> 'imagemode' => 'RGB', >> 'mimetype' => 'image/jpeg', >> 'extension' => 'jpg'), >> 'gdtiff' => array('driver' => 'GDAL/GTiff', >> 'imagemode' => 'RGB', >> 'mimetype' => 'image/tiff', >> 'extension' => 'tif'), >> 'gdgif' => array('driver' => 'GD/GIF', >> 'imagemode' => 'PC256', >> 'mimetype' => 'image/gif', >> 'extension' => 'gif'), >> ); >> $mapStrContent = array('MAP'); >> foreach ($formats as $name => $format) { >> $mapStrContent[] = 'OUTPUTFORMAT'; >> $mapStrContent[] = 'NAME '.$name; >> foreach ($format as $prop => $val) { >> $mapStrContent[] = strtoupper($prop).' "'.$val.'"'; >> } >> $mapStrContent[] = 'END'; >> } >> $mapStrContent[] = 'END'; >> $msMap = ms_newMapObjFromString(implode("\n", $mapStrContent)); >> -------------------- >> >> To me, this is a bug, as I thought that anything definable in a map >> file should be definable thought MapScript as well. >> If there is a full MapScript solution for this need, I'm interested too. >> >> >> Jeff Gigand >> >> >> 2011/2/15 Gregor at HostGIS <[email protected]>: >>> Hey there. I had some issues with the imagetype settings using PHP >>> MapScript, but we do use PNG24. For what it's worth, here's the outputformat >>> section of our PHP: >>> >>> $map->imagecolor->setRGB(255,255,255); >>> $map->outputformat->set('name','gif'); >>> $map->outputformat->set('mimetype','image/png; mode=24bit'); >>> $map->outputformat->set('driver','AGG/PNG'); >>> $map->outputformat->set('imagemode',MS_IMAGEMODE_RGBA); >>> $map->outputformat->set('transparent',MS_OFF); >>> $map->outputformat->set('extension','png'); >>> $map->outputformat->setOption('INTERLACE','OFF'); >>> //$map->outputformat->setOption('QUANTIZE_FORCE','ON'); >>> //$map->outputformat->setOption('QUANTIZE_COLORS',256); >>> >>> For reasons which now elude my memory (this was written some 3 years ago) we >>> had to use 'gif' as the output format, then simply reconfigure what 'gif' >>> means. This may have been a bug specific to our own version of MapServer >>> back in the day, but if it helps, I'm glad. >>> >>> -- >>> HostGIS, Open Source solutions for the global GIS community >>> Greg Allensworth - SysAdmin, Programmer, GIS Person, Security >>> Network+ Server+ A+ Security+ Linux+ >>> PHP PostgreSQL MySQL DHTML/JavaScript/AJAX >>> >>> "No one cares if you can back up — only if you can recover." >>> _______________________________________________ >>> mapserver-users mailing list >>> [email protected] >>> http://lists.osgeo.org/mailman/listinfo/mapserver-users >>> >> > > > > -- > ----------------------------------------------------------- > Michael Schulz > > Christoph-Mang-Str. 5 > D-79100 Freiburg > _______________________________________________ mapserver-users mailing list [email protected] http://lists.osgeo.org/mailman/listinfo/mapserver-users
