Opened 21 years ago

Closed 13 years ago

#305 closed defect (worksforme)

symbol SIZE in CLASS is not exact (one pixel too small)

Reported by: havard.tveite@… Owned by: sdlime
Priority: high Milestone:
Component: Renderer API Version: 4.0
Severity: normal Keywords:
Cc: sgillies@…

Description (last modified by tbonfort)

When rendering point and polygon symbols (I have not tested
lines), I have discovered that the SIZE parameter of a CLASS
specifies:

"the rendered vertical size of the symbol in pixels" - 1.

This applies to both vector and raster symbols.

This is unexpected behaviour and not documented(?). It means
that people who want to have full control of their symbols
appearance will be very confused.

What are the reasons for this strange behaviour (apart from
indexing in C)?

I hope that the semantics of the SIZE parameter can be
changed so that it gives the exact vertical size of the
symbol in pixels. The problem is, of course with legacy
symbol sets and mapfiles, but since the changes that are
made in Mapserver 3.7/4 are already significant I hope it
will be possible to make the change.

Change History (5)

comment:1 by havard.tveite@…, 20 years ago

Is this issue still unresolved?
I read the MapFile Reference - MapServer 4.0, and SIZE is (still) documented as
follows:

SIZE [integer]
    Height, in pixels, of the symbol/pattern to be used. Only useful with
    scalable symbols. Default is 1.

Håvard Tveite

comment:2 by sdlime, 20 years ago

Status: newassigned
Yes, still unresolved. There are bigger fish to fry since there's such an easy 
workaround for this one.

comment:3 by havard.tveite@…, 19 years ago

I agree that this is a minor issue, but for the sake of new users,
it would  be nice to either fix this or document the (unexpected)
behaviour.

In http://mapserver.gis.umn.edu/doc/mapfile-reference.html the
explanation of size should be changed to mirror the actual
behaviour.

Under STYLE object:
Current eplanation:
SIZE [integer]
Height, in pixels, of the symbol/pattern to be used. Only useful with scalable
symbols. Default is 1.

Modified explanation:
SIZE [integer]
Height, in pixels, of the symbol/pattern to be used. Only useful with scalable
symbols. Default is 1.  Due to an unresolved bug, the actual size of the
rendered vector symbols will be one pixel more than the specified size.

In the CLASS object a similar explanation is given for SIZE (perhaps these
explanations should be equal?). This should also be modified accordingly.

comment:4 by sgillies@…, 19 years ago

Cc: sgillies@… added

comment:5 by tbonfort, 13 years ago

Component: MapServer CGIRenderer API
Description: modified (diff)
Resolution: worksforme
Status: assignedclosed

closing as the rendering pipeline has changed in 6.0

Note: See TracTickets for help on using tickets.