Printing (hi-res) and scaling, Lines and Symbols.
David Bitner
osgis.lists at GMAIL.COM
Fri Feb 10 12:43:32 PST 2006
Bob --
This is what I do in PHP mapscript (I use FPDF to create a pdf with
the scaled image)
$scale=4;
$labelfudge=.5;
$stylefudge=.5;
$map->set('resolution',72*$scale);
$numLayers = $map->numlayers;
$classimages=array();
$classnames=array();
for ($i=0; $i < $numLayers; $i++) {
$layer = $map->getlayer($i);
if ($layer->status == 1 ){
for ($j=0; $j < $layer->numclasses; $j++) {
$class = $layer->getClass($j);
$label = $class->label;
if ($layer->type !=4){
$classimageobj=$class->createLegendIcon(60,60);
$classimages[]=$classimageobj->saveWebImage();
$classnames[]=$class->name;
}
if ($label->mindistance>1){
$md=$label->mindistance;
$newmd=$md*$scale;
$label->set('mindistance',$newmd);
}
if ($label->type == 'TRUETYPE') {
$labelsize=$label->size;
$newlabelsize=$labelsize*$scale*$labelfudge;
$label->set('size',$newlabelsize);
}
for ($k=0; $k < $class->numstyles; $k++) {
$style = $class->getStyle($k);
$style->set("size", $style->size * $scale * $stylefudge);
$style->set("offsetx", $style->offsetx * $scale);
$style->set("offsety", $style->offsety * $scale);
}
}
}
}
David
On 2/10/06, Bob Basques <bob.basques at ci.stpaul.mn.us> wrote:
> All,
>
> Any pointers on how to handle something like this.
>
> For example, any way to apply a global scale factor to annotation in a
> mapfile in some form? Just hoping. :c)
>
> Do I need completly seperate MapFile for each Paper resolution I want to
> use?
>
> bobb
>
More information about the MapServer-users
mailing list