将三维地理坐标转换到二维屏幕坐标

23 篇文章 13 订阅
5 篇文章 2 订阅

如何将三维地理坐标如(388691,4103865,4300)的(X,Y,Z)类型的坐标转化为在视口中能够被看见的地理坐标,在OpenGL中虽然可以转化,但是通过缩放之类的操作之后并没有成功,还是将图形或者点画在视口的范围之外,在屏幕视口中看不到。

在网上搜寻之后,得到如下的方法;

方法一:中心点配对法:即视图中心与地理空间中心点匹配,根据给定的地理坐标,计算该点与视野中心点的偏移和比例来进行计算就可以获得屏幕坐标,ArcGIS就是采用的这种方法。

屏幕上点的X坐标=屏幕视口宽度/2+【地图上任一点的X坐标(输入的X地理坐标值)-地图中心点坐标】*缩放系数+0.5

屏幕上点的Y坐标=屏幕视口高度/2+【地图上任一点的Y坐标(输入的Y地理坐标值)-地图中心点坐标】*缩放系数+0.5

 

方法二:相似比法

屏幕的X坐标=【任意一地理X坐标-地理坐标X最小值】*【屏幕宽/(地理坐标X最大值-地理坐标X最小值)】

屏幕的Y坐标=【屏幕高-(任意一地理Y坐标-地理坐标Y的最小值)】*【屏幕高/(地理坐标X最大值-地理坐标X最小值)】

下面为采用方法二相似比法完成的坐标转换,右图转换的坐标可以在OpenGL中显示,并可以利用这些点进行三角网的构建

如果您觉得这篇博文有用,请访问我的个人站:http://www.stubbornhuang.com,更多博文干货等着您。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HW140701

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值