基于MongoDB的城市三维建模数据管理系统设计与实现论文_黄庆彬1,余洋2,王震2

1.深圳市地籍测绘大队 广东深圳 518034;2,武汉大学遥感信息工程学院 湖北武汉 430079

摘要:三维建模数据具有数据量大、数据类型和数据结构复杂等特征。本文提出一种基于MongoDB数据库的城市三维建模数据管理系统,可以满足常见点云、影像和矢量数据的存储需求,同时支持字段模糊查询、空间缓冲区查询等多种查询方式,实验证明其与常见关系型数据库相比在建模数据管理中具有较好的性能提升,最后给出了该系统在实际数字城市建设中的应用框架,在实际项目建设中证明了其可行性。

关键词:三维建模;MongoDB;数据管理

一、 引言

城市三维模型是我国数字城市建设重要的基础地理信息之一。三维数据因接近于人的视觉习惯而更加真实,能表现更多的空间关系[1]。逼真、精细的三维模型能够全方位地、直观地给人们提供具有真实感的场景信息,有助于更好的认识环境、管理城市、服务社会。诸如对高层建筑火灾情况的应急救援和人群疏散、气体污染物扩散监测、城市环境规划仿真模拟等应用都要求建立在动态、仿真的三维环境中[2] 。

当前,城市三维建模主要存在基于二维地形图的建模、基于航空倾斜摄影测量和卫星遥感正射影像的建模、工程测量辅助的人工精细建模、机载和地面激光扫描自动三维重建等相结合的手段。由于城市建筑物繁多、地形复杂,现有的自动建模方式普遍存在外业数据补充采集难度大,模型制作重复工作量大,贴图处理的效率低,建模成果保真度不高,数据冗余严重等问题。同时,由于数据类型、数据格式各异,难以采用统一的管理方式,大量的建模数据一般以文件的形式独立保存或简单利用关系数据库进行保存,缺乏对海量三维数据管理的支持[3-6]。对于当前的手工编辑的半自动生产而言,建模数据的整理、匹配、查询等都占用了三维建模的大量时间。

MongoDB是近年来在空间数据管理领域应用较为广泛的一种数据库。由于地学数据的来源众多,格式不一,造成传统数据库在地学数据,尤其是大数据的存储上越来越不能满足用户的需求[7,8]。研究表明,使用MongoDB数据库在异构数据管理,分布式数据组织以及高性能查询方面与传统的关系型数据库相比具有较好的性能优势[8,9,10]。

本文提出利用MongoDB数据库对所储存数据格式无限制、数据存储量可快速扩展且支持地理查询的特点,设计针对三维建模数据的海量数据存储方案,并以此为基础开发了一套城市三维建模原型系统,在四川资阳数字城市建设中开展了测试,实验结果表明对于提高建模效率具有较好的作用。

二、基于MongoDB的三维建模数据存储方案

由于依靠单一数据源难以实现城市三维快速精细建模,因此城市三维建模工作涉及包括点云数据、倾斜影像数据、二维基础空间数据等在内多种数据源,且数据类型、数据精度以及数据量均不相同。传统的数据管理方式采用文件或关系数据库方式进行数据管理,使得数据库结构复杂,应用效率较低[11,12]。为了简化数据读取的流程、降低数据的复杂性,为三维建模提供统一便捷的数据源,有必要采用合适的数据库管理方式,对数据进行集成,便于建模软件和建模人员进行使用。

1.MongoDB简介

MongoDB是基于分布式文件存储的非关系型开源数据库。MongoDB采用BSON数据格式,这是一种类似JSON的松散数据结构,因此可以存储多种结构复杂的数据。此外,在MongoDB中采用了面向集合的数据存储方式,数据可以以集合(Collection)的方式被分组存储,每一个集合支持保存无限数量的文档[13],其数据组织方式如图1所示。关系型数据库对影像的存储要创建若干表,而且表之间有着联系和约束,而MongoDB只需创建很少的集合,从而减少了数据冗余,一类数据可以合并为同一个集合,这样不仅容易存放,而且提高数据读写效率,另外数据检索也无需考虑表之间的约束和关联,检索效率更高。此外,由于MongoDB对大于4M的数据支持采用GridFS方式存储,即可以将影像数据进行自动分块进行保存,具有较好的存取速度[14,15],因此对三维建模涉及到的影像数据和点云数据具有较好的管理功能。

图1 MongoDB基本数据结构

基于此,本文采用MongoDB数据库[15],结合当前三维建模的操作流程及习惯,建立对模型数据、纹理数据、DLG数据、DEM数据的组织管理。着重研究模型数据、纹理数据之间的自动关联、相似三维模型数据的快速检索方法意见纹理数据的自动定位方法,提高三维建模时数据的高性能查找,提高工作效率。

2.数据结构描述

MongoDB对于存储的数据不区分数据类型,支持任何类型数据的存储。一般的,三维建模涉及到矢量数据(如地形图、地面采集线路数据、建筑物CAD数据)、栅格数据(如遥感影像、航拍照片、地面照片、LiDAR数据等)以及相关的属性信息(如采集时间、相机参数等),因此如何管理这些异构海量数据集(图2),需要设计合理的数据组织方式进行关联,便于对数据进行快速查找,提高建模效率。

图2 三维建模数据集合

鉴于以上需求,本文采用了如图3所示的结构,对影像、矢量以及相关的属性信息利用空间位置和标识进行关联。在数据库设计中,本文将每一个三维建模场景作为一个工程进行管理,每个工程都包含了三类基本数据集合(Collection),即影像数据集、LiDAR点云数据集、矢量数据集。

为了在数据库中存储以上三类基本数据集合,同时使相同地物对应的建模数据相互关联,需要制定一系列基础字段,用于反映数据之间的相互关系。由于在MongoDB中可以实现字段的动态更新,因此可以按照如表1列举的字段表达不同类型的数据。

由于上文所述,MongoDB数据库采用类JSON格式对数据进行组织,因此表中所列字段可以在不影响数据库使用的条件下,依据实际数据采集情况和数据类型进行扩展。

3.数据库接口的设计与实现

建模数据管理系统需要实现对建模数据的快速存储、修改以及各类检索方式,以提供给外部的建模系统实用。如表2所示,系统将对MongoDB数据的各类操作以数据接口的形式提供给相关的建模功能模块。

 

其中,数据存储接口提供了影像、点云和矢量数据的批量存储,对于矢量数据,系统可以直接转换为MongoDB支持的矢量格式进行保存。对于影像和点云数据,由于建模数据一般较大,一般采用GRIDFS方式进行保存。GridFS可将一个大文件分割成多个较小的文件,当影像和点云等数据保存到MongoDB中时,会被自动分割成许多块,每块只保存一个名字空间的数据,名字空间用于区分不同的存储类别。对每个块而言,其头部包含了一些块的元数据,包括自己的位置、上一个和下一个块的位置以及块中第1 条和最后一条记录的位置指针。剩余部分用于存储具体数据,具体数据之间进行双向连接。

为了简化外部系统调用,接口将利用传入的文件类型(FileType)自动判断采用何种方式对数据进行保存。数据删除和数据更新接口,支持利用数据的标识号进行对数据的操作;同时由于三维建模时需要对数据进行快速检索,本系统提供了的基本检索方式包括:按文件名模糊检索和按坐标(Coordinate X, Coordinate Y)及距离(Disatance)进行缓冲区检索,这两种方式,均支持批量数据,数据结果为数据文件对应的ID列表,利用该列表,可以将对应的数据下载到本地,如下图3所示,可以实现数据的在线缩略图展示。

图3 影像数据缩略图展示

三、 系统实验

为了验证基于MongoDB数据库的多源异构三维建模数据存储效率,本文以存取建模影像数据为例开展实验测试。

测试机器配置如下:Intel(R) Core(TM) 2 Duo 2.66GHz;内存 16GB; Windows 7 Ultimate X64。测试数据库包括:MongoDB 2.6.3、MySql、SQL Server 2008。实验数据:若干平均大小为5M的街景系统文件,格式为.jpg,以及SWDC-5数字航空倾斜摄影仪拍摄影像,平均大小为160MB,格式为.tif。

如图4所示,在不同数据库存储平均大小为5MB的相机照片时随数据量增大所用时间的变化情况。随着数据量的增大,Sql Server耗时变化较大,MongoDB和MySql比较平稳,用时较少。

图4 数据存入时间比较

在不同数据库导出平均大小为5MB的相机照片时,随着数据量的增大,MySQL耗时变化起伏较大,MongoDB和SQL Server相对比较平稳,且MongoDB用时随数据量增大几乎是一条水平线(图5)。

图7导出不同大小照片所用时间

可以看出MongoDB数据库在存取不同大小的影像数据时,与传统数据库相比具有更好的存取效率,尽管在随着影像尺寸的增加,其存储速度会降低,这是由于MongoDB会对大尺寸数据进行分块保存,降低了其保存速度,但是可以看到在从数据库中导出大尺寸影像数据时,其提取速度远远高于参与测试的其他数据库。此外,由于MongoDB支持分布式存储,其存取速度在现有基础上仍有进一步提高的空间。

四、 基于MongoDB的三维建模数据管理系统应用

本系统已成功应用于四川省资阳市的“数字资阳建设应用示范系统”中。系统以MongoDB数据库为基础,实现了对城市三维建模数据的高性能管理,以机载激光雷达点云数据与航空倾斜影像为主导、从原始激光雷达数据、倾斜影像数据到大场景实景城市模型的快速建立的一体化集成,大幅提高了三维精细化建模的工作效率。

图8基于MongoDB的三维建模数据管理系统应用框架

如图8所示,基于该系统,对建模涉及的各类影像、矢量、点云数据以及建成的三维模型进行统一的管理,实现了对以上数据的有效高性能存取,实现对多种建模数据的数据管理、快速检索和定位,为

三维建模、模型匹配等提供有效的数据支持。在整个建模系统中,三维建模的多个模块可以进行直接的数据交互,由数据预处理模块处理的点云数据可以直接存储于数据库中,交由自动建模和贴图模块使用。

本文设计的三维建模系统主要包括了数据预处理子系统、自动建模系统、半自动贴图系统以及3DSMax扩展模块。其中,数据预处理子系统主要用于对影像和点云进行预处理,支持对点云数据进行工程化的管理和拼接(图9)。

图9 利用MongoDB数据管理系统进行点云拼接

半自动贴图系统支持将影像与模型利用外方位元素、位置信息等进行自动匹配如下图(图10)。

图10 半自动贴图系统从数据库直接选择相应地物数据

3ds Max扩展模块允许从3ds Max中调用数据接口,直接在3ds max中实现对三维模型细节的进一步优化(图11)。

图11 面向3ds Max 的扩展插件

五、 结论和展望

基于MongoDB的三维建模数据管理可以支持大量多类型、异构建模数据的管理,对于数据的快速存储、查询以及扩展具有极大的遍历,使得利用文件管理和关系型数据管理三维建模数据的复杂度得到了有效的降低。本文讨论了基于MongoDB的建模数据存储的方法,设计了MongoDB数据系统进行数据存取等的实现和接口,并在数字城市系统建设中,证明了该系统在单独进行数据的存取等数据操作,和与其他系统集成时的可行性。

与传统关系数据库相比,MongoDB数据,具有节省开支,部署简便,存取效率高等特点。但同时也应注意到,由于MongoDB数据库的数据松散性,在异构数据的存储和字段扩展方面数据库的空间检索和查询方法相对比较简单,在实际应用中仍需要对其功能进行扩展定制,满足实实际商业需求。

参考文献

[1] 邓仕虎, 罗灵军, 袁超. 三维地理信息公共服务平台建设初探[J]. 地理空间信息,2011, 5:026.

[2] 黄丽杰, 刘桂生. 规划三维仿真辅助决策系统建设与研究[J]. 现代测绘, 2011, 34(2):17-21.

[3] 郑坤, 贠新莉, 刘修国. 基于规则库的三维空间数据模型[J]. 地球科学 (中国地质大学学报), 2010, 3:011.

[4] 张勇, 徐建刚, 赵庆. 数字城市多尺度空间信息更新机制[J]. 现代测绘, 2013, 36(3):52-53.

[5] 吴立新, 余接情, 杨宜舟, 等. 基于地球系统空间格网的全球大数据空间关联与共享服务[J]. 测绘科学技术学报, 2013, 30(4):409-415.

[6] 王密, 龚健雅, 李德仁. 大型无缝影像数据库管理系统的设计与实现[J]. 武汉大学学报 (信息科学版), 2003, 28(3):294-301.

[7] 雷德龙,郭殿升,陈崇成,等.基于MongoDB的矢量空间数据云存储与处理系统[J],地球信息科学,2014,16(4):507-516.

[8] 张天宇,贺金鑫,王阳,等.基于NoSQL 数据库的地学大数据高效存储方法,吉林大学学报( 信息科学版),2013,31(6):604-608.

[9] 刘亚,段丽娟,亢晓琛. 基于MongoDB 的地名信息管理[J]. 测绘通报,2014,( 10):117-120.

[10] 李朝奎,杨武,殷智慧,等. MongoDB 的遥感影像分布式存储策略研究[J].测绘通报,2014, (5):16-19.

[11] Boicea, Alexandru, Radulescu, Florin, Agapin, Laura Ioana. MongoDB vs Oracle -- Database Comparison[C]. Emerging Intelligent Data and Web Technologies (EIDWT), 2012 Third International Conference on, 19-21 Sept. 2012, 330 – 335.

[12]Zhao Gansen, Huang Weichai, Liang Shunlin, etc. Modeling MongoDB with relational model[C]. Emerging Intelligent Data and Web Technologies (EIDWT), 2013 Fourth International Conference on, 9-11 Sept. 2013.115-121.

[13] 梁海.MongoDB数据库中Sharding技术应用研究[J].计算机技术与发展,2014,24(7):60-62.

[14] Stevic, Milorad Pantelija, Milosavljevic, Branko, Perisic, Branko Rade. Enhancing the management of unstructured data in e-learning systems using MongoDB[J].

PROGRAM-ELECTRONIC LIBRARY AND INFORMATION SYSTEMS,2015,49(1):91-114.

[15] Zhu Wei-ping,Li Ming-xin,Chen Huan.Using MongoDB to implement textbook management system instead of MySQL[C]. Communication Software and Networks (ICCSN), 2011 IEEE 3rd International Conference on.,27-29 May 2011.303-305.

论文作者:黄庆彬1,余洋2,王震2

论文发表刊物:《建筑学研究前沿》2019年9期

论文发表时间:2019/8/23

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于MongoDB的城市三维建模数据管理系统设计与实现论文_黄庆彬1,余洋2,王震2
下载Doc文档

猜你喜欢