分布式技术助力大规模三维数据管理
2019年初,自然资源部正式开始推行“实景三维中国建设”。业内认为这可能将为地理信息产业带来亿万级市场机会。我国960万平方公里的国土面积,数据量非常庞大,三维GIS软件如何支撑如此大规模三维数据的管理与应用?
SuperMap GIS基于分布式技术,实现了大规模倾斜摄影建模、激光点云、地形/影像以及三维场数据等从数据接入、处理、服务发布到多端应用的高效全流程化管理(图1)。
图1 三维数据常规应用流程
倾斜摄影建模数据分布式处理
从原始的倾斜摄影建模数据到多端应用,需要进行大量的数据处理工作,如:针对坐标系不统一的问题,可以进行坐标系转换或平移插入点操作;针对数据边缘区域模糊,无法使用的问题,可以进行多边形裁剪操作;为实现连片倾斜摄影建模数据的单体化应用,可以进行单体化处理;为提升加载性能、实现高效浏览,可以进行合并根节点、纹理压缩等操作;为实现一套数据支撑多端应用,可以进行转S3M格式操作(图2)。
图2 倾斜摄影建模数据应用流程
但每进行一次数据处理,就需要进行一次I/O(Input/Output,输入/输出),多种操作组合会导致多次I/O,极大地影响了处理效率。因此,SuperMap GIS 10i将这些功能封装为处理算子,算子可以按需组合,多种数据处理方法组合只需要一次I/O,就能完成整个数据处理流程,提升了性能和处理效率(图3)。
图3 倾斜摄影建模数据处理算子
但对于大规模倾斜摄影建模数据,如某500平方公里的城市倾斜摄影建模数据,精度3公分、数据量达3TB、文件总数超3000万,单机处理算子仍然不能满足高效率处理的需求,且在大规模数据存储方面,普通文件系统能力有限,传统关系型数据库性能不足、可扩展性有限,也不能满足倾斜摄影建模数据高效存储和快速入库的需求。因此,SuperMap GIS 10i将单机算子改造为分布式算子,以支持多机的分布式计算,并且采用分布式文件系统和分布式数据库,实现大规模倾斜摄影建模数据的存储和管理优化。
基于分布式技术,SuperMap GIS 10i形成了倾斜摄影建模数据分布式处理方案,见图4,将原始的倾斜摄影建模数据存储到分布式文件系统中,然后进行合并根节点、纹理压缩等分布式计算,将计算结果存储到分布式数据库内,接着发布成服务。
图4 倾斜摄影建模数据分布式处理方案
图5是将292GB倾斜摄影建模数据采用不同处理方案的性能对比情况。分布式处理方案大大提高了倾斜摄影建模数据的处理效率,与单机算子模式相比,采用分布式模式,在算力提升6倍的情况下,性能提升了7倍,加速比大于1,意味着良好的可扩展性,即在一定范围内随着算力的提升,性能会得到进一步的提升。加速比是同一个任务在单处理器系统和并行处理器系统中运行消耗的时间的比率,用来衡量并行系统或程序并行化的性能和效果,是衡量硬件投入产出比的重要指标。
图5 倾斜摄影建模数据采用不同模式处理的性能比对
激光点云数据分布式处理
从原始的激光点云数据到多端应用,也需要进行多个处理操作,包括坐标系转换、创建空间索引、创建LOD、属性数据处理以及转S3M等。为了进一步完善对点云数据的支持,并提升性能,SuperMap GIS 10i支持了点云数据分类、分组显示,优化了点云数据组织方式,支持全球剖分和LOD的追加模式,实现了更小的存储量和更高的加载效率(图6)。
图6 激光点云数据应用流程
面对日益增加的数据量,单机模式的处理方式已经无法满足需求。因此,SuperMap GIS 10i强化了点云数据的处理能力,丰富了处理功能,提升了处理性能,并基于分布式技术形成了点云数据的分布式处理方案,见图7。
图7 激光点云数据分布式处理方案
图8是对180GB的点云las文件采用不同处理模式的性能比对情况。分布式技术加速了激光点云数据处理,与单机多线程模式相比,采用分布式模式,在算力提升6倍的情况下,性能提升7.5倍,加速比大于1,且可扩展。
图8 激光点云数据采用不同模式处理性能对比
地形/影像数据分布式处理
地形/影像数据传统的应用流程,见图9,原始数据通常是一些标准分幅数据,需要经过数据解析、坐标系转换、图幅拼接、构建金字塔等处理流程,生成缓存后作为图层发布。整个处理过程非常繁琐,且同样存在着多次I/O的问题。
图9 三维地形/影像数据传统的应用流程
因此,针对大规模三维地形/影像数据,SuperMap GIS 10i进行了分布式重构,实现地形/影像数据从分布式处理、分布式存储到服务发布的全流程化管理。在图10所示的技术方案中,基于Spark和GeoTrellis的集群框架,实现三维地形/影像数据的分布式处理。其中,GeoTrellis是一种地理数据处理引擎,主要用于地理信息数据的高性能快速处理,在海量栅格数据处理方面具有优势。
如图11,全国30米DEM,共1113幅GeoTIff数据,进行坐标转换、数据拼接等处理,采用不同处理模式的结果见图12。由结果可得:与单机模式相比,采用分布式模式,在算力提升5倍的情况下,性能提升7倍,加速比大于1,且可扩展。
图11 三维地形数据分布式处理方案
图12 三维地形数据采用不同模式处理的性能比对
三维场数据分布式处理
三维场数据模型(TIM和体元栅格)是超图2018年推出的用于表达三维空间中连续、非均质的三维属性场,如温度、湿度、磁场强度等,如图13是华为采用体元栅格数据来表达5G信号场,成功将其应用于表达城市范围手机信号强度。为提升处理性能,SuperMap GIS 10i同样采用分布式技术处理三维场数据,通过进行分布式重构,实现三维场数据从分布式存储、分布式处理到服务发布的全流程化管理。
图13 体元栅格的应用:城市级别的5G信号强度
基于分布式技术,超图构建了全新的三维数据分布式处理框架,见图14。基于Spark集群框架实现对倾斜摄影建模数据、激光点云数据、三维地形/影像数据以及三维场数据等进行分布式计算和处理,采用HDFS、HBase、MongoDB等实现分布式存储,最后基于S3M标准实现多端应用。
未来,随着实景三维中国建设的不断深入,新一代三维GIS技术会持续与分布式技术结合,支持更多更大规模三维数据的高效处理、存储和管理,增加更多的方法和工具,促进相关GIS业务深化。
图14 三维数据分布式处理框架
撰文 | 三维研发中心 何倩
【相关阅读】
▼
01 全面融入AI技术,SuperMap GIS 10i新特性速览
03 GIS技术进化 | 我们为何需要跨平台GIS技术体系?
05 GIS技术进化 | 大数据GIS技术体系点亮GIS应用新思维
06 GIS技术进化 | 新新新新新新一代三维GIS技术新解读
09 SuperMap iObjects for Spark新架构三大升级
欢迎转载~