白向荣 赵江锋 薛华锋 刘 华 苏 锋 贾新会
(1.中电建路桥集团有限公司,北京 100048; 2.中国水利水电第三工程局有限公司华中公司,陕西 西安 710024;3.中国电建集团西北勘测设计研究院有限公司,陕西 西安 710065)
近年来城市化进程不断加快,各种城市化问题也随之而来,为应对和解决城市水问题,海绵城市这一理念被提出[1]。西安市每逢中到大雨均会出现不同程度的内涝问题,特别是2016年7月24日,西安城区遭遇超50年一遇极端暴雨,造成小寨十字及周边多个街区发生内涝,小寨海绵城市建设迫在眉睫[2]。为深入剖析海绵城市建设运行管理需求,需充分利用现代信息技术,将海绵城市工程各类异构数据进行有效集成,打造海绵城市工程数据集成平台,为小寨海绵城市智慧管控平台[3]提供强大的数据支撑。
近年来,多个行业已开展了数据仓库的建设工作。比如,东营市水利局将区域水利资料数字化,组建数据仓库,进而构建东营水利数据中心[4];党怀义[5]分析了试飞大数据的特征,介绍了飞行试验数据仓库的设计与应用;电力调度综合数据仓库的建设,为电力调度带来了极大的便利[6];烟草数字仓库提高了货物周转效率,节约了供货成本,为企业管理库存提供了便利[7];张维国[8]分析了数据仓库在高校教务系统中的应用。海绵城市工程建设也同样离不开数据集成技术,本文对海绵城市工程数据集成需求、集成设计方案、集成平台应用展开研究,以期为小寨海绵城市建设提供一定的理论指导。
海绵城市涉及海量的多源异构数据,支撑着海绵城市的建设和运营,以小寨海绵城市为例,通过对数据源进行分析整理,按数据源类型可将数据划分为GIS地理信息数据、在线实测数据、人工填报数据和其他数据,每一类别涵盖了多种数据类型,具体的数据类型如表1所示。
表1 数据源类别划分
本文针对小寨海绵城市工程数据源的分析,并结合实际建设目标,将小寨海绵城市数据仓库划分为地理信息主题库、运行管理主题库、在线监测主题库和建设文档主题库。其中,地理信息主题库主要包括基础地形数据和雨水系统布局数据信息,运行管理主题库主要包括运行管理信息和建设考核统计信息,在线监测主题库主要包括仪器监测信息和仪器状态信息,建设文档主题库主要包括海绵城市建设相关的文档信息与规章文档信息。按照数据类型,将小寨海绵城市多源数据集成到相应的主题库内,为小寨海绵城市建设与运行提供数据支撑。
数据仓库是传输系统的云仓库,仓库中的数据来源主要有区域基础地形数据、城区内涝数据、河道水质数据、设备状况数据、文档数据等不同的源数据,这些数据传输集成到数据仓库中,经过数据的清洗及预处理后,通过海绵城市工程数据集成平台为小寨海绵城市建设提供数据服务。
为实现海绵城市异构数据的有效集成,基于平台需求及数据库需求,建立基于数据仓库的海绵城市工程数据集成平台技术架构,如图1所示。
1)数据源层。就海绵城市而言,数据仓库的主要数据源为行政区划数据、管网数据、项目管理数据、统计填报数据、在线实测数据、模型数据、文档数据等,包含有结构化数据、半结构化数据和非结构化数据,数据源层数据具有格式各异、标准不一、结构复杂等特点,需要对数据进行预处理和加工转换后,以某种形式统一存储、集成。
2)数据采集层。针对海绵城市数据结构复杂、数据繁多的特点,采用ETL工具进行海绵城市各系统业务数据库数据的采集,并对重复数据、异常数据、脏数据等不符合要求的数据进行清洗转换,最终将处理完毕的数据存储至数据存储层。
3)数据存储层。海绵城市在建设、监测、运行管理中所产生的源数据,进行数据的抽取和转化后,以某种特定形式集成到小寨海绵城市数据仓库中。仓库内并不仅存储原始数据,而是对数据进行预处理后,存储为细节数据,方便数据后期的挖掘和分析。数据通过获取层传输到存储层后,依据数据分类分别录入到地理信息主题库、在线监测主题库、运行管理主题库以及建设文档主题库。
4)数据展现层。数据展现层支持对数据仓库中的聚合数据、细节数据等开放数据进行搜索、查阅及导出,根据管理人员的需求,可进行多类别搜索、多格式导出,方便管理人员以更为灵活的方式获取数据。海绵城市产生的海量数据,经过数据仓库的有效集成后,基于Hadoop大数据分析平台,进行数据分析和数据挖掘,从而为管理者提供决策支持。
5)元数据管理。元数据是数据的“数据”,因此又称解释性数据[9]。通过管理元数据,可进行数据仓库中模型定义记录、数据状态监控以及数据抽取、转化、导出的任务状态。
1)数据抽取。由于海绵城市实际数据源的数量是不确定的,因此通过对海绵城市数据源进行实际调研,这些数据源可能是在不同的硬件平台上,使用不同的操作系统,因为数据可能以不同格式存储在不同数据库中,如何从不同数据源中提取数据到数据仓库中,是构建数据仓库的关键问题。本文根据不同数据源的特点,采取不同的抽取策略。一种是针对数据量较大,无法预知数据量级时,采用增量抽取策略,例如,一些在线监测数据,由于监测设备每天都会产生大量的监测数据,全部抽取是不可能的,因此采取增量抽取策略,只抽取当天的实时数据进行查看;另一种是针对一些特殊场景数据,例如在抽取海绵城市建设中与区域地理位置相关的数据时,本身其数据量是确定的,同时数据量也不是很大,可以采用全量抽取策略。
2)数据转换和清洗。由于海绵城市涉及海量的多源异构数据,数据源多而杂,数据格式和存储形式多而繁杂,针对这一问题,在进行数据抽取后,需要对抽取的数据进行统一的格式转换,通常采用以下几种方法:字段的映射与运算、字段的拆分与合并、日期运算和聚合运算等。在对数据转换后,将系统中出现的相同、不完整、定义模糊的数据进行筛选,可以通过首先抽取一小部分数据检测所抽取的数据是否符合要求,若不符合要求则将其剔除,然后对目标数据进行相应的处理和纠正。
3)数据加载。数据加载是构建数据仓库的重要一步,加载的方法主要分为全量加载和增量加载,其中全量加载是将全表删除后再进行重新数据加载,增量加载是只更新变化的数据源和受影响的数据源。两种方法视情况而定,在前期数据量较小或者每次抽取有1/4源数据需要更新的情况下,采用全量加载,其余情况采用增量加载。
由于海绵城市工程数据量、数据类型繁多,本研究采用聚类分析K-means算法进行数据挖掘。K-means算法的原理是在n个数据对象中,依据条件选择k个对象,作为初始聚类中心,然后依据聚类中心对象,计算每个对象到均值之间的距离值,完成后再以最小距离为依据重新划分,重复上述过程,直到准则函数收敛[10]。平方误差的准则定义公式为:
(1)
其中,x为簇内样本;u为簇的中心;E值越小,说明簇内样本距离越小,相似度越高。
本研究首先指定K个点作为初始聚类中心,计算每个点离中心的距离,将其归到与其最近的簇,形成k个簇;然后再计算每个簇的均值,再将其归到与之最近的簇,如此往复,直至不再发生变化或达到最大迭代次数为止[11]。
海绵城市工程存在大量异构数据,包括地理信息数据、工程建设数据、模型数据、原有设备数据等,将这些数据录入集成平台,实现数据的调用、查看、分析及可视化管理。
基于物联网、大数据、云计算等技术,实现远程数据及雨情数据的同步监控,涵盖设施,设备,仪表,雨量、流量、液位、水质等多项指标的监测数据接入集成平台,实现层、分类、分区的智能监测并可进行人工采样复核的监测管理方案,可对各项数据进行查询,分析及可视化管理。
海绵城市工程在建设过程以及运维过程中将产生大量异构数据,将这些数据进行处理加工后接入集成平台,实现运行管理过程的实时记录,并可对建设文档、设备档案、运维任务、运维报表、运维考核等数据进行查询、分析及可视化管理。
数据管理是海绵城市工程数据集成平台的核心模块,通过该模块可进行多类型多格式数据的批量输入与输出,支持数据生成数据表、趋势线、分布图等多种展示形式,方便管理者更清晰直观的进行决策。同时提供数据统计分析功能,帮助管理者快速、准确的分析工作的重难点问题。
针对海绵城市工程中大量种类繁多的数据,对数据集成需求进行分析,提出基于数据仓库的海绵城市工程数据集成方案,将小寨海绵城市中的数据进行统一集成,并通过海绵城市工程数据集成平台实现数据可视化,为小寨海绵城市智慧管控系统提供有力的数据支撑。