基于OSG的城市三维GIS系统的初步设计与开发

2015-07-04 06:19尹志永王涛徐莹刘庆涛天津市测绘院天津300381
城市勘测 2015年1期
关键词:系统开发

尹志永,王涛,徐莹,刘庆涛(天津市测绘院,天津 300381)

基于OSG的城市三维GIS系统的初步设计与开发

尹志永∗,王涛,徐莹,刘庆涛
(天津市测绘院,天津 300381)

摘 要:相对于二维GIS系统,城市三维GIS系统具有直观、准确的优点,是数字城市建设的一个重要环节。基于OSG引擎,设计了一个城市三维GIS系统,详细阐述数据制作和系统开发两大部分,系统数据包含三维地形模型、地上地下景观三维模型和属性数据;重点分析了OSG对海量数据的高效组织和调度机制,最后对系统的软件功能予以展示。

关键词:城市三维GIS系统;OSG三维引擎;海量数据;系统开发

1 引 言

二维GIS由于具有数据管理完善、空间分析查询功能实用[1]的特点已广泛应用于现代城市的交通、规划、公安、环境监测、土地管理等领域。但由于城市是处在三维空间中[2],这使得以平面图形作载体的二维GIS系统近年来已显示出不足,现代社会管理的发展要求建立城市三维GIS系统。

城市三维GIS技术是将虚拟现实技术用于城市环境及资源的仿真,对城市的真实地形、地上地下景观进行数字化三维模拟,给用户提供一个与真实城市一致的虚拟城市环境,具有三维浏览、三维空间分析、信息检索、辅助设计等功能。在三维GIS系统中,用户能以动态交互的方式对城市立体环境进行身临其境的接触、观察。利用其立体化、数字化特点,为城市建设等领域提供直观、准确的空间信息,提高城市空间信息的利用水平,从而实现城市管理的高效率。

2 三维GIS系统的设计及关键技术

城市三维GIS系统的建立过程包括资料收集、数据处理及三维模型建立、系统开发三个步骤。

2.1数据处理及三维建模

系统运用的数据包括三维模型、二维矢量数据及景观物属性数据。三维模型包括三维地形模型、建筑及城市部件三维模型、地下管网三维模型。二维矢量数据为城市路网数据,用以在三维场景中动态显示路名标注。景观物包括地下管网和地上建筑,其属性数据为二维关系表,与景观物的三维模型是一一对应的并通过唯一的ID联系。

三维地形模型是DOM与DEM融合而成的,作为系统的立体影像底图使用,其构建可利用开源工具VirtualPlanetBuilder(简称VPB)。建筑及部件三维模型的制作可利用3ds Max等建模软件,底图数据是现势性强的1∶500比例尺地形图,制作方式以人工为主,其中利用MAX Script脚本语言实现了建筑模型的快速制作[3]。地下管网三维模型则是利用自主开发的3ds Max建模插件,依据管网测绘资料完成自动建模工作。

2.2系统开发

系统框架由数据层、驱动层和应用层三部分构成,其体系结构如图1所示。

图1 城市三维GIS系统的体系结构

(1)数据层。包括三维模型数据、景观物属性数据和城市路网二维矢量数据。对三维模型数据采用了文件式管理,其格式为OpenSceneGraph(简称OSG)支持的二进制IVE格式,采用此格式文件读取速度快。对管网属性数据、建筑基本信息数据、路网矢量数据进行数据库管理,采用的数据库软件为SQL Server。

(2)驱动层。采用OSG三维引擎对三维数据进行渲染和显示,为用户提供一个三维、动态、交互式的仿真环境。OSG是一套开源的三维场景开发库,其特点是将OpenGL的底层代码封装成易操作的接口[4],使程序员能高效地创建高性能的三维图形系统。

(3)应用层。具有三维景观模型在三维地形环境下的三维浏览、场景漫游、数据查询、空间分析等功能。

2.3关键技术

由于要管理海量的高分辨率影像和三维景观模型,三维数据的组织、显示是城市三维GIS技术的核心问题,目前普遍采用了数据制作过程中进行分块、分层处理[5],系统运行中动态调用数据的技术。数据分块是对三维数据进行网格化切分,使用时根据场景视点位置实时调用所需的数据块。数据分层指建立多层次、多分辨率的三维模型,使用时依据视点距离动态调用适当分辨率的模型,通常是视距短时调用高分辨率、精细度高的模型,反之则调用精细度低的模型。通常系统运行时分块数据与分层数据是配合调用的。

此外数据的分页动态调度尤为重要,即在显示当前视域场景的同时,预判下一步要载入的数据,做出正确的数据加载和卸载处理[6],确保内存中始终维持硬件系统能承载的数据额度,并保证无重要信息的丢失或场景显示迟缓的现象。

2.4OSG的特点

OSG使用OpenGL底层渲染API,并由一系列高性能的三维图形学功能模块组成,主要为三维图形图像系统的开发提供场景管理和图形渲染的功能。OSG的核心代码支持场景裁剪技术、细节层次节点LOD技术、场景的动态调度、多线程渲染等技术,这使得OSG成为高性能的三维图形引擎。随着虚拟仿真技术的发展,OSG已在三维GIS、计算机辅助设计、科学与工程数据可视化、网络游戏等多个行业得到广泛应用。

基于OSG引擎开发三维图形系统所用到的关键技术有:

(1)LOD(level of details)。LOD是较有代表性的数据分层技术,采用LOD技术当视域覆盖范围广时,可用粗略三维模型绘制,这样既不影响视觉效果又可提高绘制效率。

(2)分页动态调度。OSG中的分页数据库DatabasePager类可对三维数据自动执行动态调度,前提是其处理对象须为分页LOD节点(即PagedLOD),即三维模型数据成为PagedLOD节点后能满足程序对数据的动态调度要求。实际上,用VPB工具创建的三维地形模型即为PagedLOD类型数据,可供程序直接动态调用;对其他非PagedLOD节点类型的三维模型,需将加载进的多层三维模型设置为PagedLOD节点方可实现其的动态调度。

(3)碰撞检测。其原理为:从当前视点出发,沿指定方向引一条测试线,将测试线与场景实体进行相交测试,得到碰撞实体是否存在、碰撞点三维坐标、碰撞实体ID等信息。本系统中运用碰撞检测可实现属性查看、三维量测、道路断面图及漫游中的碰撞阻挡等功能。

3 地形及景观的三维建模

3.1三维地形

VPB是基于OSG和GDAL的用于构建海量三维地形的第三方工具,VPB是开源工具,利用VPB基于DOM和DEM可快速生成分块、分层的三维地形模型,且具有TB级的处理能力。利用VPB生成的三维地形模型为IVE格式,可快速加载到OSG场景中供浏览和漫游。VPB支持多线程作业,可根据CPU个数和性能合理分配系统资源从而提高三维模型的生成效率。

3.2建筑模型和部件模型

建筑模型、部件模型是城市三维GIS系统必要的数据,模型的建立在3ds Max中依靠人工制作完成,将已确定高程基准面的建筑、部件模型分别导入到3ds Max 中,逐个对模型进行纹理贴图、摆放等处理,得到空间位置准确、视觉效果真实的三维模型。最后,利用免费的OSGEXP插件将三维模型整体导出为IVE文件。

本文采用了建筑三维模型的快速建立方法,即利用数字摄影测量工作站,基于数字航拍影像采集建筑外观特征的三维点线面,再使用MAX Script脚本语言快速构建建筑三维模型。

3.3地下管网模型

管网三维建模利用的是基于3ds Max SDK技术开发的自动建模插件[7]。自动建模插件开发的原理是:从属性文件提取管点三维坐标和管线的尺寸、材质、埋设方式等信息,计算管线的空间位置、走向及形状,调用3ds Max SDK的相应接口生成与实地相符的圆柱体或立方体形状的管线模型,并对管线模型进行纹理渲染对造型各异的管线井、出地设备等设施,首先在3ds Max中创建设施模型库,建模插件从模型库中调用模型并放置到相应的位置即可。地下管网自动建模插件如图2所示。

图2 地下管网自动建模插件

本系统对IVE格式的三维建筑模型采用了分块分层处理,共分3个层,分块分层处理利用的是基于OSG开发的Builder工具,分层原理为按不同的压缩率对模型的纹理贴图进行图像压缩。对城市部件模型、管网模型采用了分块处理,未作分层处理。利用VPB工具创建三维地形模型时已进行了分块分层处理。此4种数据分块处理所用的格网为城市1∶2 000地形图图廓。

4 系统开发及功能

系统采用VC2010平台的MFC框架结合OSG引擎开发,其界面如图3所示。系统运行所用数据为天津市内某区的三维模型数据及属性数据,数据量约50 G,由于用到了数据分块分层处理及分页动态调度从而实现了对海量数据的顺畅加载及运行,系统在普通台式机上即可运行,运行时内存负载约为400 M。

图3 城市三维GIS系统的界面

系统功能主要包括:三维浏览、场景漫游、信息查询及标注、兴趣点收藏及定位、三维量测、空间分析、统计输出及数据管理。

(1)三维浏览。场景视图可放大、缩小,具有视角切换浏览功能、图层控制功能,管网井盖、影像底图可动态显示透明度。

(2)场景漫游。场景漫游方式有三种:轨迹球方式、步行方式及自定义路径飞行方式。轨迹球方式为OSG自带的。步行方式让用户以第一身份在三维场景中进行步行漫游,步行的高度面可升高、降低;为使步行漫游更真实,系统还设置了碰撞阻挡,即步行时碰触到实体时不可越过只能绕行。自定义路径飞行方式按设计路径进行飞行漫游,飞行高度、速度可调节,且具有飞行路径录制和回调功能,飞行漫游如图4所示。不同漫游方式可无缝切换。

(3)属性查看、信息查询及文字标注。属性数据库中存储了地下管网齐全的属性信息,还存储了建筑的基本信息,三维模型与属性数据通过唯一标识符对应。当点击某一模型实体时,凭借唯一标识符通过SQL语言从属性数据库中检索出对象并显示其属性。可按用户设置的属性条件通过SQL语言进行对象查询,查询过程如图5所示,从查询结果表中选中某个对象还可自动定位到该对象进行聚焦察看。可对感兴趣地物(包括地名地址、单位名称等)进行文字标注,文字标注采用HUD抬头显示技术实现了立体显示。利用开源的OGR库的接口读取路网矢量文件,提取道路名称并动态显示一定视场内的道路名称注记。

图4 飞行漫游

图5 管线查询及定位

(4)地点收藏及自动定位。地点收藏功能是将视窗中感兴趣地点动态地添加到系统收藏夹,点击收藏节点则自动定位到兴趣地点上。对象的自动定位是通过对象的标识符或地点的中心点坐标跟踪实现的,收藏地点的定位及信息查询结果的定位用到了此功能。地点收藏及自动定位如图6所示。此外系统还具有场景视窗抓屏功能。

图6 地点收藏及自动定位

(5)三维量测,盾构工程模拟,地面开挖分析、管网连通性分析。三维量测运用碰撞检测方法,依据碰撞起始点的三维坐标计算其距离,其功能如图7所示。盾构模拟是对城市地下空间进行隧道盾构工程的模拟,观察、检测盾构体与地下空间中已有地物的空间关系,可用于地下工程设计及施工辅助,如图8所示。地面开挖分析可动态、直观显示出虚拟化的地面开挖效果,可用于地下工程辅助设计。连通性分析是在三维真实空间中展示、分析管线的连接关系及管线走向。

图7 三维量测

图8 盾构工程模拟

(6)数据统计、专题图表输出,数据管理。通过SQL语言从数据库中检索出符合条件的景观对象并进行统计,生成各种统计图表并输出。本系统还具有道路断面图绘制功能,其依据碰撞检测原理检测出道路断面层上的所有管线对象并绘图。数据管理功能是对系统中的空间数据及属性数据进行维护和管理。

5 结 语

由于OSG具有高性能、免费的特点,将其应用于城市三维GIS的开发可降低系统开发成本;并可摆脱对商业平台底层的依赖,使得系统具有良好的扩展性。本文所介绍的城市三维GIS系统不仅具有三维浏览、场景漫游等可视化功能;还具有三维量测、信息查询及统计,盾构工程模拟,道路断面分析,地点收藏及定位等功能,实现了对城市三维景观的模拟、仿真,可用于对城市三维环境进行数字化管理。该系统可作为数字城市建设的一个环节,为数字城市建设工作的开展提供了一个思路。

参考文献

[1] 龚竟,张新长,唐桢.三维城市规划辅助审批系统的设计与实现研究[J].测绘通报,2010(6):51~77.

[2] 陈颖彪,千庆兰,陈健飞.基于GIS技术的城市三维景观动态仿真技术研究[J].中国图象图形学报,2008,13 (1):176~183.

[3] 陈楚,段有林.浅谈如何快速制作建筑模型[J].测绘与空间地理信息,2012,35(2):95~97.

[4] 韩哲,杨方廷,刘玉明.基于OSG的电子沙盘系统的研究与实现[J].计算机工程与设计,2012,33(4):1522~1527.

[5] 朱国敏,马照亭,孙隆祥等.城市三维地理信息系统中海量数据的数据库组织与管理[J].测绘科学,2008,33 (1):238~240.

[6] 王锐,钱学雷.OpenSceneGraph三维渲染引擎设计与实践[M].北京:清华大学出版社,2009:313~318.

[7] 罗胜.3ds max SDK插件开发技术[J].机床与液压,2003 (6):242~244.

[8] 李清泉,严勇,杨必胜.地下管线的三维可视化研究[J].武汉大学学报·信息科学版,2003,28(3):277~282.

Design and Development of Urban 3D GIS System Based on OSG

Yin Zhiyong,Wang Tao,Xu Ying,Liu Qingtao
(Tianjin Institute of Surveying and Mapping,Tianjin 300381,China)

Abstract:Compared to 2D GIS system urban 3D GIS system has the advantage of intuitive and accuracy,it is an important step of digital urban construction.This paper designed architecture of urban 3D GIS system and introduced technical route of 3D GIS system building,two major parts which is data production and system development were detailedly presentated in this paper.In this application system the used data includes 3D terrain model,aboveground landscape 3D model,underground landscape 3D model and attribute database,and the core supporting technology of system development is OSG 3D engine.This paper prominently analysed OSG efficient organization and scheduling mechanism to massive data and demonstrated system software functions. Key words:urban 3D GIS system;OSG 3D engine;massive data;system development

文章编号:1672-8262(2015)01-52-04中图分类号:P208.2

文献标识码:A

收稿日期:∗2014—07—21

作者简介:尹志永(1974—),男,高级工程师,主要从事测绘技术开发与管理等工作。

基金项目:天津市滨海高新区智慧城市政府资源规划管理决策移动查询系统(XYGK2013021)

猜你喜欢
系统开发
大数据时代背景下本科教学质量动态监控系统的构建
信息管理与信息系统专业系统开发开放实验室设计
基于PLC的火电厂输配煤粉节能程控系统的开发
气象数据传输监控平台的设计与实现
基于网络数据分析的计算机网络系统开发
发射机房运行监控系统关键技术的解决方案
基于开源系统的综合业务数据采集系统的开发研究
ASP.NET三层架构体系分析与应用
基于微信公众平台的旧物循环利用系统
计算机网络管理系统设计与开发