Welcome

首页 / 软件开发 / .NET编程技术 / SharpMap深度分析:地图渲染、坐标和比例尺

SharpMap深度分析:地图渲染、坐标和比例尺2011-11-17 博客园 马维峰上篇对SharpMap的分析文章里,一个重点就是地图的渲染流程和机制,这里就不专门介绍这个问题了 ,只是就坐标的一些细节问题分析一下。

地图都有一个单位(Unit)、比例尺(Zoom)的概念,还有投影的问题。对于Unit,一般使用Km、m或 者经纬度来表示。一幅地图,在其所有数据的Unit和投影都一致的情况下,在绘制这些对象到地图时,就 要根据比例尺进行坐标转换;同时,在进行地图的缩放、移动、拾取等操作的时候,鼠标的坐标是桌面的 坐标系统,也要转换到地图坐标系统(一般称为World Coordinates System,简称WCS)。

首先来看比例(Zoom)在Map类里的定义:

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();    }}