[ka-Map-users] Ka-map and AGG + Alpha? - Solved (need confirm)
riteshambastha
ritesh.linux at gmail.com
Thu Mar 13 10:01:06 EDT 2008
Dear Sacha,
Thanks for sharing such helpful information. I followed the steps as
mentioned by you:
#mapfile
<snip>
OUTPUTFORMAT
NAME 'AGGA'
DRIVER AGG/PNG
IMAGEMODE RGBA
END
METADATA
"DESCRIPTION" "Boundary_dist"
"GROUP" "Basemap"
"LAYER" "boundary_dist"
"IMAGEFORMAT" "AGGA"
END
</snip>
#config.php
<snip>
#around line 105:
$aszGMap = array (
'title' => 'Mumbai',
'path' =>
'/var/www/cgi-bin/bigmaps_rit/bigmaps/gmap/htdocs/mymaps_del_main.map',
'scales' => array(50000, 25000, 10000, 5000, 2500),
'format' =>'PNG'
#around line 210
case "AGGA":
$GLOBALS['szMapImageFormat'] = 'AGGA';
$GLOBALS['szMapImageCreateFunction'] = "imagecreatefrompng";
$GLOBALS['szImageExtension'] = '.png';
$GLOBALS['szImageCreateFunction'] = "imagecreatetruecolor";
$GLOBALS['szImageOutputFunction'] = "imagepng";
$GLOBALS['szImageHeader'] = 'image/png';
break;
</snip>
#tile.php
<snip>
#around line 90
$useAlphaCh = false;
if (isset($_REQUEST['i'])) {
setOutputFormat( $_REQUEST['i'] );
if (strtoupper($_REQUEST['i']) == 'ALPHA') {
$useAlphaCh = true;
}
elseif (strtoupper($_REQUEST['i']) == 'AGGA') {
$useAlphaCh = true;
}
}
#around line 320
if ($useAlphaCh) {
imageAlphaBlending($oTile, false);
imagefill($oTile, 0, 0, imagecolorallocatealpha($oTile, 0, 0, 0, 127));
imageSaveAlpha($oTile, true);
}
</snip>
Still I get the same error: Warning: [MapServer Error]: loadOutputFormat():
OUTPUTFORMAT clause references driver AGG/PNG, but this driver isn't
configured.
I may be doing something wrong in "config.php".
As you had written, i have used a case for 'AGGA'. But, i have not defined
case for 'AGG'. Is this really required even if I am using AGGA format for
imageformat.
I would really appreciate if you can help me with tile.php and config.php
files.
Warm Regards,
Ritesh Ambastha
riteshambastha wrote:
>
> Hey Sahca,
> thanks for sharing such helpful information.
> Still I am facing some problems. Kindly check this part of the code and
> see :
>
> elseif (strtoupper($_REQUEST['i']) == 'AGGA') { /// <-- also use
> AlphaCh if AGGA
> $useAlphaCh = true;
> }
>
> I think "AlphaCh if AGGA" must be commented.
>
> <snip>
> /////// in tile.php (around line 85): /////////////////
>
> $useAlphaCh = false;
> if (isset($_REQUEST['i'])) {
> setOutputFormat( $_REQUEST['i'] );
> if (strtoupper($_REQUEST['i']) == 'ALPHA') {
> $useAlphaCh = true;
> }
> elseif (strtoupper($_REQUEST['i']) == 'AGGA') { /// <-- also use
> AlphaCh if AGGA
> $useAlphaCh = true;
> }
> }
> </snip>
>
> Let me know if am not in the right direction.
> Thanks,
> Ritesh
>
> Sacha Black wrote:
>>
>> Hans, Zak, Paul, Lorenzo,
>>
>> Thanks for your comments - think I finally got the AGG + Alpha (AGGA)
>> option to work. Hans maybe you can test the below and confirm?
>>
>> I hope it works for you....
>>
>> Sacha
>>
>> +++++++++
>>
>> [After Zak's last comment I realized that Paul's suggested code was
>> not being executed in tile.php, because the condition "if
>> ($useAlphaCh)" was never true, after that was fixed, everything
>> worked]
>>
>> here is the full set of what worked for me (the bottom 2 changes were
>> the final key):
>>
>> ///////////////// in the .map file: /////////////////
>>
>> OUTPUTFORMAT
>> NAME 'AGGA'
>> DRIVER AGG/PNG
>> IMAGEMODE RGBA
>> # FORMATOPTION "TRANSPARENT=ON"
>> END
>>
>> and also for the relevant LAYER:
>>
>> LAYER
>> METADATA
>> "IMAGEFORMAT" "AGGA"
>> END
>> ....
>> END
>>
>> /////// in config php (around line 105): /////////////////
>>
>> $aszGMap = array (
>> 'title' => 'GMap 75',
>> 'path' => '../../gmap/htdocs/gmap_AGGA.map',
>> 'scales' => array( 40000000, 25000000, 12000000, 7500000,
>> 3000000, 1000000 ),
>> 'format' =>'PNG' /// <!-- doesn't seem to have an effect -->
>> );
>>
>> and (around line 210):
>>
>> case "AGGA":
>> $GLOBALS['szMapImageFormat'] = 'AGGA';
>> $GLOBALS['szMapImageCreateFunction'] = "imagecreatefrompng";
>> $GLOBALS['szImageExtension'] = '.png';
>> $GLOBALS['szImageCreateFunction'] = "imagecreatetruecolor";
>> $GLOBALS['szImageOutputFunction'] = "imagepng";
>> $GLOBALS['szImageHeader'] = 'image/png';
>> break;
>>
>>
>> /////// in tile.php (around line 85): /////////////////
>>
>> $useAlphaCh = false;
>> if (isset($_REQUEST['i'])) {
>> setOutputFormat( $_REQUEST['i'] );
>> if (strtoupper($_REQUEST['i']) == 'ALPHA') {
>> $useAlphaCh = true;
>> }
>> elseif (strtoupper($_REQUEST['i']) == 'AGGA') { /// <-- also use
>> AlphaCh if AGGA
>> $useAlphaCh = true;
>> }
>> }
>>
>> and lastly the fix from Paul (around line 315):
>>
>> if ($useAlphaCh) {
>> imageAlphaBlending($oTile, false);
>> imagefill($oTile, 0, 0, imagecolorallocatealpha($oTile, 0, 0, 0,
>> 127));
>> imageSaveAlpha($oTile, true);
>> }
>> _______________________________________________
>> ka-Map-users mailing list
>> ka-Map-users at lists.maptools.org
>> http://lists.maptools.org/mailman/listinfo/ka-map-users
>>
>>
>
>
--
View this message in context: http://www.nabble.com/Ka-map-and-AGG-%2B-Alpha----Solved-%28need-confirm%29-tp15973299p16025530.html
Sent from the ka-map-users mailing list archive at Nabble.com.
More information about the ka-Map-users
mailing list