In the article on the analysis of Sharpmap, a key point is the map of the rendering process and mechanism, here is not specifically to introduce this issue, but the coordinates of some of the details of the problem analysis.
Maps have the concept of a unit, a scale (Zoom), and a projection problem. For unit, it is generally expressed by km, m, or longitude and latitude. A map, in which all the unit and projection of all the data are consistent, when drawing these objects to the map, the coordinates are converted according to the scale; at the same time, the coordinates of the mouse are the coordinate system of the desktop when the map is scaled, moved and picked up. Also want to convert to map coordinate system (commonly called world coordinates system, abbreviation WCS).
First look at the definition of proportions (Zoom) in the map class:
Private double _zoom;
Public double Zoom
{get
{return _zoom;}
set {
if (value < _minimumzoom)
_zoom = _minimumzoom;
else if (value > _maximumzoom)
_zoom = _maximumzoom;
else
_zoom = value;
if (mapviewonchange!= null)
mapviewonchange ();
}
}