智慧城市是通过把新一代信息技术应用在城市的各个方面,从而为市民服务的城市信息化高级形态。它集成多种信息通信技术(Information and Communication Technology,ICT)和物联网(Internet of Things,IOT)技术,了解城市中正在发生的事情,以达到智能管理与服务的目的。智慧城市的建设需要大量的数据,尤其是空间信息,它分为静态和动态、当前和历史、微观和宏观等。这些数据的收集、管理和应用通常使用诸如建筑信息模型(Building Information M o d e l, B I M)和地理信息系统( G e o g r a p h i c Information System,GIS)实现。特别是在建筑工程行业,BIM 和 GIS 的出现为不同层次的空间信息集成提供了一个变革性的方向,使建筑规划更加高效、合理和标准化。
BIM 是具有丰富且智能建筑信息的数据存储库,使用面向对象的方法来描述每个建筑的特征(语义和几何形状)、行为及其关系。GIS 是用于管理和显示空间参考信息的平台,主要优势在于有效地对大规模地理特征建模以及空间分析功能。BIM 与 GIS 在各自领域都具有先进技术和应用程序,随着它们的不断发展,也有越来越多的学者对 BIM+GIS 集成应用进行了研究。
但是,BIM 和 GIS 是出于不同的目的而开发的,从几何和语义的角度、不同的标准以及对特定研究问题的不同思考方式得出了不同的表示形式。这些差异不可避免地给 BIM+GIS 集成带来挑战。BIM+GIS 的集成可以概括为应用程序级别、流程级别、数据级别 3 个方面,而可视化作为 BIM 和 GIS 之间协同通讯的桥梁,贯穿于 BIM+GIS 集成的 3 个级别内容中,并且可视化研究可为 BIM 和 GIS 的综合应用奠定了基础。BIM+GIS 集成可视化是指通过对空间尺度、坐标系、语义与几何表达方式、信息存储与访问方法等的统一,实现 BIM 与 GIS 集成的数据以不同细节粒度进行展示与分析。
最近几十年中,已有许多学者对 BIM+GIS 集成可视化做了研究,主要分为在 GIS 系统中可视化 BIM 数据、在 BIM 系统中可视化 GIS 空间信息、以及在第三方系统中可视化 BIM 和 GIS 数据。现有的研究主要集中在两种数据模型融合的原型设计上,局限于 BIM 信息在三维 GIS 地理空间中的展示,但以有限的硬件资源来可视化 BIM 和 GIS 中的巨大几何数据仍然是一项艰巨的任务,尤其是在 Web 和手机环境中。
为了解决在有限的计算机硬件资源中渲染 BIM 和 GIS 几何图形的问题,以前的研究主要采用几何化简技术或将几何 BIM 和 GIS 数据转换为细节较低的级别。对任意三维对象的网格化简可能会丢失建筑物的特性,如相邻建筑空间之间的拓扑关系。此外,将 BIM 数据转换为 GIS 时,许多模型属性的原始含义并未保留。因此,将丰富的 BIM 几何数据和大规模 GIS 空间信息呈现到一个统一的系统中仍然是一项艰巨的任务。
为了满足不同行业对完整空间信息表达和管理性能的需求,本文在充分考虑 BIM 与 GIS 数据本身的复杂度的基础上,从 BIM+GIS 集成可视化服务的流程出发,将基于多边形减面的 BIM 生成技术、地图切片缓存策略、BIM+GIS 数据集成与分布式存储技术、场景分级调度与裁剪技术、纹理细节层次(Level-of-Detail,LOD)技术、基于图形处理器(Graphics Processing Unit,GPU)与并行架构策略为研究内容,以实现大规模、高精度的建筑和城市信息的高效集成,更好地为智慧城市的信息查询、空间分析提供服务。
1 BIM-GIS 集成可视化性能优化关键技术
BIM+GIS 集成可视化系统的服务流程顺序包括:数据采集—数据建模—数据导出—数据切片—服务发布—前端渲染—用户使用等,其中本文重点对集成可视化数据生成、切片、存储、渲染方面的性能提升技术进行了研究。
1.1 基于多边形减面的 BIM 生成技术
BIM+GIS 集成可视化中,只有 BIM 模型的外部特征可以从室外观察点看到,因此,为了简化 BIM 数据,采用了多边形减面算法。在保证模型外轮廓的条件下,通过顶点曲率或二次曲面等具体指标简化模型顶点和面片数,同时对模型里的数据进行压缩存储,以占用较小的存储空间。同时,将模型进行分块合并处理,使模型能实现批量渲染。
多边形减面算法是将一个具有数量较多多边形且富含丰富信息的模型生成一个多边形数量较少但模型效果差距较小的技术。建立一个效果较好的低面模型取决于移动边的正确选择,以使多边形坍塌前后差别最小。
BIM 模型减面计算时,考虑到曲面比平面需要更多数量的多边形来表示,因此,将多边形的边长和曲率乘积作为移动边选择的条件。同时,为了尽量保留原模型的效果,将移动边涉及的面大小共同作为确定移动边的因素。边移动的效果如图 1 所示。
首先,通过多边形内各个边所通过的两个面的法线点积得到曲率值与面的大小来确定移动边,这里假设边 ab 为移动边,顶点 a 要移动到顶点 b;其次,将同时包含顶点 a、b 的三角形去掉。同时,更新剩下的三角形,将顶点 a 用顶点 b 替代;最后,把顶点 a 删除。为了得到理想中的多边形,可重复上述过程,而每一次的计算,通常会移除掉一个顶点、两个面、三条边。
图 1 边坍塌效果
Fig.1 Edge collapse effffect
在 BIM+GIS 集成可视化建模过程中选择更为合适的移动边,能够减少减面后的模型与原模型的差别。同时,使用平滑的方式进行可视化渲染,能够使差别进一步减小。通过多边形减面算法,对 BIM 数据进行了压缩处理,使高密度的室内 BIM 模型能够在 GIS 大场景中进行快速高效的渲染。
1.2 地图切片缓存策略
地图缓存是将一系列不同比例尺下的地图以图片形式提供,某一比例尺下的一张图片被称为切片或瓦片。瓦片地图利用的金字塔模型是一种多分辨率层次模型,该模型中从底层到顶层的分辨率越来越低,但表示的地理范围不变,如图 2 所示。
图 2 不同级别比例尺下的地图切片缓存
Fig.2 Map tile cache at difffferent levels of scales
地图缓存实质上是一组静态图片,是利用更多的空间换取时间来加速地图展示的一种策略。和二维数据一样,如 BIM+GIS 集成的三维模型数据要想实现海量三维的渲染,也需要生成三维切片缓存。通过三维切片缓存,将三维空间数据转换为面向实时渲染应用且可直接提供给图形应用程序接口(Application Programming Interface,API)的数据形式,不再需要二次转换,这样就可以提高实时渲染效率。
由于三维切片包含几何、纹理、动画、光照等可视化信息,因此,三维切片也需要进行分级分块的切片处理,在横向上进行分区划分,在纵向上建立层次细节模型,所以切片缓存数据也包含这些多层级节点之间的关联信息。图 3 展示了不同级别三维切片地图的效果。地图缓存技术的使用可以在 BIM+GIS 集成三维可视化中极大提高地图浏览速度,从而提升用户体验。
图 3 不同级别三维切片效果图
Fig.3 3D slice effffect at difffferent levels
1.3 数据集成与分布式存储技术
BIM 数据结构包括属性数据及空间数据,其中空间数据与三维 GIS 数据结构相似,包含了空间位置、外观形状等;属性数据包含了施工、设计及运维等方面的参数。
三维 GIS 在数据结构、数据表现形式、数据对象等方面包含了 BIM 的内容,并与 BIM 功能有重叠(信息管理、空间分析等),因此,GIS+BIM 集成可以实现信息交换。
通过 IFC 等标准将 BIM 数据导入到空间数据库,和 GIS 进行有效融合,给 BIM 在宏观地理环境中赋予空间参考,实现模型和地理空间场景的精准匹配,并将属性数据通过不同参数的单独解析和几何要素的连接,实现属性的无损集成,效果如图 4 所示。
图 4 BIM+GIS 集成管理
Fig.4 BIM+GIS integrated management
本文将集成的 BIM+GIS 数据通过瓦片的方式存储到 MongoDB 数据库中。因为传统的地图切片存储通常是以文件目录的形式存储在文件夹中,或保存到数据库中,并以二进制大对象(Binary Large Object,BLOB)和字符大对象(Character Large Object,CLOB)等方式对文件数据予以存储,这两种方式在大数据量、高并发的大数据应用场景下,存储能力和效率都有一定的局限性。而基于分布式文件存储的数据库 MongoDB 主要是为 Web 应用提供可扩展的高性能数据存储。
MongoDB 的文件存储方式可看成一个大的哈希表,其中文件名作为键,文件内容作为值被保存。它可将一个大文件分割成多个较小的文件。当 BIM+GIS 集成过程中形成的各种基础信息存储到 MongoDB 数据库后会被分割成许多块,每块仅保存一个主题空间的数据。这为有效保存较大的文件对象提供可能,如遥感影像、全景地图和视频等。
MongoDB 数据库可管理百亿级的三维切片数据,并具有高并发能力,响应时间达到秒级,适用于大规模数字城市三维场景的应用。将 BIM+GIS 集成数据存储在 MongoDB 中,可实现三维切片数据的分布式存储,为智慧城市基础大数据的管理提供技术支撑。
1.4 高性能渲染技术
BIM 是具有精细化描述的三维数据,而 BIM+GIS 集成模型的数据规模更庞大,因此,在大规模复杂数据模型下实现快速渲染与绘制是进行高效交互的前提。本文通过引入场景裁剪与分级分页调度技术、纹理 LOD 技术、基于 GPU 与并行架构的可视化策略来提高 BIM-GIS 集成三维模型的渲染效率。
1.4.1 场景裁剪与分级分页调度技术
虽然随着技术的发展,图形处理器的性能越来越好,但是三维虚拟场景的规模也在不断的增大,远远超过图形处理器的处理能力。在 BIM+GIS 三维场景中,由于建筑物之间相互遮挡和视野范围的限制,场景中只有一部分物体需要加入渲染队列进行处理,因此将场景数据送入渲染队列进行处理之前,应该进行可见性判断,将不需要渲染的实体剔除掉,这样可以减少 GPU 的负担,提高渲染速度和性能。本文所采用的可见性判断和剔除技术主要有视锥体裁剪、最远最近可见距离裁剪、最小像素裁剪、遮挡裁剪,根据用户不同的需求可以选择合适的场景裁剪方法。
视锥体裁剪就是不显示当前相机视域范围外的模型,来减少渲染的模型个数。最远最近可见距离裁剪通过给模型设置一个显示距离范围,当模型和相机的距离在这个范围内,模型就可见,否则不可见。最小像素裁剪是按模型最终投影到屏幕上的像素大小来抉择是否可见。当模型离相机距离越远,最终在屏幕上显示的像素越小,当小到用户设置的阈值后,将模型从显示队列里移除。遮挡剔除就是删除掉被其他物体遮挡且不在摄像机的可视范围内的物体,以减少渲染队列中需要渲染的模型。
根据 BIM+GIS 集成应用的需求,在裁剪需要显示的场景范围的同时,可采用分级分页调度技术来提高大范围场景的渲染速度。而场景数据在内存中采用按页加载和淘汰策略,提高了数据读取的效率。动态分页调度技术是为了保证海量数据渲染过程中内存的稳定,用中央处理器(Center Processing Unit,CPU)和输入输出(Input/Output,I/O)读写上的开销来降低内存使用量。也就是说,动态分页是仿照内存分页的机制,在显示每一帧渲染时,对裁剪掉的模型进行淘汰卸载,并从内存中释放,而在需要显示的时候再重新加载到内存中,以此保证内存开销的可控性和显示的稳定性。同时对场景数据建立渲染索引,对场景中的渲染节点按照区域和层次进行划分、建立索引,以提高 BIM+GIS 集成数据在漫游过程中的调度效率。
在多级 LOD 切片数据基础上,根据当前可视范围和可视距离等进行场景裁剪,同时动态分页加载场景范围内对应 LOD 级别的实体,以减少不必要的消耗,加速数据调度和渲染的效率。
1.4.2 基于纹理 LOD 的化简
三维场景中 LOD 包括几何 LOD 与纹理 LOD。几何 LOD 技术是利用简化后的模型来替换原始模型,以减少需要绘制的面个数。在三维模型离相机较远时,可以利用粗糙的模型进行描述,而在相机逐渐接近时,则需要利用较高细节的模型进行显示。
BIM+GIS 集成场景中,由于建筑物的纹理较其几何结构丰富,因此需要采用纹理 LOD 技术。纹理 LOD 是指在不同 LOD 等级显示不同细节的纹理图片,如模型离相机较远时,可以使用纯色来替代纹理图片,而随着距离的接近,需要逐渐使用更高分辨率的图片来描述。如图 5 所示,建筑数据纹理复杂,几何简单且化简后易出现模型变形失真,比较适合采取纹理 LOD 技术来提高显示的效率。
图 5 纹理 LOD
Fig.5 Texture LOD
1.4.3 基于 GPU 与并行架构的可视化策略
近年来,计算机硬件的处理能力成倍增长,多核化硬件已成为计算机硬件发展的主要趋势。面对大规模 BIM+GIS 集成的三维数据,当前串行化的场景渲染技术已无法满足应用需求。因此,这里应用多核硬件的并行机制,对 BIM+GIS 三维场景数据进行并行化绘制。
由于并行线程间存在数据的共享,需要对其进行一定的同步处理操作。场景可视对象查找线程主要负责为渲染线程和数据加载模块提供数据来源,对场景数据列表进行写操作,而其他线程分别对相应的子列表进行读操作。使用锁机制对读、写操作进行锁定,实现并行化过程中模块间的异步操作,具体流程如图 6 所示。通过 I/O 主线程、场景数据加载模块和场景渲染模块,结合可视对象查找线程,形成三维场景并行绘制的全过程。
图 6 并行调度流程
Fig.6 Parallel scheduling process
图 7 展示了三维场景中串行化与并行化渲染的对比效果,其中横坐标代表渲染的三角形个数,纵坐标代表每秒渲染的帧数。从中可以发现对于大规模场景数据,若超过百万三角形个数时,并行渲染帧数是原始串行渲染帧数的一倍左右。并行化三维场景渲染机制的引入,避免了当前串行化可视化过程中出现的停顿问题,可提高大规模三维场景绘制的实时交互能力,大大改善三维可视化的性能。
图 7 并行化渲染与串行化渲染对比图
Fig.7 Comparison of serialization and parallel rendering
随着显卡的发展,GPU 越来越强大,显存空间也越来越大,而且 GPU 为显示图像做了优化,在计算上已经超越了通用的 CPU。一方面,利用统一计算设备架构(Compute Unified Device Architecture,CUDA)、OpenCL 等并行计算技术,基于 GPU 图形硬件的高效绘制和计算能力,通过对渲染流程的梳理,提高三维数据渲染过程的效率。另一方面,可以通过优化 GPU 渲染流水线来保证显示的流畅度。GPU 的流水线工作机制可以每次渲染大批量的数据,但是准备流水线环境却开销很大,如一次让 GPU 显示 100 个点,重复 10 000 次比一次让 GPU 显示 10 000 个点重复 100 次要慢得多。因此,通过批处理机制,也能有效提升三维数据渲染的性能。
在 BIM+GIS 集成三维可视化中,利用并行化调度策略和 GPU 的快速处理能力,在渲染过程中将显示数据直接在显存中存取,能极大地提高数据交换和渲染的效率。
2 BIM-GIS 集成可视化实现
BIM 可用于创建、管理和共享诸如建筑物之类的垂直设施的生命周期数据,而 GIS 可用于存储、管理和分析描述水平分布的城市环境的数据。因此,在需要设施和城市环境数据的智能城市应用中,BIM+GIS 的集成可视化应用至关重要。
在此背景下,通过融合深圳市基础矢量数据、遥感影像数据、建筑物数据、实时感知数据等多源数据,构建了 BIM+GIS 集成的数字城市基础信息平台,并应用多边形减面、地图缓存、分布式存储、高性能渲染等可视化技术,实现了高效的三维可视化与综合分析系列功能,为深圳市城市建设与管理提供服务。
BIM+GIS 集成的数字城市基础信息平台支持 BIM 数据模型与属性信息的无损导入,提供基于三维模型的可视化 GIS 查询和分析功能,同时也支持 BIM 建筑动态模拟、室内漫游、X-ray 分析等功能,将 BIM+GIS 融合用于城市规划、建筑设计、资产管理、室内导航、三维不动产登记管理等领域。
2.1 BIM 可视化与属性查询
平台提供对 BIM 数据室内室外的浏览,如图 8 所示,还可基于 BIM 建筑构件级别的构件信息进行查询,如图 9 所示,提供多种数据分类标准筛选功能,从不同维度检索不同建筑构件信息,并支持运维级别数据的分类定制与不同级别构件信息的导出。
图 8 BIM 可视化
Fig.8 BIM visualization
图 9 属性信息查询
Fig.9 Attribute information query
2.2 建筑构建动态模拟
在平台中可以利用 BIM 数据,对大型建筑的构建过程进行动态可视化,如图 10 所示,以更直观的视角分析和模拟建筑物建设过程对周边环境造成的变化和影响。
图 10 大型建筑建设过程动态模拟
Fig.10 Dynamic simulation of large building construction process
2.3 BIM 模型室内漫游
BIM+GIS 集成的场景下,利用平台实现室内外无缝的三维漫游,如图 11 所示,完成从宏观到微观、从室内到室外一体化的规划设计。同时,该功能也可以应用于大型公共场合安全疏散、紧急救援、室内导航等。
图 11 建筑室内漫游
Fig.11 Indoor roaming of buildings
2.4 X-ray 分析
平台提供 X-ray 分析功能,如图 12 所示,该功能可以模拟 X 射线扫描三维实体的效果,对 BIM 模型的三维结构做半透明化的展示,方便用户不受遮挡地观察建筑物的结构和细节。
图 12 X-ray 分析
Fig.12 X-ray analysis
3 结束语
BIM+GIS 的集成成为热门的研究主题,其应用也具有广阔的前景,尤其是在可持续建筑环境领域。本文针对 BIM+GIS 集成可视化中语义信息错误与丢失、几何信息耦合度低、表达效率低等问题,从其服务流程的各个方面提出了改进方法。
在 BIM+GIS 数据融合中提出了多边形减面的 BIM 压缩技术,进而对三维数据进行切片缓存处理,再加上分布式存储方式提高数据展示时获取的速度,最后采用场景裁剪与分级分页调度技术、纹理 LOD 技术、基于 GPU 与并行架构的可视化策略,提高了集成数据渲染的效率,并实现了 BIM+GIS 集成可视化中数据浏览与查询、建筑构建动态模拟、室内漫游、X-ray 分析等功能。
BIM+GIS 的集成可视化可以创建无缝的现实世界视图,从而满足单独使用 BIM 或 GIS 无法达到的应用需求。本文通过 BIM+GIS 集成可视化技术的研究与案例的实现,验证了所提方法的可行性与有效性,提高了大体量城市数据在多尺度、高精度的空间和语义信息存储和加载效率,为智慧城市中建筑级别和城市级别的规划管理提供基础支撑,同时利用查询、空间分析等功能,为智慧城市建设提供辅助决策支持。未来,在 BIM+GIS 集成数据可视化和分析基础上,利用更多的建筑与环境领域新技术,设计出更有效的集成方法,以改善空间信息的综合管理、促进可持续的城市发展。
https://mp.weixin.qq.com/s?src=11×tamp=1629557831&ver=3266&signature=3bZJ-pC9uw0lF3kUZOvCKitRXdAuRgC7qJUQ4bLgNcwjQjJuD1lf63lXNi2pPTWgbt0u1P8GPzgWzmdVd3VAfkQHogYR-_c3FY_fXaF—-wOn5tOstczwQoa6yKtRQ&new=1