APP下载

基于矢量瓦片的动态渲染与发布技术研究*

2023-11-09平宗玮

地矿测绘 2023年3期
关键词:瓦片图层切片

平宗玮

(山东省国土测绘院,山东 济南 250013)

0 引言

《山东省“十三五”基础测绘规划》中明确将地理信息资源大数据中心建设列为重点工程,要求突破时空大数据动态整合、联动更新、智能分析、按需服务等技术难点,实现省级地理信息的集中统一、开放共享,构建具有山东特色的地理信息时空大数据资源体系[1-4]。针对时空大数据中心建设过程中数据加载缓慢,界面卡顿、内存溢出等难点问题[5-8],急需研究一套高性能矢量切片发布成套技术,提高大数据在海量数据规模应用场景下数据的加载效率,满足测绘数据服务于社会公用及国民经济建设等各方面的需要[9-12]。

1 现有矢量切片技术存在的问题

对于全省范围的矢量数据,单图层要素数据量达到百万级别以上,图层数据总量更是达到千万级别,现有渲染浏览方式普遍存在加载延迟、数据卡顿、系统崩溃等问题[13-16]。如果采用切片后浏览的方式,又面临数据重复切片、不支持符号化等问题。无论采用这两种方式中的任意一种想要达到无级浏览,都需要生成中间数据,并制作多套、多级用于展示的地图或缓存,流程复杂且耗时。

2 研究路线

为满足海量矢量数据的高效显示以及动态符号化等方面的需求[17-22],研发了含动态索引、异步渲染、注记动态避让等一整套矢量瓦片技术,实现在统一一套数据的前提下的海量矢量数据的高效和动态浏览、查询,通过矢量瓦片渲染技术可以实现数据自由读取、无缝衔接浏览及数据高亮显示。矢量瓦片技术路线见图1。

图1 矢量瓦片技术路线图Fig.1 Roadmap of vector tile technology

1)数据建库。通过矢量瓦片技术进行处理后,将需要建库的数据导入数据库中。

2)索引构建、地图方案编制。根据数据库中各图层要素情况构建相应的索引文件。

3)服务发布。利用服务发布引擎对切片数据进行服务发布,并创建渲染方案,同时利用要素过滤和注记避让技术来保证显示效果。

4)高效渲染机制。通过索引技术实现异步渲染,保证动态效果。

3 关键技术

3.1 矢量数据索引构建算法

本文基于不同显示比例尺下矢量要素展示需求,研究了矢量瓦片渲染规律,提供两种渲染模式,支持直连数据库渲染、矢量瓦片渲染、网格服务渲染,研究矢量瓦片索引、RF瓦片索引。

以国情地表覆盖图层为例:在接近其数据原始精度的比例尺下(如1∶1万~1∶5万区间),直接采用原始数据进行渲染,无需构建索引;在中等比例尺下,将数据预处理为矢量瓦片索引并进行存储,前端依据显示比例尺实现对应层级的调用和渲染;而在小比例尺下,将数据预处理为RF瓦片索引并进行存储,前端依据显示比例尺实现对应层级的调用和渲染。

此方式保存了各瓦片中所有的要素的图形和属性,一方面通过对数据进行分区以及分级划分,达到数据无损浏览,另一方面支持浏览过程中的属性信息查询。

3.2 矢量分区算法

在实际存储过程中,需要对矢量数据进行分区存储以达到快速展示和计算的目的。数据分区范围可以根据实际情况发生变化。矢量数据划分主要包含几何图形划分、属性信息划分及实体关系划分。

3.2.1 几何图形划分

地理信息矢量数据一般包含点、线、面3种数据形式。点的分区较为简单,直接将落入划分区域范围内的点进行直接分区即可。线、面的划分分为两种情况:一种是要素完全落入分区内部,这种情况下对数据直接进行划分;另一种是要素只有一部分落入分区内部,这种情况下需要按照范围相交原则对数据进行切割,将切割后的的数据按照范围关系划入相应分区。

3.2.2 属性信息划分

地理信息矢量数据除了其本身的图形属性外,还带有大量的属性信息数据,这些数据也需要跟随其图形数据进行划分。属性数据以继承的方式划分到分区数据,不再进行区分,这样是为了保持数据的一致性,方便后续计算与整体展示。

3.2.3 实体关系划分

地理实体数据比一般矢量数据多了空间关系和组聚合实体关系,空间关系中主要存储的是单实体之间包含、相邻、流入(出)、连通等空间关系,组聚合实体关系存储的是组聚合实体对单实体的包含关系。实体关系数据由于逻辑上的一致性,对展示效率影响较小,所以在分区过程中仍保持其完整性,不再细分。

由于地理空间矢量数据体量大,为了提高整体索引创建的效率,完善了各级别下按照规则格网进行索引分区的算法,相比原有Oracle自有函数分区效率大大提高。表1是对不同节点数量级的图层,使用完善的索引分区算法前后的效率对比。

表1 效率对比说明表

3.3 高效动态渲染技术

3.3.1 调度和渲染异步执行

采用调度管理器对请求信息进行协调管理,调度管理器会生成多个调度索引用于调取数据,完成指派后继续由调度管理器选择已完成任务的空闲资源执行渲染任务,这样就实现了数据调用和渲染多路径、异步执行,大大提高了资源利用率,缩短了渲染完成时间。

3.3.2 多种渲染模式

1)直连库渲染模式原理和特点

获取服务图层数据源连接信息,直接连接数据库获取图层数据信息进行绘制,因为是直连数据库,所有服务数据能与原始数据保存同步,数据库数据发生变化后,前端服务浏览能同步更新内容,同时节省索引构建的工作量,减少数据存储空间,在接近其数据原始精度的比例尺下(如1∶1万-1∶5万区间),直接采用原始数据进行渲染,渲染效率甚至优于矢量瓦片渲染模式。

2)矢量瓦片渲染模式原理和特点

在中等比例尺下,将数据预处理为矢量瓦片索引并进行存储,获取服务图层对应矢量瓦片索引,前端依据显示比例尺实现对应层级的调用和渲染,实现无缝无延迟浏览。

3)网格渲染模式原理和特点

在小比例尺下,单张瓦片要素过多,如果直接构建矢量瓦片索引,会导致单张瓦片数据操作mongo库存储阈值,导致构建矢量瓦片索引失败,需要将数据预处理为RF瓦片索引并进行网格化存储,前端依据显示比例尺实现对应层级的调用和渲染需要。

4)组合渲染模式原理和特点

组合渲染模式是根据服务数据构建索引情况,在不同层级实现对矢量瓦片渲染、网格瓦片渲染、直连库渲染,从而实现不同层级高保真和无缝缩放效果。

3.4 注记动态避让

矢量瓦片索引数据构建完成后,为了前端制图效果与信息展示平衡,对注记数据按照重要等级/权重值进行抽稀后,在前/后端动态进行避让绘制。是否重要设置为重要的要素,优先级最高,不参与注记过滤,在要素避让时,最先占位置。

1)注记过滤:根据注记重要程度进行排序,按照注记分布密度值大小进行适量删减,以达到最佳的展示效果。

2)要素避让:前端/后端动态绘制过程中,依据图元之间和注记要素之间重要等级排序,进行四宫格避让运算,保留权重值高且地图显示无冲突的要素,其余多余要素不显示。

3)注记去重:为保障地图展示信息的有效性和平衡性,不允许多个同名注记出现在同一张瓦片内;系统按照界面设置去重阈值,自动将存在重复注记要素进行删减。

3.5 结果验证

采用高性能矢量切片发布成套技术制作矢量电子地图,缩短地图更新周期、降低数据存储体量和传输成本,提供高效的矢量电子地图渲染和在线服务。主要体现在以下方面:

1)矢量瓦片切片速度有较大的提升,应用效果见表2。

表2 高效索引创建应用效果表

2)基于视觉无损浏览设计,保证了各个显示级别下数据高效、视觉无损浏览,与栅格瓦片地图服务效率视觉无差。

3)矢量瓦片采用全新的数据组织形式与数据渲染分离异步执行,实现亿量级要素数据服务的无缝无损浏览效果,具有高显示质量,能够较好地支持高分辨率显示屏随意缩放更清晰。应用效果见表3。

表3 高效动态渲染应用效果

4)矢量瓦片对要素级粒度的点、线、面图层数据进行组织管理,告别以往栅格瓦片地图零交互的问题,支持要素拾取、图层显隐控制、查询等地图交互,应用效果见图2。

图2 地图服务可交互应用效果图Fig.2 Interactive application rendering of map services

5)传统栅格地图服务更改配图方案需要重新创建瓦片,矢量瓦片地图在地图服务切片索引创建完成后,只需要在服务端对符号库进行更改,不需要对数据进行重新分区和索引创建,实现样式和数据源的分离,在不同的显示需求下定制不同的样式。

6)对注记数据按照重要等级/权重值进行抽稀后,在前/后端动态进行避让绘制。“是否重要”设置为重要的要素,优先级最高,不参与注记过滤,在要素避让时,最先占位置,从而实现前端制图效果与信息展示平衡。

7)高性能矢量瓦片发布成套技术发布的服务,采用标准的OGC接口。原有服务对外的接口不用发生任何变化,受众也不用对系统本身作任何的改造,大量的老旧系统也不需要作任何改造。

4 结束语

本文基于“山东省地理信息时空大数据中心”的建设,通过分析现有矢量切片技术存在的问题,研究并提出了一种包含矢量分级切片索引、矢量分区、高效渲染技术在内的矢量分级索引与动态渲染技术。该技术缩短了地图更新周期、降低了数据存储体量和传输成本,提供了高效的矢量电子地图渲染和在线服务,为建设快速的网络化智能分析与决策服务体系,国土空间开发保护、国土空间系统治理、服务国家重大战略空间保障提供了技术支撑。

猜你喜欢

瓦片图层切片
一种基于主题时空价值的服务器端瓦片缓存算法
惯性
巧用混合图层 制作抽象动感森林
基于SDN与NFV的网络切片架构
肾穿刺组织冷冻切片技术的改进方法
图层法在地理区域图读图中的应用
跟我学添加真实的光照效果
冰冻切片、快速石蜡切片在中枢神经系统肿瘤诊断中的应用价值比较
浅析“递层优化法”在矿井制图中的应用
基于NoSQL数据库的瓦片地图服务