[mapserver-users] mapscript php with agg rendering?

Jean-François Gigand jean-francois at gigand.fr
Tue Feb 15 12:54:21 EST 2011


Great!

Thanks for the ticket. I will also prefer to manage output formats
programmatically.
I will follow that.

Jeff


2011/2/15 Michael Schulz <mandschulz at googlemail.com>:
> 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