Thanks Bart :) Y. Le Monday 22 October 2007 13:21:07 Bart van den Eijnden, vous avez écrit : > Hi Yves, > > Mapserver's default resolution is 72 dpi, that should explain your > difference. > > However I would encourage you to change this in the MAP file if you are > running an OGC service, you should use: > > MAP > .. > RESOLUTION 90.714 > .. > > instead according to the OGC. > > Best regards, > Bart > > On 10/22/07, Jacolin Yves <[EMAIL PROTECTED]> wrote: > > 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 > > > > Daniel, > > > > Does the default resolution of a map is 75 dpi? > > > > The reversion conversion should be : minScale = > > (ScaleHint/diag)*resolution > > with diag = sqrt(2.0); > > resolution in pixel/m -> 2.54 E-02 pixel/inch (equal to dpi?) > > > > so minScale = (9.97805696859274/sqrt(2.0))*75/2.54*100 > > minScale = 20 833 (instead of 20 000) > > maxScale = 520 833 (500 000) > > > > Does this differences are normal? > > > > Thanks, > > > > Y. > > -- > > Yves Jacolin > > --- > > http://softlibre.gloobe.org
-- Yves Jacolin --- http://softlibre.gloobe.org
