[mapserver-dev] Better resolution handling for printing
Daniel Morissette
dmorissette at mapgears.com
Wed Feb 11 15:56:18 EST 2009
Dev's,
When using MapServer to generate a printable map at higher resolution
than the default screen resolution, say 300dpi instead of 72dpi, it is
not sufficient to update the map->resolution setting since all the label
and symbol sizes as well as line widths also need updating if you want
to maintain the same map appearance.
This issue has been discussed a few times before and I even think some
have worked on this at their end. We have a client who needs a fix for
this so I'd like to open a discussion on this before we go ahead and
prepare a RFC.
The approach I was thinking of using is to add a new map->defresolution
(better names welcome) that would be the default resolution of a given
mapfile, that is the reference resolution for which all sizes in labels,
classes and styles are set.
In normal web browsing operation, map->defresolution should be set to
the same value as map->resolution (e.g. 72dpi). When you want to print a
300dpi map, then you'd set map->resolution=300, and MapServer would
automagically apply a factor of map->resolution/map->defresolution to
all size values in the mapfile before rendering. For instance, if your
mapfile is set for a defresolution of 72dpi and you request a output
resolution of 300dpi, all size values would be multiplied by 300/72=4.16
and labels, lines and symbols on the resulting map would have the
same/expected relative sizes.
I think I've read suggestions of setting resolution as an outputformat
option before, but this may not work well with remote (e.g. WMS)
services, we need something better integrated and with the proposed
approach just passing a new vendor-specific resolution param in the WMS
GetMap URL could do the trick.
Does my explanation make sense? Has anyone worked on this problem
already? Any thoughts on this before we start working on a RFC?
Daniel
--
Daniel Morissette
http://www.mapgears.com/
More information about the mapserver-dev
mailing list