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
