OSGEarth解决南北极空洞问题

我们知道由于受墨卡托投影原理限制,目前主流互联网地图均不提供南北极区域数据。

当使用osgEarth加载互联网地图瓦片时,因编译环境不同,偶尔会出现南北极空洞的现象。虽不影响功能使用,但却影响视觉体验,对部分强迫症患者却十分不友好。效果如下(OsgEarth2.10.1):

 

经反复调试,感觉应该是使用的gdal库没有对南北极区域的坐标转换进行边界处理。现提供一种简单方法可解决此问题:

在/src/osgEarth/SpatialReference.cpp文件的第1131行(transformXYPointArrays函数中,return OCTTransform( xform_handle, count, x, y, 0L ) > 0;语句前一行),添加如下代码:

if (out_srs->isMercator())
 	{
 		for (int i=0;ii<count;i++)
 		{
 			if (y[i]>85)
 			{
 				y[i]=85;
 			}
 			if (y[i]<-85)
 			{
 				y[i]=-85;
 			}
 		}
 	}

实现效果如下:

 

 欢迎讨论交流osg&osgearth技术问题~

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值