比例尺——分辨率

 1  #region 计算比例尺的原理
 2             //此段代码仅限投影坐标系
 3             float dx, dy;
 4             Graphics g = this.CreateGraphics();
 5             try//获取当前屏幕的水平dpi和垂直dpi(dpi即每英寸上的像素点数)
 6             { dx = g.DpiX; dy = g.DpiY; }
 7             finally
 8             { g.Dispose(); }
 9             const double dMeterPerInch = 0.0254;//每英寸的米数
10             //(14寸显示屏):1019,96,0.26961041666666669(1366*768分辨率)    954,96,0.2524125(1280*720分辨率)
11             double showMeter = (m_pAxMapControl.MapFrame.ImageRectangle.Width / dx) * dMeterPerInch;//map的显示宽度
12             //map的地理宽度除以显示宽度,即为比例尺的倒数
13             double Fscale1 = m_pAxMapControl.MapFrame.GeographicExtents.Width / showMeter;
14             #endregion

 

比例尺小←相当于同样地理范围的数据显示的范围越小← 一个像素表达的数据范围越大→精度小→同样的图需要的像素少

dpi变小→比例尺小

posted @ 2014-10-22 11:14  寻梦放歌  阅读(443)  评论(0编辑  收藏  举报