[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