时间:2024-08-31
王惠杰 吴 悠 吴静阳 孟海军
(自然资源部第一航测遥感院 陕西西安 710054)
随着大数据时代的到来,越来越多的领域开始重视数据的价值。但是要对数据的潜在价值进行挖掘和分析,离不开可视化工具的支持。大屏幕展示系统指在大型的拼接屏幕上,用统计图表、电子地图等可视化形式,对数据进行多维度展示的系统。它的优势在于借助大屏幕,以生动直观的可视化效果全面展示数据的统计信息、时空变化与分布规律等,使用户可以一目了然地掌握数据特征,为数据的进一步挖掘与分析奠定基础。
全国污染源普查是重大的国情调查,是环境保护的基础性工作。第二次全国污染源普查对工业源、农业源、生活源、移动源和集中式污染处理处置场所等5类污染源进行了详细的调查,对于准确判断我国当前环境形势,制定实施有针对性的经济社会发展和环境保护政策、规划,不断改善环境质量,加快推进生态文明建设,补齐全面建成小康社会的生态环境短板具有重要意义。第二次全国污染源普查不仅形成了大量的统计数据,而且各类污染源又有了丰富的地理位置信息,如自身位置、所属各级行政区划、污染排放的受纳水体等。因此,第二次全国污染源普查成果具有内容丰富、数据结构多样等特点。为了全面而准确地描述污染源的整体趋势与细节特征,需借助大屏幕展示系统将抽象的数字具象化。针对第二次全国污染源普查成果数据蕴含丰富的空间位置信息,本文提出一种集成地理信息的数据综合联动展示系统。该系统以承载空间信息的地图为窗口,将各类统计数据与污染源位置信息挂接起来,在查看污染源空间分布情况的同时,联动展示各个维度的数值特征,以便更好地发现普查成果数据的内在规律与趋势。
第二次全国污染源普查从污染源的基本信息、治理设施基本信息、污染物排放情况、原料使用情况、空间位置信息等角度,对每个污染源进行了详细调查,将展示内容分为区域整体情况展示和单个污染源信息展示两种。
区域整体情况展示,是指按照一定的空间区划,如行政区划(国家、省、地市等)或其他区划(如按流域划分、按文化习俗圈划分),展现各类污染源及次级类(如工业污染源可按企业规模划分为大型企业、中型企业、小型企业和微型企业)的数量、污染源点位空间分布、主要污染源类别及排放量、产品类别及产量等指标项。因此,需要根据第二次全国污染源普查成果数据对空间区划内的所有污染源按指标项分类汇总进行展示。
单个污染源信息展示,是指在较小的空间区划范围(如地市范围)内,查看单个污染源的信息,包括污染物、产品、污染源的地名地址和法人等调查信息。
这两类展示内容中,污染源空间分布信息可用地图来展示,数值信息可用统计图表来展示,同时,还要实现地图与图表的联动,即地图上选中某一区域或某个污染源,图表就能切换到该区域或该污染源的统计数据。
集成地理信息的数据综合联动展示系统采用浏览器/服务器架构,由数据层、服务层和用户层构成。其中,数据层包括了系统要展示的普查统计数据与空间数据,服务层提供GIS服务(底图服务、专题地图服务和空间查询服务等)、数据库服务(查询与统计服务等)和其他服务(数据格式转换服务等),用户层是用于展示和操作数据的前端界面。集成地理信息的数据综合联动展示系统的架构如图1所示。
图1 数据综合联动展示系统架构Fig.1 Architecture of Data Integrated Linkage Display System
系统界面采用如下布局:每类污染源一个页面,每个页面分左、中、右3个大板块,其中左右板块设置为展示数值特征的图表,中间板块相比左右板块较大,用于展示基础电子地图与污染源的空间分布信息。每类污染源的展示内容不同,因此可根据展示内容对局部板块进行调整,但总体布局均以地图为视觉中心,统计图表环绕四周。
1.4.1 图表展示模块
图表展示模块将污染源数量、产品种类与数量、污染物种类及排放量等统计数据,以柱状图、饼状图、折线图和数字牌等各类图表形式展示在相应板块中。图表形式可根据统计信息的特点确定,例如,需要表示各部分在总体的占比,则使用饼状图表;需要表示某一类量由若干分量组成,则使用堆叠的柱状图;需要表示同一区域或同一污染源几项指标的对比,则使用柱状组图;需要表示随时间变化的趋势,则使用折线图。
另外,图表本身也具备交互功能,例如,点击图例除展示该项数据外,还能动态计算剩余数据组各自的占比;将鼠标悬停在图表中某个数据组上,就能展示该组数据的详细信息等。图表展示模块样例如图2所示。
图2 图表样例Fig.2 Sample Chart
1.4.2 空间信息展示模块
空间信息展示模块以电子地图的形式在基础地理底图上叠加展示各类污染源的空间点位分布情况(见图3),如果缩放到省级及以上级别只显示该行政区划总的污染源数量;如果缩放到地市以下级别,直接显示全部污染源点位的空间分布。该模块提供了图层切换与开闭功能,可查看各类污染源次级类的分布情况。
图3 污染源点位空间分布示例Fig.3 Example of Pollution Sources Spatial Distribution
1.4.3 联动浏览模块
联动浏览模块以地图为操作入口,实现各类污染源信息的联动展示与浏览。通过点击不同区域(如不同地市)或者单个污染源,可以将该区域的统计汇总信息或者该污染源的污染物排放信息切换展示在其他图表板块中,同时,还能针对单个污染源,以地图弹框的形式展示其他详细信息。污染源查询图示例如图4所示。
图4 污染源查询图示例Fig.4 Example of Pollution Source Query Graph
系统采用了浏览器/服务器架构,从数据库、服务器端和浏览器端三方面阐述其实现过程。
1.5.1 数据库
污染源普查时采用表格的形式记录了污染源各个维度的信息,可采用关系型数据库存储,因此按照关系型数据库的范式要求对各个表格进行拆分、关联。同时考虑到空间索引、空间操作函数的需求,系统最终采用了Oracle 11g版本数据库。该版本支持Oracle Spatial组件操作空间数据。
1.5.2 服务器端
系统的核心功能是数据展示,业务流较为简单,并发压力不大,因此系统直接采用Tomcat作为网页服务器。系统集成了影像和线划底图、五类污染源专题地图等地图服务,采用开源Geoserver作为地图服务器。系统的集成开发环境为Eclipse。
1.5.3 浏览器端
系统的板块化界面设计依赖于各类图表组件的复用,因此采用vue.js作为前端总体框架;采用Openlayers3作为地图框架,实现地图的加载、浏览与交互操作;采用Echarts作为图表可视化框架。系统集成开发环境为VS code。
通常,展示系统的前端设计是不断迭代完善的,这意味着页面的整体布局、板块所采用的图表形式会不断更换。为了降低这种变化对整个系统研发的影响,集成地理信息的数据综合联动展示系统的前端采用了vue.js。vue.js是一种渐进式框架,它将HTML5+CSS+JAVASCRIPT整合成一个vue文件,称之为组件,只需在其他页面中引用该vue文件即可实现该组件的复用。vue.js的特点是组件化与数据绑定。
首先在集成地理信息的数据综合联动展示系统中,将不同类型、样式的图表制作成vue组件,可在不同板块中引用,避免了重复开发。其次,这种组件化可降低系统的耦合程度,板块的变化只是对若干组件的更改或替换,不影响系统整体运行。此外,vue可实现视图控件与数据的绑定,通过切换数据自动实现相应视图的更新。因此,在集成地理信息的数据综合联动展示系统中只需在地图点击事件中切换数据源,而不必操作网页的文档对象模型(Document Object Model),相应的视图就会发生变化,从而实现点击地图就可以切换展示不同区域的数据。
大屏幕通常是由若干小屏幕拼接而成,但是受场地或其他条件限制,拼接屏的长宽比、分辨率与开发系统使用的计算机屏幕可能并不一致。因此在界面设计时,需要注意以下几点:
1)各板块的长宽尺寸需要以大屏幕为基准,避免图表“变形”;
2)尽量让屏幕的拼接缝处于板块的衔接处或空白处;
3)通过调整投影方式来消除由于分辨率差别引起的地图“变形”。
例如,在CGCS2000球面坐标系中,当行政边界具有明显的南北长东西窄的几何特征时,如果拼接屏的分辨率较低,显示时就可能会拉伸东西向的宽度。消除这种几何特征会给人一种地图“变形”或者“不够准确”的错觉。这时通过选择合适的投影坐标系,就能在拼接屏上保持原有的几何特征,消除地图“变形”或者“不够准确”的错觉。
集成地理信息的数据综合联动展示系统的汇总统计信息展示,首先在页面加载时,根据给定指标向服务器请求数据,然后浏览器接收数据并展示在对应的板块中。
请求数据时,由于每类污染源、每个板块要展示的汇总统计信息是事先确定好的,因此,可以预先编写查询语句,在页面首次初始化时向服务器发送获取数据的请求。考虑到第二次全国污染源普查结束后,数据库的数据将作为本底数据,也不需要实时更新,因此,可对首次查询的结果进行缓存处理,在页面加载时直接读取缓存文件即可。一旦数据库的数据发生了变化,就需重新进行查询操作,更新缓存结果。
展示数据时,由于Echarts对柱状图、折线图、饼状图等不同图表的数据格式要求不同,因此,需要编写脚本将查询结果数据转换为各类图表格式。
通常展示系统要求实现污染源点位“能看能查”,即在将所有污染源的点位展示在地图上的同时,还可以通过点击位置来查看相应污染源的信息。网络要素服务(WFS)对于数量较少的污染源,可满足展示与查询的要求,但是对于每类污染源点位数量都有几万个的重点污染源,发布成网络要素服务后非常卡顿,效率极低。
集成地理信息的数据综合联动展示系统中采用“地图瓦片+数据库空间查询”的解决方案,即将污染源点位发布成符合开放地理空间信息联盟(OGC)标准的地图瓦片服务(WMTS),以满足几万个点位同时展示的性能要求;同时,在Oracle数据库中针对每类污染源建立空间索引,当在地图上用鼠标点击污染源位置进行空间查询时,使用Oracle Spatial的SDO_WITHIN_DISTANCE语句,就可以根据点击位置的实际坐标,从数据库中查询到对应的污染源,进而获取并展示其基本信息。
在大数据时代,大屏幕展示系统越来越成为全面展现数据特征的重要可视化工具。空间信息既是其核心的展示内容,同时也是联动展示其他信息的抓手。
本文以第二次全国污染源普查展示系统为例,提出了一种集成空间信息的大屏幕展示系统的技术解决方案,通过采用渐进式框架、数据库空间索引、数据库查询优化等框架与技术,解决了大屏幕展示系统中大量空间数据的展示与查询、汇总统计信息的高效查询与可视化、数据联动展示等问题,其技术设计与实现具有一定的典型性。下一步将研究三维场景下的地理信息联动展示以及系统数据的实时更新等技术内容。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!