比例尺——分辨率
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变小→比例尺小