首页
|
GIS新闻
|
GIS基础
|
GIS应用
|
GIS开发
|
WebGIS
|
测绘
|
遥感
|
GPS
|
专题
|
GIS招聘
|
资料下载
|
社会万象
|
论坛
|
站内新闻公告
您的位置:
GIS门户网
→
GIS开发
→
正文
GIS网内容搜索
GIS网热门内容
•
ArcGIS系列中文教程
•
ArcObject入门教程
•
geoserver与OpenLayers配
•
使用ArcGIS Engine开发应
•
基于ArcIMS Java Connec
•
经纬度到平面坐标的相互
•
Arcgis Visual C++ Runt
•
GIS中最短路径的实现
•
OpenLayers教程之OpenLa
•
ArcGIS Engine开发:框架
•
基于.NET的开源GIS项目收
•
OpenLayers教程之项目介
GIS网推荐内容
•
Java应用技巧
•
了解Ajax
•
快速精通FRAME
•
API全功略(API编程的详
•
软件工程爱好者的典藏-
•
OpenLayers教程之OpenLa
•
OpenLayers教程之OpenLa
•
OpenLayers教程之解析GM
•
OpenLayers教程之空间数
•
ArcGIS中有关MDB文件锁定
•
迷失在专注中的Web2.0
•
如何打包.net framework
GIS网最新内容
•
asp读取和写入xml简单教
•
MapXtreme产品介绍
•
google map api中的事件
•
地图坐标与屏幕坐标的转
•
SAAS,GIS软件的未来?
•
程序人生
•
GoogleEarth二次开发难点
•
实验:居心叵测的Chrome?
•
How Google Map Works
•
VC++中的Win32 Applicat
•
在VC中怎样实现软件的注
•
(转)如何使应用程序只运
提出意见和建议
地图坐标与屏幕坐标的转换
原 作 者:
地图
; 添 加:2008-10-02; 发 表:2008-10-02;
点 击:327
; 来 源:http://hi.baidu.com/geochenyj
地图坐标与屏幕坐标的转换 博客地址:http://hi.baidu.com/geochenyj
再开始这个话题之前,先提出一个问题:给你一副地图,里面的每个要素的坐标都已知,怎么把这幅地图在屏幕上显示出来?由此就引出了地图坐标与屏幕坐标的转换,它是
GIS
底层实现中调用频率最高的运算,地图渲染、浏览、要素选择、编辑等都会涉及到它,这个算法的实现效率,直接关系到整个系统的性能。
现在回答文章开头提到那个问题。首先,已知当前显示的地图范围是多少,即
H
、
W
、
(x
0
,y
0
)
已知;然后,已知当前屏幕画布的大小,即已知
H’
、
W’
;这样就可以得到地图坐标
(x,y)
到屏幕坐标
(x’,y’)
转换公式,把每个要素的地图坐标都转换到屏幕坐标,并被渲染出来。
在画布大小没有改变的情况下(
H’
、
W’
不变),随着地图的放大、缩小、平移等操作,地图范围在不断地改变,即
H
、
W
、
(x
0
,y
0
)
在改变,转换公式的也随之改变。
我们又经常要把屏幕坐标转成地图坐标,比如,我们在地图上添加一个点要素,需要在屏幕上按一下鼠标,确定这个点的位置,这个时候就需要把当前鼠标按下的位置即屏幕坐标,通过上面的公式,转换成地图坐标保存。再比如,点选工具,也是先在地图上按一下鼠标来选择,把鼠标按下的位置,即屏幕坐标转成地图坐标,然后用地图坐标查询空间索引,缩小搜索的范围,比较距离当前鼠标位置最近的要素,即为被选择的要素。
总之,地图坐标与屏幕坐标的转换,是
GIS
中最常调用的接口,不管是底层开发还是二次开发,都会经常涉及到。下一节,我们将重点介绍控制地图显示的几个重要参数。
收藏本页:
点这里复制本页地址发送给您QQ/MSN上的好友
相关文章
•
SAAS,GIS软件的未来?
•
程序人生
•
GoogleEarth二次开发难点和技巧
•
实验:居心叵测的Chrome?
•
How Google Map Works
•
VC++中的Win32 Application和Win32 Console
•
在VC中怎样实现软件的注册机制
•
(转)如何使应用程序只运行一个实例
•
如何实现API钩子
•
ArcView GIS 应用与开发技术(3)-地理要素
•
google map api中的事件名称和描述
•
MapXtreme产品介绍
•
asp读取和写入xml简单教程+实例
相关评论
GIS门户网提示:本文章所属分类:
首页
→
GIS开发
GIS
GIS