Hi,
I would like to propose that we add a new parameter to GetMap (and GetFeatureInfo)
requests to control how we compute the scale denominator.
The current code instructs the renderer to use the OGC compliant scale computation,
e.g.:
rendererParams.put(StreamingRenderer.SCALE_COMPUTATION_METHOD_KEY, StreamingRenderer.SCALE_OGC);
This is done for compatibility, but it’s well known that the scale computation
against geographic data is way off the true scale, the SLD spec basically
requires to use equations that assume the earth is a cylinder.
When doing GetMap to be displayed on a computer that is not an issue, as people
do not measure the map on a display by hand, but normally have a distance tool
available instead.
However, when we are using GetMap to integrate the result in a printed map, then
we have a problem: people do measure the printed map by hand, and need an
accurate result.
Indeed mapfish-print does use accurate equations (so that the printed map is actually
measurable by hand), not the OGC ones, and this is causing
issues when printing, like for example layers disappearing due to scale dependencies
triggering when they were not meant to.
So, for the sake of printing (and PDF output too), I’m proposing to add a new vendor
parameter to GetMap to control how we compute the scale:
&scaleMethod=ogc/accurate (default to ogc of course)
The method would not be part of format_options, as it’s not really format dependent,
but it would be a new top level vendor parameter.
Since it’s a new features, I’d commit it on master after the feature freeze ends
Opinions?
Cheers
Andrea
–
==
GeoServer Professional Services from the experts! Visit
http://goo.gl/NWWaa2 for more information.
==
Ing. Andrea Aime
@geowolf
Technical Lead
GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054 Massarosa (LU)
Italy
phone: +39 0584 962313
fax: +39 0584 1660272
mob: +39 339 8844549
http://www.geo-solutions.it
http://twitter.com/geosolutions_it