[发明专利]基于webGL的三维地球的实现方案有效
| 申请号: | 201410235201.X | 申请日: | 2014-05-30 |
| 公开(公告)号: | CN104063900B | 公开(公告)日: | 2017-06-06 |
| 发明(设计)人: | 唐娉;李腾;冯峥;张正;单小军;李宏益 | 申请(专利权)人: | 中国科学院遥感与数字地球研究所 |
| 主分类号: | G06T17/05 | 分类号: | G06T17/05;G06T15/00;G06F17/30 |
| 代理公司: | 暂无信息 | 代理人: | 暂无信息 |
| 地址: | 100101 北京市朝阳区大屯*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 webgl 三维 地球 实现 方案 | ||
技术领域
本发明涉及数字地球技术领域,具体地说,是一种在浏览器上显示三维地球的方法。
背景技术
webGL是一种3D绘图标准,该绘图标准允许将脚本语言Javascript与着色语言GLSL结合在一起。目前webGL已经在主流浏览器上支持,这其中包括了谷歌浏览器、火狐浏览器,Safari等浏览器。WebGL的出现使得在浏览器上展示三维效果不再需要浏览器插件的支持,其直接利用底层的硬件加速对图形进行渲染,为开发人员提供了与传统三维桌面应用同样高效的图形渲染速度,本发明利用这一技术的特点,提出了一种不同于传统数字地球实现方法的技术方案。
数字地球技术的概念是1998年时任美国副总统的戈尔提出的,其是一个与GIS、网络、虚拟现实、三维技术,意在利用计算机技术、多媒体技术以及存储技术为基础、以网络为枢纽,运用大量的地理数据对地球进行多角度、多分辨率、多尺度、多时空的三维描述及展示,以此来直观地认识人类所居住的星球。近年来,数字地球的发展十分迅速,这一发展与硬件水平的发展、完备的数据支持、用户需求、网络技术的发展息息相关。目前比较成熟的三维数字地球解决方案有谷歌地球、worldwind等。
WMS(Web地球位置服务)利用具有地理空间位置信息的数据制作地图,其中将地图定义为地理数据可视的表现,地图本身并不是数据。服务器端的地图数据通常以jpg或者png的格式的切片形式存储,这些地图数据的切片被称为瓦片数据。WMS为外部提供地图数据服务,其根据一个来自客户端的请求,响应返回客户端指定范围的地图图像数据。
CORS(跨域资源共享)是一种网络浏览器的技术规范,其允许网页从不同域访问其他资源,以避开浏览器的同源策略,是传统JSONP模式的替代品。
web墨卡托投影将地球的地图数据定义为一张长宽都为40075.0166855784的正方形图像,并对地图数据进行分层。第0层数据为一张256x256的图像,其覆盖范围为全球。第1层数据将全球数据平均分为4块256x256的图像,每块覆盖范围为第0层数据覆盖范围的1/4。第N层的地图数据以此类推,层数越高,数据的分辨率越高,瓦片数据的个数越多。
使用web墨卡托地理坐标算出该地理坐标所对应的瓦片数据索引号,其对应的计算公式如下:
其中tileSize为z层每一张瓦片数据对应的web墨卡托的地理坐标范围,idx,idy为瓦片的索引号,px和py为web墨卡托的地理坐标
使用web墨卡托地理坐标x,y算出所对应的经纬度坐标,其对应公式如下:
其中lon,lat为经纬度,x,y为对应的墨卡托投影地理坐标,radius为对应的球体半径,这里所用的就是地球的半径。
传统的数字地球实现是在服务器/客户端的架构下,开发基于WMS协议的客户端桌面程序,程序运行时向远端提供WMS服务的服务器请求地图数据。基于这种模式下开发的程序需要在每一台使用三维数字地球的终端上进行繁杂的部署安装。由于每一个终端所使用的操作系统不同,需要针对不同的操作系统开发出一套具有相同功能的桌面程序,中间用于移植的工作量大。
与传统展示数字地球技术不同的是:本发明利用webGL技术实现了基于浏览器/服务器架构的三维地球,利用webGL标准实现了跨平台跨浏览器的三维数字地球展示。程序使用脚本语言javascript控制显卡、完成地图数据的调用以及用户交互的响应。这种模式下的三维地球实现只需要终端上安装支持webGL标准的浏览器即可,而目前流行的浏览器都已经对webGL提供了支持。相比传统模式,部署更加简单方便,可拓展性高。并且,由于浏览器的跨平台特性,在这一架构下实现的数字地球移植性高。基于浏览器模式下的应用只会在调用时占用硬盘临时空间。基于这种架构下实现的数字地球需要充分利用脚本语言的灵活性,与此同时避免脚本语言在实现上的局限性。本发明基于这样一个扬长避短的原则下提出如下几个方案来解决使用javascript脚本语言开发webGL三维地球中遇到的问题。
发明内容
本发明的目的是提供一种基于webGL的三维地球的实现方法。
本发明的基本思路为:
(1)渲染一个可载入多层瓦片数据的webGL三维球体;
(2)计算并请求当前视角下可见的瓦片数据;
(3)瓦片数据管理,定义一个状态变换机来控制管理一张瓦片数据从被请求、传输、传输完成被渲染以及被释放内存的生命周期过程;
(4)瓦片数据存储,定义了一个瓦片数据容器来存储瓦片数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院遥感与数字地球研究所,未经中国科学院遥感与数字地球研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410235201.X/2.html,转载请声明来源钻瓜专利网。





