For example, I've got a map window open here and when I enter into the
MapBasic window: "Print MapperInfo( FrontWindow(), 1)"
(MAPPER_INFO_ZOOM), I get 371.6 (miles). When I enter: "Print
MapperInfo( FrontWindow(), 2)" (MAPPER_INFO_SCALE), I get 70.2305.
Finally, when I enter: "Print WindowIInfo( FrontWindow(), 4)"
(WIN_INFO_WIDTH), I get 5.29167 (inches). So, divide the zoom (distance
of miles) by the window width (distance of inches) and you get 371.6 /
5.292 = 70.224. The slop is probably due to rounding, but I haven't
checked that.
It's a weird way to calculate map scale (which IMHO should be the
dimensionless ratio of map distance to world distance), but there seems
to be a human mental problem about scale. It's like the phenomenon of
our understanding the concept of up vs down before we get the one about
left vs right. The scale parameter was also botched the first time
around in UMN MapServer and that's been a point of confusion ever since,
and if you ask me, too many people who work with maps still don't know
the difference between small scale and large scale. I've worked with
maps for years and I still have to mentally check myself before I say
"small / large scale." I wonder what Freud would think about that?
- Bill Thoen