摘要:在对移动三维GIS技术分析的基础上,选取OSG渲染引擎作为真三维开发平台。重点对实景三维数据、osg模型组织方式、海量数据显示等关键技术进行深入研究,确定了基于Android平台加载海量真三维数据的可行性。最后,将osg三维引擎成功移植到Android端,完成了真三维场景的加载与显示。实验结果表明,海量真三维数据在Android平台上运行流畅、图形质量高、响应速度快,扩展了实景三维数据的应用范围。
加入收藏
近年来,随着移动设备硬件性能的提高,以及具有外型小巧、方便携带等优点,移动设备广泛应用,已经在很多方面改变了我们的工作方式。伴随着计算机图形学、三维可视化技术的发展,基于三维的移动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.
分享:
泛在测绘被定义为用户在任何地点、任何时间,认知环境与人产生关系时使用和构建地图的活动和能力[1]。泛在测绘服务于近乎实时定位的大众行业,时空位置信息是这类应用的数据基础,除了专业的测绘数据,一些非专业的包含空间位置的众包数据也逐步成为测绘行业应用的重要数据来源。
2023-10-30近年来,随着无人机、大数据、人工智能等技术的发展,快速、高精度的空间大数据处理模式已被广泛应用。摄影测量作为空间大数据的重要采集方式自然存在大量社会需求,同时这对摄影测量人才的数量和技术也提出了更高的要求。基于此,高校对于摄影测量人才的培养也必须顺应社会需求发展,即在摄影测量学课程设计方面需要进行改革和创新。
2023-09-05房产测量主要是利用测绘技术和方法,采集和表达房屋物权的有关信息,为房屋产权、产籍和物业管理、房地产开发利用、交易、征收税费及城镇规划建设提供数据和资料。随着我国经济不断发展,城镇居民住宅逐渐增多,对房产测量的精度与效率提出了更高的要求。本文针对目前房产测量的局限性,提出了利用三维激光扫描技术实现大面积房产测量平面图绘制的方法。
2023-08-30为促进无人机航测技术在电网工程建设中的应用,分析了无人机摄影测量系统的组成、特点、应用范围与作业流程,介绍了其在电网工程建设中的应用,包括在线路规划与地形图测量、电网应急救灾、电力巡线、电力线上异物处理中的应用。但受技术因素的影响,无人机在空中运行过程中仍然存在姿态不稳定、飞行时间偏短、航拍面积较小等问题。
2022-04-08现阶段民用基础地理信息数字成果可以通过转换、融合的方式,生产出满足军方使用的成果数据,但这种方法耗时长,成本高。从推进双方成果深度融合的角度出发,应从标准化的视角,建立标准化融合工作机制,构建军民通用的测绘地理信息标准体系,推动基础类标准的融合,尝试成果类标准的研制。推进军民基础地理信息数字成果及标准融合有利于统筹军民测绘力量。
2022-01-21在智慧城市这一概念提出之后,三维GIS技术的应用越来越充分,也达到了更好的实践效果。三维GIS是当下和未来GIS技能发展趋势的主要方向,它使空间信息不再局限于二维平面内。文章从三维空间数据库模型、物联网、三维可视化、互联网+GIS等方面对三维GIS技术及其在智慧城市中应用进行综合分析,为城市管理提供了新思路。
2021-12-25作为国民经济和社会发展支柱型产业之一,矿业起到基础性的支撑作用。作为矿山开采的基础条件,测绘质量提升属于行业重点探究的一个课题。无人机属于现阶段一种新颖的数据采集载体,与传统人工方式相比,存在着工作质量高、效率高、操作简单、机动性高等相关特点[1]。同时,无人机测绘技术将地面的地物、地貌空间具体状况体现出来,能够满足大比例尺成图要求。
2021-12-16促使智慧城市智能服务的领域不断延伸。智慧城市建设具有系统性和复杂性,其涵盖电力工程、交通工程、经济建设等多个方面[1]。因此,通过在智慧城市测绘中应用地理信息系统,构建信息联通平台,能够在很大程度上突破地理条件和环境因素的影响,为城市建设服务提供有效的数据支撑,使智能化服务更加符合社会发展的需求。
2021-12-15土地资源调查管理是政府的主要工作内容之一,高效的土地调查与管理,有利于实现土地资源的合理分配和高效利用,缓解我国土地资源短缺的压力。遥感技术以宏观、综合、动态、快速、准确的优势为国土资源管理与调查提供了先进的探测与研究手段,通过遥感技术可以获取高质量可靠的土地信息,为相关部门后续的土地规划利用奠定基础,实现国家土地资源的信息化、智能化管理。
2021-12-15随着信息化进程与城市规划设计速度的不断加快,我国的城市建设已经向着"智慧城市"的方向进行发展。"智慧城市"已经成为当前我国城市建设的目标之一,为了更好地实现这一目标,必须要合理利用当下相关信息化技术与设备,不断推进我国城市化发展进程。在对国土空间进行规划的过程中,利用先进的信息测绘技术以及定位系统,可不断提高国土空间规划的科学性与准确性。
2021-12-15人气:2953
人气:2278
人气:2269
人气:2266
人气:2225
我要评论
期刊名称:测绘科学
期刊人气:5361
主管单位:国家测绘地理信息局
主办单位:中国测绘科学研究院
出版地方:北京
专业分类:科学
国际刊号:1009-2307
国内刊号:11-4415/P
邮发代号:2-945
创刊时间:1976年
发行周期:月刊
期刊开本:大16开
见刊时间:一年半以上
影响因子:0.713
影响因子:0.000
影响因子:0.000
影响因子:1.236
影响因子:0.000
您的论文已提交,我们会尽快联系您,请耐心等待!
你的密码已发送到您的邮箱,请查看!