毕晓玲,肖 桐,张 雪,王丽霞,申文明
(1.生态环境部卫星环境应用中心,北京 100094)
为严守生态保护红线,加强生态保护红线生态破坏问题监管,落实53111 监管体系和遥感主动发现的工作要求,依托国家生态保护红线监管平台,本文研发了生态破坏问题会商功能,实现了对疑似图斑、遥感影像、基础地理、视频监控、统计调查、环评审批、舆情监控、法律法规、政策文件等多种数据资料的集成展示、查询浏览和研判分析,提升了遥感发现生态破坏问题的精度和可靠性,建立了疑似生态破坏问题清单,推动了遥感监管“发现问题”与“查实问题”并重,实现了被动到主动、监测到会诊、评估到预警的转变,形成了长周期、中等周期和短周期的多维度监测能力。会商过程中,实时调取会商前准备的各类材料,展示生态破坏问题图斑位置、属性,介绍区域、基本生态和社会经济状况、法律法规以及政策文件等,查看实地核实成果等。本文结合生态破坏问题会商过程中对矢量数据服务的应用需求,在充分发挥栅格和矢量瓦片优势的基础上,研究了面向生态破坏问题会商的个性化矢量数据服务实现方法,提出了包含矢量分级切片索引、数据高速切割、高效渲染技术在内的一整套矢量分级索引与动态渲染技术体系。实验结果表明,基于矢量瓦片技术能实现全国海量矢量数据的高效发布、生态破坏问题自动识别后的服务更新与即时上图,以满足生态破坏问题会商业务对数据实时查询、动态过滤、按需渲染和及时更新的应用需求。
目前高德、百度、腾讯等在线地图均以固定样式展现给用户,不能兼顾用户多样化的应用需求[1]。在线地图是国家生态保护红线监管平台的基础能力。由于数据结构紧凑、冗余度低、客户端交互性和分析操作性强、图形显示质量好等优点,矢量数据被越来越广泛地应用于在线地图[2-3];但当数据量增大到一定程度,受网络带宽或客户端电脑硬件限制,用户频繁操作时,服务器只能不停运算以返回结果[4],矢量数据渲染效率和用户体验明显降低[5]。HTML5为WebGIS的发展带来了新的变化与机遇[6]。WebGIS的地图服务是以地图分级瓦片技术为数据存储的预缓存技术[7],栅格瓦片改善了地图加载缓慢的问题[8-9],提高了数据传输效率;但栅格瓦片灵活性不足、交互性较弱、预处理时间长且损失了很多信息[10],限制了用户对在线数据的交互查询和统计分析[11-12]。无论是直接浏览矢量数据还是采用栅格瓦片中的任意一种,想要达到无级浏览都需通过数据综合生成比数据原始尺度小的中间数据,并制作多套、多级用于展示的地图或缓存,流程复杂且耗时。生态破坏问题会商时,需要对关注的内容进行交互查询、综合分析,实时性要求较高,因此栅格瓦片不能满足实际应用需求,本文引入矢量瓦片技术概念(图1)。矢量瓦片是矢量数据多尺度表达的一种形式[13],按照分块金字塔的方式进行调度,切割好的瓦片以文件形式存储[14];每个数据单元只包含一定范围内的要素信息,瓦片携带的是用户绘制的数据,而不是已绘制的固定样式图片[15]。矢量瓦片技术可有效满足矢量数据高效浏览、交互查询和在线编辑等应用需求,以提升和优化用户对地图的在线交互体验[16]。
图1 矢量瓦片与栅格瓦片技术流程对比
面向生态破坏问题会商的个性化矢量数据服务通过高效的矢量数据索引构建算法、分级索引调度、GPU加速并行渲染和矢量瓦片增量更新技术实现海量矢量数据在前端在线地图的动态渲染、高效浏览、快速更新以及地图要素拾取、查询等功能,并提供个性化地图方案。以矢量瓦片技术为生态破坏问题会商数据加工和地图服务技术,可缩短地图更新周期、降低数据存储体量和传输成本,提供高效的生态破坏问题会商数据渲染和在线服务。整体技术路线见图2:①数据建库,梳理数据资源,对需要采用矢量瓦片技术进行切片和渲染的数据进行预处理,并通过时空数据库管理分析系统存储在数据库中;②索引构建,结合生态破坏问题会商对矢量数据展示的需求,创建基于视觉模型的分级索引,依据比例尺级别对数据采用不同方式进行分级切片和索引处理;③动态渲染,根据提前设置的渲染参数和符号化方案以及浏览器端显示需要,动态调整和切换符号方案,实时变换浏览器端可视化效果;④服务发布,通过矢量瓦片服务发布引擎,结合图层渲染方案,从数据库中调取数据,发布成矢量瓦片服务,供浏览器端调用显示。
图2 矢量瓦片技术路线图
围绕生态破坏问题会商过程中对问题图斑等矢量数据动态符号化、浏览效率、动态查询检索、要素高亮拾取、数据服务联动更新等方面的需求,结合矢量瓦片技术路线,本文从数据存储、服务发布、服务浏览与使用、服务联动更新等方面阐述具体实现方法。
1)数据存储。近年来,非关系型数据库发展迅速,旨在解决大数据存储与分析等难题[17]。MongoDB作为非关系型数据库的重要代表,在海量数据存储和并发访问方面具有明显优势[18]。本文选取MongoDB作为矢量瓦片服务数据库存储引擎,针对HDFS、MongoDB等通用存储技术在原生状态下不支持空间数据模型、无法直接用于空间数据有效管理的问题,采用多态融合大数据存储技术存储生态破坏问题图斑、生态保护红线边界、基础地理等多源矢量数据;针对单一空间大数据存储技术不能满足场景链路存储需求的性能瓶颈,基于一体化模型,搭建不同存储形态之间的“桥梁”,实现空间大数据存储、计算、可视化的无缝衔接,为用户提供统一、透明化的高效数据访问;面对不同的应用场景,采用差异化存储策略,充分利用各存储形态的优势,打破多场景业务运行的数据访问性能瓶颈。多态融合的空间大数据存储技术以空间数据模型、空间索引和空间算法模型为核心,实现兼容多种大数据存储形态的空间化扩展,使各类大数据存储技术具有空间数据存储管理能力,为用户提供全类型时空大数据统一存储管理与高效访问,支撑关系型数据库对矢量数据的管理效能从亿级提升到百亿级、非关系型数据库对瓦片数据的管理效能从百亿提升到千亿级。
2)服务发布。针对传统栅格瓦片发布周期长的问题,矢量瓦片技术采用动态矢量切片技术,改进要素简化、图形切割等关键算法,不同级别瓦片按照规则格网进行索引切割,同时考虑坐标信息与实体属性信息的继承关系,采用GeoJSON[19]格式存储重新编码的矢量数据信息,在保障原数据细节的前提下尽可能减小数据冗余、缩小数据体积,生产效率比传统瓦片数据提高了几十倍,解决了栅格瓦片服务发布动辄需要一个月以上的问题,实现了TB 级矢量数据的动态发布、实时预览;将矢量瓦片技术与智能缓存技术相结合,根据用户访问热度、数据重要程度、处理难易程度等智能管理缓存,将一部分数据的处理结果放到缓存中,解决了传统预建缓存耗时长、占用存储高等问题,以更低的资源消耗来支撑更高的发布效率和并发访问性能;同时矢量瓦片技术采用有针对性的高效压缩算法和定制化编码结构,确保数据存储高效和传输安全。
3)服务浏览与使用。矢量瓦片技术优化了按视域分级动态调度机制,根据服务数据构建的索引情况,对不同层级不同比例尺采用不同的渲染模式,解决了不同级别瓦片过渡存在卡顿的问题,实现了不同层级高保真、无极缩放和高效浏览。以全国陆域生态保护红线边界图层为例,在接近其数据原始精度的比例尺下(如1∶1 万~1∶5 万),直接采用原始数据进行渲染,无需构建索引;在中等比例尺下,将数据预处理为矢量瓦片索引并存储,前端依据显示比例尺实现对应层级的调用和渲染;在小比例尺下,将数据预处理为RF 瓦片索引并存储,前端依据显示比例尺实现对应层级的调用和渲染。同时,矢量瓦片技术采用动态渲染技术,通过渲染和调度异步执行以及多种渲染模式相结合两个策略极大增强了地图的可修改性和交互性,解决了传统栅格瓦片样式固化、交互性差的问题。矢量瓦片技术还支持移动端、浏览器端、服务器端等多端渲染,可根据不同场景定制渲染模式,达到最佳的渲染性能和浏览体验。
4)服务联动更新。生态破坏问题会商时,需提前上传待会商的问题图斑数据,后台自动发布成矢量瓦片服务,但一次会商事件不一定能完成所有图斑的会商,已完成会商的图斑需根据会商记录修改相应属性或补充相应佐证材料,该过程反复进行,若每次都重新上传所有数据,重新发布所有数据服务,将严重降低会商效率和便捷性,造成存储资源的浪费。为满足会商过程中专家对各类监管信息准确性和及时性的要求,用户通过交互式操作完成会商数据的上传,后台进行数据标准化检查,质检通过后,将图斑空间数据写入数据库提前定义的图斑空间表内,并将空间表信息注册到矢量瓦片服务和数据查询接口中,矢量空间数据库中的各类数据以增量更新的方式进行管理和维护,瓦片服务数据库直接从空间数据库中获取矢量数据加工处理成瓦片数据并对外提供服务,服务数据需做到及时更新,基于服务数据,地图服务做到按需更新(图3)。当会商的数据内容发生变化时,按照上述实现方式,入库的空间表已在矢量瓦片服务和数据查询接口中注册过,通过矢量瓦片的直连渲染机制,实现服务要素的动态更新与地图展示;通过数据查询接口,实现图斑属性数据的可视化展示与联动,保证服务数据的鲜活性,避免重新发布服务,显著提高时效性。
图3 数据与服务联动更新示意图
根据上述技术路线和方法,以全国陆域生态保护红线相关数据为例,本文从分布式瓦片服务数据存储、服务发布前瓦片的切割和索引构建、服务浏览时瓦片的高效动态渲染以及数据与服务的联动更新4 个方面开展基于矢量瓦片的生态破坏问题会商数据服务应用分析。
基于多态融合大数据存储技术,本文利用3 台服务器搭建分布式集群环境,利用副本集与分片机制相结合的分布式存储方法存储陆域生态保护红线、县级行政区划和国家公园数据,在最大并发访问量下,对2018版陆域生态保护红线(200多万个图斑)、县级行政区划(约3 000个图斑)、国家公园(10个图斑)3个数据服务进行对比。结果表明,访问效率比传统单机部署平均提升约5倍(表1)。
表1 访问效率对比
全国陆域生态保护红线边界矢量数据体量大,为提高整体索引创建效率,本文改进了各级别下按照规则格网进行索引切割的算法。结果表明,切割效率比原有SDO_INTERSECTION 自有函数提高了100 倍(表2)。基于改进的矢量分级索引和切割方法,对2018 版全国陆域生态保护红线数据(31 个分省数据层、200 多万个图斑)创建索引。结果表明,构建效率比传统栅格瓦片提升10倍以上。
表2 切割效率对比表
矢量瓦片采用全新的数据组织形式与数据渲染分离异步执行,实现百万级要素数据服务的无缝无损浏览效果,能很好地支持高分辨率显示屏随意缩放。用户请求时服务器端无需重复生成新的瓦片,只需直接返回当前区域所对应的小范围轻量级瓦片,有效缩短了服务器渲染地图的时间和网络传输时间,实现GB 级要素秒级浏览不卡顿,全国陆域生态保护红线边界电子地图服务在各级别整屏数据刷新耗时均在1 s左右。矢量瓦片对要素级粒度的点、线、面图层数据进行组织管理,告别栅格瓦片地图零交互的现象,支持要素拾取、图层显隐控制、查询等地图交互,应用效果见图4。
基于数据服务联动更新技术,本文以变化检测得到的疑似生态破坏问题图斑为例进行数据更新实验,在线地图窗口可看到更新前后识别的道路图斑变化情况,除空间数据服务发生变化外,属性数据由原先的16 个字段增至28 个字段,更新完成后可实现该生态破坏问题图斑“问题发现—问题核实—问题整改”的全生命周期追溯,为时序变化分析和信息挖掘提供便利(图5)。
图5 服务更新前后效果对比图
本文面向生态破坏问题会商业务中各类矢量数据服务高效浏览、交互式查询、在线分析等应用需求,分析了栅格瓦片和矢量瓦片的优劣,引出矢量瓦片技术的概念,阐述了面向生态破坏问题会商的个性化矢量数据服务实现的技术路线,从数据存储、服务发布、服务浏览与使用和服务联动更新4 个方面介绍了具体实现过程。实验结果表明,基于矢量瓦片技术的生态破坏问题会商数据服务实现了对生态破坏问题会商各类数据服务的系统化管理和便捷化应用以及地图服务标准化和会商业务应用个性化的有机结合,有效提升了生态破坏问题会商数据服务应用效率。然而,本文的研究重点是矢量数据服务,生态破坏问题会商数据种类多样,后续将针对影像、监控数据、观测数据等其他数据服务方法进行研究和探索,力争形成完整的生态保护红线监管数据服务技术体系。