关于地图坐标到屏幕坐标的转换
2007-01-16 17:19
309 查看
今天终于将多点画到屏幕上去了,十分开心,这里面最重要的是坐标系的转换.我讲讲坐标系的转换:
功能说明: 窗口坐标与地图坐标的转换
使用说明:
设置坐标转换的比例尺SetZoom以后,设置地图中心SetMapCenter和窗口中心SetWndCenter以后
Map2Wnd:地图坐标转换为窗口坐标
Wnd2Map:窗口坐标转换为地图坐标
原理:在二维坐标系统中的两个坐标系通过一对对应点和一个缩放因子即可确定两者的对应关系。
算法:确定地图坐标中的一点m_ptMapCenter和对应于窗口坐标中的一点m_ptWndCenter,从地图坐标到窗口坐标的系数Scale
地图坐标(mx, my)到窗口坐标(wx, wy)的转换方法为:
wx=( mx-m_ptMapCenter.x)* Scale+m_ptWndCenter.x
wy=( my-m_ptMapCenter.y)* Scale+m_ptWndCenter.y
在这里我想说明一下 m_ptMapCenter: 大家都知道shapefile有边界盒为Xmin, Ymin,Xmax,Ymin 我想说 m_ptMapCenter:的x= ( Xmax+Xmin)/2
y=(Ymax+Ymin)/2
至于 Scale=(Xmax-Xmin)/(手机屏幕的宽度/2).
其实这个地图的原点与屏幕中心是重叠的,这个比值是个缩放因子,如果你想放大缩小地图 ,那么只要改变缩放因子即可.
功能说明: 窗口坐标与地图坐标的转换
使用说明:
设置坐标转换的比例尺SetZoom以后,设置地图中心SetMapCenter和窗口中心SetWndCenter以后
Map2Wnd:地图坐标转换为窗口坐标
Wnd2Map:窗口坐标转换为地图坐标
原理:在二维坐标系统中的两个坐标系通过一对对应点和一个缩放因子即可确定两者的对应关系。
算法:确定地图坐标中的一点m_ptMapCenter和对应于窗口坐标中的一点m_ptWndCenter,从地图坐标到窗口坐标的系数Scale
地图坐标(mx, my)到窗口坐标(wx, wy)的转换方法为:
wx=( mx-m_ptMapCenter.x)* Scale+m_ptWndCenter.x
wy=( my-m_ptMapCenter.y)* Scale+m_ptWndCenter.y
在这里我想说明一下 m_ptMapCenter: 大家都知道shapefile有边界盒为Xmin, Ymin,Xmax,Ymin 我想说 m_ptMapCenter:的x= ( Xmax+Xmin)/2
y=(Ymax+Ymin)/2
至于 Scale=(Xmax-Xmin)/(手机屏幕的宽度/2).
其实这个地图的原点与屏幕中心是重叠的,这个比值是个缩放因子,如果你想放大缩小地图 ,那么只要改变缩放因子即可.
相关文章推荐
- 一个屏幕坐标和地图坐标转换的js代码
- 地图坐标与屏幕坐标的转换
- 地图坐标与屏幕坐标的转换&&控制地图显示范围的参数
- OpenLayers地图坐标转换屏幕坐标
- 地图经纬度坐标与屏幕坐标的转换(android版)
- 关于地图坐标转换的小总结
- 一个地图坐标转换成屏幕坐标
- 转:一个屏幕坐标和地图坐标转换的js代码
- 关于百度地图API的地图坐标转换问题
- 如何通过界面屏幕的UI坐标,转换成45度叫的地图坐标?
- ArcGIS屏幕坐标和地图坐标的转换
- 关于百度地图API的地图坐标转换问题
- 关于45°角度地图坐标的计算原理 - LVin_A
- 地图坐标转换(84坐标、百度坐标、国测局坐标)
- (转)经纬度坐标转换为屏幕坐标
- 经纬度坐标转换成屏幕坐标
- 经纬度坐标转换为屏幕坐标
- 关于vb中的经纬度转换控制坐标的函数frommappoint的剪辑
- DX中将窗口坐标转换成屏幕坐标,自己写的函数
- 地图坐标转换接口的研究