One point that has always troubled me is the confusion over WMS Scalehint calculations.
For anyone in a similar boat, the following post by Craig Bruce probably made the most sense out of all the other material
If we take a standard pixel size as being a square that is 0.28mm on each side, the length of the hypotenuse is 0.396mm. (The scale hint is defined in terms of a diagonal distance.)
This flies in the face of the usual calculation mentioned at various sites promoting
scale / 3846.15 = scalehint
as the method of choice. As Craig Bruce points out, this value is the inverse length/height of a 0.26mm pixel (meters) which goes against using the diagonal hypotenuse of a 0.28mm pixel (0.396mm).
As an example, if i’d like to express 1:50k in terms of a ScaleHint,
Method 1: 50,000 / 3846.15 = ~13 (0.26mm length)
Method 2: 50,000 / 2525.25 = ~19.8 (hypotenuse of 0.28mm)
Whats even more confusing, my UMN Mapserver produces,
Method 3: 50,000 / 2004.4 = ~24.94 (looks to be a hypotenuse of 0.35mm)
I haven’t had time to look at how Mapserver is running the calculation, but i’d certainly prefer the good old cartographic representation in the Capabilities doc
If anyone has any definitive articles on this issue please drop me a link. SLD Scale Denominator’s are clearly the winner though … it would also be interesting comparing the various apps on how they do the transform