ScaleHint in GetCapabilities resquest

Jacolin Yves yjacolin at FREE.FR
Fri Oct 19 08:09:44 PDT 2007


Le Friday 19 October 2007 16:24:03 Daniel Morissette, vous avez écrit :
> Jacolin Yves wrote:
> > Hi list,
> >
> > After a GetCapabilities resquest on a mapserver server, I find this line
> > inside my xml file:
> > <ScaleHint min="9.97805696859274" max="249.451424214819" />
> >
> > In my mapfile, I defined min et max scale values with:
> >    MINSCALE 20000
> >    MAXSCALE 500000
> >
> > How can I convert the scaleHint value to the mapfile value? In other
> > words, what does scaleHint values means?
>
> WMS defines the scalehint values as the ground distance in meters of the
> southwest to northeast diagonal of the central pixel of a map. ScaleHint
> values are the min and max recommended values of that diagonal. (See WMS
> 1.1.0 sect. 7.1.5.4)
>
> It is calculated in msWMSPrintScaleHint() in MapServer's mapwms.c:
>
>    diag = sqrt(2.0);
>
>    if (minscaledenom > 0)
>      scalehintmin =
> diag*(minscaledenom/resolution)/msInchesPerUnit(MS_METERS,0);
>    if (maxscaledenom > 0)
>      scalehintmax =
> diag*(maxscaledenom/resolution)/msInchesPerUnit(MS_METERS,0);
>
>
> The use of inchesPerUnit conversion is because resolution is in pixels
> per inch, and we need the result in meters.
>
> I'll leave it as an exercise to you to figure out the reverse conversion
> (scalehint -> scaledenom). ;)
>
> Daniel

Fine, thanks Daniel.

I will do my homework this week end and come back on monday :)

Y.
-- 
Yves Jacolin
---
http://softlibre.gloobe.org



More information about the MapServer-users mailing list