[mapserver-users] mapscript php with agg rendering?
Michael Schulz
mandschulz at googlemail.com
Tue Feb 15 08:50:39 PST 2011
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 <jean-francois at gigand.fr>:
> 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 <gregor at hostgis.com>:
>> 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
>> mapserver-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
>
--
-----------------------------------------------------------
Michael Schulz
Christoph-Mang-Str. 5
D-79100 Freiburg
More information about the MapServer-users
mailing list