Opened 18 years ago

Closed 18 years ago

#1852 closed defect (duplicate)

MapScript doesn't save width or antialias on styles

Reported by: mgleahy@… Owned by: dmorissette
Priority: high Milestone:
Component: MapScript-PHP Version: 4.8
Severity: normal Keywords:
Cc:

Description

As discussed in the MapServer-Users mailing list (below), I've found that
mapscript doesn't save the width or antialias properties for style objects when
writing mapfiles.

------------------------------

Date:    Fri, 4 Aug 2006 15:51:29 -0500
From:    Steve Lime <Steve.Lime@DNR.STATE.MN.US>
Subject: Re: width property for points?

Mike: First, please file a quick bug on not saving width or antialias
and I'll fix
ASAP. Might also want to file one for applying width to the outline of
filled 
symbols.

Second, you'll probably need 2 symbols: one with FILLED TRUE and the
other
without it (e.g. tent and tent-outline). I just looked at the code and
it respects
width for non-filled VECTOR symbols. 

Steve

>>> >>> Mike Leahy <mgleahy@GOLDEN.NET> 8/4/2006 3:24:49 PM >>>
Hello List,

I've been trying to see if I can style points with an outline that is 
thicker than one pixel.  Firstly, I've found that I am not able to set

the WIDTH property of a style element using MapScript - is this a Bug?

The MapServer FAQ suggest the following for Polygons:

STYLE # solid fill
   COLOR 255 0 0
END
STYLE # thick outline (could use a circle symbol with size too)
   OUTLINECOLOR 0 0 0
   WIDTH 3
   ANTIALIAS TRUE
END

This works if I manually edit the mapfile, but since MapScript won't 
save the width property for me (or ANTIALIAS for that matter), I had to

use the following approach:

STYLE
   ANGLE 360
   COLOR 210 247 247
   SYMBOL 0
END
STYLE
   ANGLE 360
   OUTLINECOLOR 0 0 255
   SIZE 3
   SYMBOL "circle"
END

I've tried similar methods for point symbols:

STYLE
   COLOR 0 163 240
   SIZE 9
   SYMBOL "tent"
END
STYLE
   SYMBOL "tent"
   SIZE 9
   OUTLINECOLOR 0 255 0
   WIDTH 5
END

I've also tried:

STYLE
   COLOR 0 163 240
   SIZE 9
   SYMBOL "tent"
   OUTLINECOLOR 0 255 0
   WIDTH 5
END

Unfortunately, nothing I do makes the outline around the point any 
thicker than one pixel.  Has anyone else encountered this?  I know I 
could just put a smaller symbol on top of another, but that only works

if a relatively symmetrical symbol is used (like a circle or star).

Thanks in advance for any suggestions,
Mike

------------------------------

Change History (3)

comment:1 by mgleahy@…, 18 years ago

Version: unspecified4.8

comment:2 by dmorissette, 18 years ago

Cc: steve.lime@… added
Owner: changed from mapserverbugs to dmorissette
I just checked the code, and width and antialias are properly written in
mapfile.c's writeStyle().

However, the PHP MapScript implementation of styleObj doesn't handle antialias,
width, and probably a few other properties.

I'll take that one and fix it now.

comment:3 by dmorissette, 18 years ago

Resolution: duplicate
Status: newclosed
FIXED. I see that this was done already for V4.9/4.10 in bug 1786, so I just
backported the fix to V 4.8.x (will be in 4.8.5 if/when we release it).



*** This bug has been marked as a duplicate of 1786 ***
Note: See TracTickets for help on using tickets.