无线电监测数据可视化平台的设计与实现
2019-07-19段晓莉崔晋华金维有
段晓莉,崔晋华,施 洋,李 超,钱 俊,金维有
(1.安徽省无线电监测站, 安徽 合肥 230031;2.安徽省马鞍山市无线电监测站, 安徽 马鞍山 243000;3.安徽省宣城市无线电管理处, 安徽 宣城 242099)
为落实国家无线电频谱监测统计工作要求[1],自2007年4月,安徽省全省范围内按月实施无线电频谱监测工作,并形成工作报告,逐步形成了能够适应当前监测工作需要的监测模式与无线电频谱监测工作制度.随着监测工作的开展,积累了大量的监测数据,相关数据除形成报告报送国家无线电监测中心外,均以文件或纸质资料的形式进行归档入库,对于数据的采集分析,则需要相关人员人工地选择需要的数据,利用软件绘制可视化的分析图,该方式的效率相对较低,导致监测数据的利用率很低,不能用于综合分析.因此,如何科学存储海量监测数据[2],有效利用现有数据建立完善的数据对比、分析、评估体系,成为当前工作重中之重.
本文致力于利用GIS(Geographic Information System)实现无线电监测数据的可视化.相关学者对此做了有益的尝试[3-10].文献[3]在GIS平台基础上对贵州的无线电站管理系统进行了设计;文献[4]在GIS平台基础上对闪电数据进行了可视化监测与分析的实现;文献[5]在GIS平台基础上对无线电管理系统进行了设计与研究;文献[6]在GIS平台的基础上对无线电基站的可视化做了研究;文献[7]实现了三维GIS在无线电管理中的应用;文献[8]进行了基于GIS的无线电信号覆盖模拟系统关键技术研究;文献[9]实现了无线电频率台站评估体系以及其GIS应用研究;文献[10]进行了GIS在无线电波覆盖范围分析中的应用研究.
本文基于B/S 架构的基础上,首先进行功能划分,根据需要,把采集的数据列出规范的表格清单,再对表格进行对应的数据库设计,利用ETL(Extract-Transform-Load)工具[11]结合Python[12]对表格化数据进行汇总整合.本文选择合适的可视化表达方法,实现监测数据在GIS地图上的动态数据分布效果图、数据统计及定位展示,并提供了具有导入、导出、查询、分析、可视化等功能的整套解决方案,从而提供可靠的无线电监测结果,并提高无线电监测数据的使用率.
1 GIS及无线电监测数据可视化概述
1.1 GIS的综述
GIS即地理信息系统,它可以将地理空间上数据通过计算机的支持,变成直观的、更易于接受的视觉信息.通过GIS技术,可以迅速地处理无线电管理中得到的大量监测数据,将数据实现可视化,便于决策与管理.本文所用的ArcGIS就是GIS技术中的一种.ArcGIS[13-15]作为一个可伸缩的平台,无论是在桌面、在服务器、在野外还是通过Web,为个人用户也为群体用户提供GIS的功能,ArcGIS是一个建设完整GIS的软件集合,它包含了一系列部署GIS的框架:ArcGIS Desktop——一个专业GIS应用的完整套件;ArcGIS Engine——为定制开发GIS应用的嵌入式开发组件;服务端GIS——ArcSDE,ArcIMS和ArcGIS Server;移动GIS——ArcPad以及为平板电脑使用的ArcGIS Desktop和Engine;ArcGIS是基于一套由共享GIS组件组成的通用组件库实现的,这些组件被称为ArcObjectsTM.
1.2 无线电监测数据可视化分析
为了实现安徽省无线电监测数据的可视化,就要先分清要对哪些数据实现可视化,期望达到什么样的效果.对于无线电得到的监测数据,主要分为以下几个类型:全省的监测站点以及每个市的监测工作量;全省的干扰信号,包括干扰的种类和干扰的数量;全省的一些不明信号.所以接下来要对这些数据进行详细地统计、归类,实现可视化,发现这些数据的隐藏价值.
2 基于GIS的无线电监测数据可视
化系统设计
2.1 系统总体结构设计
本系统基于GIS平台要完成无线电监测数据的可视化展示、无线电历史数据的统计分析及系统辅助功能等3个方面的功能(图1):
(1)无线电监测数据的可视化展示
监测数据可视化又分为全省监测站点分布图、全省监测工作量分布图、全省干扰排查分布图以及全省不明信号排查分布图.
(2)无线电监测历史数据的统计分析
包括无线电监测历史数据的查询、统计、输出等操作、实现对选定日期段内的无线电监测数据分频段、干扰类型等统计分析并绘制出相关图表,为利用现有数据建立完善的数据对比、分析、评估体系提供支持.
(3)系统辅助功能
主要包括无线电数据基础信息管理及系统管理.主要实现监测站点,监测设备、频段等信息的管理功能;组织机构信息、用户信息等功能以及运行日志等.
整体业务采用B/S 架构建设,通过浏览器即可访问,无需安装客户端.
图1 总体功能规划
2.2 数据库结构设计
2.2.1 数据填报与统计 数据库设计的第一步需要数据填报与统计,清楚需要用到哪些数据,如何分类.对于本文来说,安徽省无线电监测月报数据分析系统的数据采集与填报分为4个部分:全省监测站点,全省监测工作量,全省干扰排查以及全省不明信号排查.所以数据填报的来源也不相同.
以全省监测站点分布图为例,全省监测工作量分布图在系统中设计在一张图上进行显示,它的数据填报的来源有两块.分别是国家制定的7张月报表格中的2张——安徽省无线电频谱监测量工作表统计表以及安徽省监测设施数量及工作状况统计表.此处只列出表格1,为安徽省无线电频谱监测量工作量统计表(表1).
表1 安徽省无线电频谱监测量工作量统计表
2.2.2 ETL抽取数据 为了实现安徽省无线电监测月报数据分析系统的可视化,就要对上述统计后的数据进行抽取及导入.因为课题涉及到2007年至今的历史数据导入.近11年的历史监测数据文档、格式都比较杂乱.为了快速地导入历史数据,有效地利用数据进行分析,本文使用了ETL 工具进行数据处理.ETL工具结合Python 整合历史数据,Excel批量导入oracle 数据库.利用Python 将分散在Excel 中的历史数据表格汇总到一个Excel文件中,然后通过ETL 工具批量转换后导入数据库,再经过业务处理和查重后导入正式业务表中.ETL 工具适合大批量结构化或非结构化数据的清洗和迁移,可结合当前流行的大数据平台使用,是大数据平台数据来源很好的补充.
2.2.3 数据库设计 本文直接使用安徽省无线电监测站Oracle 数据库服务器,不需另外安装Oracle 数据库.关于数据库的命名规则,本文如下:
(1)业务数据表:描述具体系统业务信息.如监测站信息等,所有业务相关表均以“RTBT-”为前缀.
(2)基本系统表:描述系统的基础支撑信息和编码.如,公共字典、用户等.所有的系统表均以“sys-”为前缀.
对于以上填报与统计过的数据,都要进行相对应的数据库设计,本文以监测工作量填报表为例,来说明它的数据表设计.
数据表名:RTBT-MONITOR-WORKLOAD
数据表定义:见表2.
对于统计的城市,统计时间,监测站点名称,干扰排查数量以及信号排查数量都作为数据表设计的主要内容,在表2中均设计了字段名,字段类型,且对主键、外键等均进行了设置.
3 基于GIS的无线电监测数据可视
化系统的功能实现
3.1 基于时间的要素可视化
图2是监测数据展示中的频段占用度对比分析图.它实现了以下2个功能:
(1)多维度的数据查询比对:按地市、频段、时间、站点进行多维度查询.如实现多地市、同一时间、同一频段,不同时间、同一站点、同一频段的占用度趋势分析;
(2)提供动态滚动轴,打破x轴长度限制.能自由关注细节的数据信息,概览数据整体情况.
表2 监测工作量的数据表
图2 频段占用度对比分析
这里横轴的时间要素是利用echart组件对统计的数据进行展示.主要代码如下:
tooltip: {
trigger: 'axis',
axisPointer:{//坐标轴指示器,坐标轴触发有效
type: 'shadow'//默认为直线,可选为:'line' | 'shadow'
}
},
grid: {
left: '3%',
right: 70,
bottom: 70,
containLabel: true
},
3.2 基于空间的要素可视化
图3是对频段占用度、信号电平值、干扰数据、不明信号实现了多维度的查询比对分析,并以图表的方式展示数据.
图3 数据对比分析
这里的柱状分析图也是使用echart组件对统计的数据进行展示的,主要代码如下:
dataView: {
readOnly: true,
optionToContent:function(opt){
var axisData=opt.xAxis[0].data;
var series=opt.series;
var table='
'+axisData[i]+' | ''+series[0].data[i]+' | '