91学术服务平台

您好,欢迎来到91学术官网!站长邮箱:91xszz@sina.com

发布论文

论文咨询

探讨基于Android平台加载海量真三维数据的可行性

  2020-06-20    236  上传者:管理员

摘要:在对移动三维GIS技术分析的基础上,选取OSG渲染引擎作为真三维开发平台。重点对实景三维数据、osg模型组织方式、海量数据显示等关键技术进行深入研究,确定了基于Android平台加载海量真三维数据的可行性。最后,将osg三维引擎成功移植到Android端,完成了真三维场景的加载与显示。实验结果表明,海量真三维数据在Android平台上运行流畅、图形质量高、响应速度快,扩展了实景三维数据的应用范围。

  • 关键词:
  • Android
  • OD
  • OSG
  • 倾斜摄影测量
  • 测绘学
  • 真三维开发平台
  • 移动GIS
  • 加入收藏

近年来,随着移动设备硬件性能的提高,以及具有外型小巧、方便携带等优点,移动设备广泛应用,已经在很多方面改变了我们的工作方式。伴随着计算机图形学、三维可视化技术的发展,基于三维的移动GIS系统已经在城市交通、智能规划、灾害应急等领域发挥着重要的作用。倾斜摄影测量使用先进的定位技术,将精准的地理信息嵌入高分辨率影像中,通过解算海量影像信息,生成真三维模型,达到真实还原地物的效果。在嵌入式设备性能飞速发展的今天,人们希望通过移动端实现实景三维模型系统的应用愿望越来越强烈。但是受到开发平台和存储空间的限制,移动终端在处理海量的真三维模型时仍然有些力不从心。因此,在Android平台上实现海量数据的高速加载与显示是未来实现移动端真三维地理信息系统的关键问题。针对以上问题,本文基于OSG三维开源引擎,组织并渲染实景三维数据,在Android端成功建立实景三维场景,实现了在移动端对海量真三维模型的表达。同时也对基于Android平台的真三维地理信息系统应用做出了重要的探索。


1、OSG在Android开发中的应用


1.1OSG引擎概述

OpenSceneGraph(简称“OSG”),是一个高性能的3D图形开发开源工具包,为可视化仿真、虚拟现实、游戏和三维建模等方面的应用开发者提供丰富的场景管理和图形渲染优化功能。OSG采用标准的C++和OpenGL实现,支持Windows、OSX、Linux等多种操作系统平台上开发应用。自1998年诞生以来,被广大场景技术开发应用者所推崇,现已广泛应用于可视化仿真、石油、天然气、游戏和虚拟现实等行业中。

1.2基于osg的Android真三维应用开发

Android系统是基于Linux内核开发的嵌入式操作系统,主要应用于手机、平板电脑等移动终端设备。Android系统在移动终端领域的市场占有率全球第一,并且其开放源代码的特性极大地提高了开发效率和自由度。近年来,随着移动终端性能的快速发展以及图形绘制能力的不断提升,使得在Android终端上使用OpenGLES接口完成3D图形的绘制成为了可能。考虑到OSG开源引擎是对OpenGLES的封装与优化,同时支持标准C++开发语言,因此在Android系统中通过JNI使用OSG技术,可以充分发挥Android与OSG引擎的效率优势,从而建立高效的真三维系统。


2、真三维数据显示


2.1实景三维模型数据

实景三维模型数据是通过在同一飞行平台上搭载多台传感器设备(包括多个相机、定位、惯导系统等),飞行过程中沿着垂直、倾斜多种视角对地面物体进行观测以获取较为完整的影像信息,真实地反映地表客观情况,并经过同名点匹配、空三加密、TIN网构建、表面贴图套合等系列复杂的内业处理过程生产出来的真三维模型数据。

目前,行业内生产的实景三维数据,尤其是Smart3D处理的倾斜摄影三维模型的组织方式通常是二进制存储的、带有嵌入式链接.jpg纹理数据的osgb格式。osgb格式因其嵌入式链接纹理数据并以二进制的方式存储的机制,导致此类数据具有文件碎、数量多、高级别金字塔文件庞大的劣势。为提升实景三维模型数据的高效调用程度,克服osgb格式自身缺陷,可采用文件索引加载机制,给生产出来的倾斜数据建立相应的文件索引,加载数据过程时根据提前建立的索引文件逐次加载osgb文件。

2.2osg场景组织方式

OSG采用包围体层次来实现场景图形的管理,“包围体”(BoundingVolumeHierarchy,BVH)指的是将一组物体完全封闭在一个简单的空间形体中,从而提高各种检测的运算速度。OSG综合使用包围球和包围盒的形式具体组织实现三维场景的包围体层次结构,尽可能地达到最佳的场景组织和访问性能。

三维场景的包围体层次图形组织通常采用树状结构来保存场景中节点的信息。一棵场景树包括一个根节点、多级内部的枝节节点,以及多个末端的叶子节点。根节点和枝节节点负责构建场景树的层次,以及完成某些特定的功能;而叶子节点则保存一个或者多个可绘制对象的信息,就好比树枝的末端生长的树叶。所有的节点都维护一个自身的包围体,这个包围体将所有子节点的包围体紧密包围起来,而每个子节点同样将其下一级子树紧密包围,以此类推,构成一系列层次分明的结构树。这种场景图形BVH树不仅可以准确表达场景图形的信息组成,同时可以加速场景对象的裁剪、相交测试、碰撞检测等系列操作,是目前三维场景构建中应用最为广泛的空间数据组织结构之一。

如图1所示,一个简单的街道场景,由许多分散的场景对象组成。这里将房屋、汽车和树木均视为单独的可绘制几何体,并使用包围盒来表达这些对象的包围体;然后将可绘制对象按照类型进行区分,用3个不同的枝节节点进行分组管理。便于区分,采用包围球的形式表达场景的根节点以及枝节节点的包围体层次结构。

图1三维场景层次结构图

2.3海量数据多尺度显示

城市的实景三维模型数据的数据量通常很大,通常能够到达几十GB、甚至上百GB的数量级,且其存储的复杂程度往往超过计算机的计算能力,必然会给数据的加载显示带来一定的压力。实景三维数据的实时显示要求场景的渲染帧速不能低于30帧/秒,显然,在现有的硬件条件下,很难实现场景画面的流畅浏览。因此,为了解决庞大数据量与显示速度之间的矛盾,本文采用了层次细节模型(LOD),LOD可以有效地控制场景的复杂程度,加快三维模型数据的渲染速度。

OSG对层次细节模型的支持是以节点的形式应用于三维场景中,OSG提供了层次模型的类osg::LOD,对于LOD模型,它是一次性地载入到内存当中,根据到视点的距离,有选择地对LOD模型进行渲染绘制。三维场景浏览过程中,距离视点较近的区域需要渲染显示细节层次较高、较为精细的模型,距离视点较近的区域只需渲染细节层次稍低、略显粗糙的模型即可,如此便可大大提高三维场景的渲染绘制速度,增强三维场景数据的操作体感及流畅性。


3、系统实现


3.1Android平板真三维显示系统开发流程

首先,搭建基于OSG开源库的Android开发环境,将Androidsdk、Androidndk以及3rdpartyforandroid开发包,通过cygwin终端进行编译,生成C++可以识别的静态库文件;其次,使用AndroidStudio新建工程并导入编译好的静态库文件,考虑到AndroidStudio同时支持Java与C++编程语言,因此使用C++调用原生的OSGAPI,可以充分发挥OSG三维引擎的效率;再次,编写JNI(JavaNativeInterface)代码实现Java与C++的通信,从而保证Android前台对OSG引擎的控制;最后,使用AndroidSDK在AndroidStudio环境中对OSG库文件与Java程序一起打包,生成在平板电脑上可以运行的*.apk文件,实现了真三维数据在移动终端上的应用。

3.2真三维场景显示

本文实验所使用的数据是新疆布尔津县60G的实景三维数据,将其生成索引文件一起拷贝到SD扩展卡。使用osgDB::readNodeFile方法,循环读取osgb的文件路径,并将每次读到的数据作为一个节点添加到根节点中。为了保证显示的真三维模型数据具有纹理特征,需要在C++的头文件中使用Jpeg的插件,从而有效地还原场景内物体的颜色信息。


4、结束语


本文研究了基于OSG引擎实现真三维模型的场景调度、渲染和显示的关键技术研究,将电脑平台上的实景三维可视化应用移植到Android平板上,理论研究与实现方法具备一定的创新性。经过测试,该程序在华为M3平板和三星TabS3上能够运行流畅,海量真三维模型加载效率令人满意,同时该平台具有较强的扩展能力,实验结果证明了在移动终端上实现海量数据真三维可视化的可行性。接下来的研究工作重点是在该平台的基础上实现对场景的基本操作包括平移、旋转、缩放等手势,同时增加距离量算、高度量算和面积量算等地理信息功能,从而提高程序的实用性和交互性,为移动平台在数字城市、智慧城市建设中的应用提供参考。


参考文献:

[1]夏鹏万.PostGIS开启开源空间数据库未来[J].软件世界,2006(10):52-54.

[2]袁轶,郑文锋,王绪本.基于GeoServer的WebGIS开发[J].软件导刊,2007(5):108-109.

[3]李新通,何建邦.GIS互操作与OGC规范[J].地理信息世界,2003,1(5):23-28.

[4]张宗福.基于STRUTS框架开发MVC模式的WEB应用[J].计算机光盘软件与应用,2013(22):206-207.

[5]公磊,周聪.基于Android的移动终端应用程序开发与研究[J].计算机与现代化,2008(8):85-89.

[6]李治洪.WebGIS原理与实践[M].北京:高等教育出版社,2011.

[7]龚健雅.地理信息系统基础[M].北京:科学出版社,2001.

[8]秦伟.基于Android与J2EE技术的看守所信息系统设计与实现[J].科技创新与生产力,2015(8):74-75.


汪永强,曹晓辉,李德江.基于Android平台的海量真三维数据显示技术[J].测绘与空间地理信息,2020(S1):70-72.

分享:

91学术论文范文

相关论文

推荐期刊

网友评论

加载更多

我要评论

测绘科学

期刊名称:测绘科学

期刊人气:5361

期刊详情

主管单位:国家测绘地理信息局

主办单位:中国测绘科学研究院

出版地方:北京

专业分类:科学

国际刊号:1009-2307

国内刊号:11-4415/P

邮发代号:2-945

创刊时间:1976年

发行周期:月刊

期刊开本:大16开

见刊时间:一年半以上

论文导航

查看更多

相关期刊

热门论文

推荐关键词

【91学术】(www.91xueshu.com)属于综合性学术交流平台,信息来自源互联网共享,如有版权协议请告知删除,ICP备案:冀ICP备19018493号

微信咨询

返回顶部

发布论文

上传文件

发布论文

上传文件

发布论文

您的论文已提交,我们会尽快联系您,请耐心等待!

知 道 了

登录

点击换一张
点击换一张
已经有账号?立即登录
已经有账号?立即登录

找回密码

找回密码

你的密码已发送到您的邮箱,请查看!

确 定