露天矿卡车调度系统数据库设计与实现
2015-03-28杜久升陈宜金
杜久升 王 莉 侯 争 陈宜金
(1. 河南理工大学测绘与国土信息工程学院,河南 焦作454000;2. 河南工业和信息化职业学院能源工程系,河南 焦作454000;3. 中国矿业大学( 北京) 地球科学与测绘工程学院,北京100083)
现代化的露天采矿正朝着规模大型化、管理信息化、技术科学化、环境环保化的方向发展[1]。露天矿生产过程中地面运输尤为重要,在采矿设备总投资中,运输设备投资约占60%,甚至更高,运输成本占采矿总成本的50%以上[2]。卡车调度系统集多项高新技术于一体,是提高露天矿生产能力、节省投资、提高矿山管理效率的有效手段[3]。数据库是露天矿卡车调度软件系统的核心[4],近年来针对露天矿数据库的研究主要包含如下几类: ①以采矿为目的,完成矿山排产、精细化开采、边坡预警等功能[5-7]; ②以地质研究为目的,管理矿山地质数据,进行地质灾害监测;③偏重基于AutoCAD 的图形显示或建模,仅利用小型数据库( Access) 提供辅助数据管理功能[8-10]; ④以卡车调度为目的,使用Access、SQL Server 等软件构建数据库,主要用于存储属性数据。可见,当前的露天矿数据库多未顾及空间数据的存储及空间分析;但是,卡车调度系统涉及诸多空间数据,例如重要区域的边界、运输路径、设备的位置和运行轨迹等。因此,构建适用于露天矿卡车调度系统的空间数据库已成为亟待解决的问题。
本研究选用SQL Server 2008 作为数据库管理系统,该软件不仅是当前主流的关系型数据库,而且具备专门的空间数据类型( Geometry 和Geography) ,可满足卡车调度系统所需空间数据的存储及分析的需求[11]。以内蒙某露天金矿为研究实例,以需求分析为出发点,进行数据库的设计与实现,在完成属性数据管理的基础上,利用空间数据的特性实现矿区基础空间数据存储、车辆位置显示、轨迹回溯、卡车工作量自动统计等功能。矿区实验表明:该数据库运行状态良好;工作量统计快速、准确;SQL Server 空间数据类型的使用,避免了传统管理模式下人工统计的弊端及其引发了各种不合理现象,充分体现了将空间分析引入卡车调度系统的优势。
1 需求分析
1.1 功能需求
露天矿卡车调度系统是针对生产实际建立的辅助生产管理、监控、统计、决策系统。该系统以矿山数据库为核心,综合利用无线通讯、计算机软件等技术,通过无线网络集成各个生产指挥环节。旨在提高露天矿生产管理效率、辅助决策、降低企业成本,在一定程度上改善管理人员工作环境,使露天矿生产管理更加精准、高效、科学、人性化。卡车调度系统的功能需求因各个露天矿具体情况而略有差异,本研究以内蒙某露天矿为例,经过调查分析其功能需求如下。
(1) 用户权限管理。基于系统安全性、共享性考虑,要求软件根据用户的不同操作需求,为各类用户赋予相应权限。
(2) 矿区地图管理。一方面,需要以图形方式显示矿区基础空间信息——运输路径、重要区域( 装载区、排土场、破碎站) ,作为可视化平台的底图。另一方面,当上述基础数据发生变化,应及时更新地图数据,以确保系统的现势性。
(3) 车辆位置监控。①车辆位置实时监控,具体功能包括根据GPS 定位数据,实时显示车辆位置;按照用户设定的条件,筛选目标车辆; 以矿区重要区域为依据,显示各个区域的车辆排队状况,以便对车辆的调度和导航[12]。②通过系统随时查询车辆运行的历史信息,实现运行轨迹回溯。
(4) 车辆实时调度。在完成日常车辆排班的基础上,考虑到依照实际生产运行状态,通过无线网络,实现车辆的实时调度。
(5) 生产报表生成。实现工作量自动统计,生成各类生产报表,诸如采场出车单、运岩工作量统计表、运矿工作量统计表等。工作量自动统计需利用空间分析实现,也是本研究的重点。
(6) 车辆胎压监控。要求监控系统可以实时显示所有车辆轮胎压力数据,对超限情况予以预警,以确保生产安全。
(7) 矿区视频监控。建立矿区视频监控系统,即可直观地查看生产运行情况,又可在必要时对重大事件进行回放。
根据需求分析,该矿区卡车调度系统的整体架构如图1 所示。
图1 系统结构Fig.1 System structure
1.2 数据需求
露天矿卡车调度系统的数据需求主要包括[13]:
(1) 生成和处理生产数据的准确性与实时性。
(2) 实际生产数据与数据库数据的一致性。
(3) 数据的共享性与独立性。
(3) 数据可以满足多种查询、统计的需求,并可生成多种生产报表。
系统内所有数据均由数据库统一管理,数据的共享与交换由各个功能模块通过访问数据库完成,以此满足系统的数据需求。系统的数据流向如图2 所示。
图2 系统数据流Fig.2 System data flow diagram
2 数据库设计
数据库设计是卡车调度系统开发的核心,其设计是否合理直接影响到软件架构以及数据处理效率[14]。在遵从常用卡车调度系统数据库设计方法的基础上,旨在利用SQL Server 2008 提供的空间数据类型Geography 来处理系统中的空间数据,实现空间数据的存储及工作量自动统计。鉴于此,只阐述与空间数据的处理相关的数据库设计内容,其余工作不予赘述。
2.1 概念结构设计
概念结构设计的主要任务是将用户需求抽象为信息结构,即概念模型。根据用户需求,结合研究重点,分析与空间相关的需求,可以抽象出以下几类实体。
(1) 节点。初始化矿区基础空间数据所需的基础点数据,多为通过测量获得的控制点或碎部点,也可能包含由已有图件( 如Auto CAD、南方Cass) 转化得来的坐标点。节点是构成矿区其他空间信息的基础数据,其属性信息包括点号和点位信息。
(2) 区域。矿区各类重要区域的集合,主要包括装载区( 装岩区、装矿区) 、排土场、破碎站,个别矿区设置有维修场、轮胎场等区域。区域边界由一系列节点确定,其基本属性为区域编号、区域名称、区域类型、区域边界、数据更新时间;各类区域还可能具备特定属性,例如,装载区的属性还包含装载半径、排队半径。
(3) 路径。就露天矿而言,运输路径是其最重要的基础空间数据,路径由一系列节点确定,起讫点均为区域,其属性为路径编号、路径名称、起点区域号、终点区域号、道路等级、通行状态、路径空间数据、长度、数据更新时间。
(4) 车辆运行轨迹。记录车辆运行过程中相关位置及状态信息,以便于满足车辆位置显示、轨迹回溯、工作量自动统计的需求。其属性为车号、司机编号、班编号、运行状态、负载状态、负载物料、状态改变时间、当前位置、当前时间。
实体-联系模型( 简称E-R 模型) 由实体集、属性和联系集构成,适用于表达数据库概念模型中各实体及其相互联系。上述空间实体及其主要属性可由图3 所示E-R 模型表示。
2.2 逻辑结构设计
E-R 模型是用户的模型,它独立于任何一个具体的数据库管理系统( Database Management System,DBMS) 。为了建立用户所要求的数据库,需将概念模型转换为某个具体的DBMS 所支持的数据模型,这正是数据库逻辑设计的任务。逻辑设计需要考虑到具体DBMS 的性能、具体数据模型的特点,通常分为3 步完成:①初始关系模式设计;②关系模式规范化;③模式的评价与改进[15]。
图3 空间实体的E-R 模型Fig.3 Entity-relationship model of spatial entity
本研究选用SQL Server 2008 作为露天矿卡车调度系统DBMS,如前所述,其突出优势在于可以使用Geography 数据类型处理空间数据。结合此项优势,遵循逻辑设计步骤,对卡车调度系统所涉及的空间数据进行逻辑结构设计,可获得下述主要逻辑模型。
(1) 节点( 节点编号,节点数据) 。
(2) 区域类型( 区域类型编号,类型描述) 。
(3) 区域节点( 区域编号,区域名称,区域类型,节点列表,修改时间) 。
(4) 装矿区域( 装载区编号,区域名称,区域空间数据,装载半径,排队半径,状态改变时间) 。
(5) 装岩区域( 装载区编号,区域名称,区域空间数据,装载半径,排队半径,状态改变时间) 。
(6) 排土场( 卸载区编号,卸载区名称,区域空间数据,状态改变时间) 。
(7) 破碎站( 破碎站编号,破碎站名称,状态,区域空间数据,状态改变时间) 。
(8) 维修场( 维修场编号,维修场名称,状态,区域空间数据,状态改变时间) 。
(9) 轮胎场( 轮胎场编号,轮胎场名称,状态,区域空间数据,状态改变时间) 。
(10) 路径节点( 路径编号,路径名称,装载点,卸载点,节点列表,修改时间) 。
(11) 路径( 路径编号,路径名称,路径起点,路径终点,数据采集方式,道路等级,通行状态,空间数据,长度,平均坡度,更新时间) 。
(12) 车辆位置( 车辆编号,司机编号,路径编号,所在班,负载状态,物料,运行状态,当前位置,状态改变时间,已完成路径,所在区域) 。
(13) 车辆轨迹( 车辆编号,司机编号,班编号,路经编号,物料,运行状态,负载状态,状态改变时间,当前位置,当前时间) 。
2.3 物理结构设计
逻辑结构设计阶段已经考虑到SQL Server 2008软件的特点,为物理结构设计顺利推进奠定了良好基础。本研究中各项物理结构指标均采用系统默认值,如存储结构、访问方法、存放位置、用户并发数等。数据库实施通过以下步骤完成。
(1) 使用SQL 语言或Management Studio 创建数据库。
(2) 将逻辑模型转换为数据表及其中字段,创建数据表及视图,并设置主键、建立必要索引。
(3) 根据数据表间联系设置外键,根据数据触发流程建立触发器,根据数据处理需要构建存储过程、函数。
(4) 为数据库建立安全策略,如访问方式、登录名及密码、加密等。
3 关键技术实现
3.1 空间数据
空间数据存储复杂,SQL Server 2008 引入了2 种新的空间数据类型( 其区别如表1 所示) : Geometry类型用于存储平面空间数据; Geography 类型用于存储地理空间数据,用经度和纬度表示空间坐标。为与GPS 数据配合使用,建议采用Geography 数据类型存储空间数据。
表1 数据类型分析Table 1 Analysis of data types
2 种类型均用内置于SQL Server 的Common Language Runtime 实现,其实质是. NET CLR data type[16]。它们既可以描述点( Point) 、线( Curve) 、面( Polygon、Surface) 以完成空间数据储存,又提供了一系列的空间关系判断方法。例如,某点是否在某线上,某个面是否包含或被包含于另一面[17]。前者可以满足本研究中基础空间数据存储的要求,而工作量统计主要基于判断车辆运行位置与各个区域的空间关系来实现。
3.2 基础空间数据存储
3.2.1 数据预处理
根据需求分析及概念设计的要求,原始数据主要包括节点、路径、区域。节点是组成区域和路径的三维点,节点提取应遵循以下原则。
(1) 完整性。按照区域编号、路径编号,逐一从基础图件中提取节点信息,以确保数据无遗漏。
(2) 唯一性。利用Visual Studio 2013 平台、C#语言编写程序,自动剔除与已有路径、区域边界重复的点,并且按顺序记录当前区域边界、运输路径所用到的节点编号,以“* . txt”格式存储。
(3) 坐标统一。为与车辆GPS 定位数据相适应,将节点坐标转换为WGS-84 坐标。
继而,获取矿区各区域信息,确定区域边界与节点的对应关系( 表2) 。最后,处理路径信息,确定路径与节点的对应关系( 表3) 。按照惯例将装载点作为路径的起点,卸载点( 排土场、破碎站) 作为路径的终点。最终以“* . txt”格式存储这两项对应关系。
表2 区域节点对应Table 2 Regional node mapping
表3 路径节点对应Table 3 Path node mapping
3.2.2 数据入库
采用Visual Studio 2013 平台、C#语言编写外部程序,将存储于“* . txt”文件中的节点坐标数据、区域节点数据、路径节点数据存入数据库。数据库内部,通过Geography 类型的熟知文本( Well - Known Text,WKT) 表示形式实现文本向空间数据的转换,最终生成露天矿的区域、路径。
(1) 存储节点。外部程序提供节点信息,在SQL Server 2008 中构建存储过程,以WKT 形式定义Geography 类型的点( POINT) 存储节点,即可将节点信息转化为空间数据存入节点表( node) ,访问该表可以看到空间结果。
(2) 存储区域。外部程序将表2 所示的“区域节点对应表”中相关数据存入区域节点表( areanode) ,SQL Server 2008 自动执行为该表编写的触发器:将区域节点数据转化为区域边界的坐标序列,以WKT 形式定义Geography 类型的区域( POLYGON) 存储空间数据,再根据区域类型将各个区域存入相应区域表中。其数据存储过程如图4 所示,图5 为存储后的区域空间。
图4 区域存储Fig.4 Regional storage
图5 区域图Fig.5 Regional map
(3) 存储路径。外部程序将表3 所示的“路径节点对应表”中相关数据存入路径节点表( pathnode) ,SQL Server 2008 自动执行为该表编写的触发器: 以WKT 形式定义Geography 类型的线( LINESTRING)数据存储路径,其数据存储过程如图6 所示,图7 为存储后的路径空间。
图6 路径存储Fig.6 Path storage
图7 路径图Fig.7 Path map
3.3 卡车工作量统计
如图8 所示,图中黑色点为车辆运行轨迹。要实现车辆工作量自动统计,需先准确判断车辆位置与装载区、卸载区及其他重要区域的空间关系,再辅以逻辑判断。
图8 车辆运行轨迹Fig.8 Vehicles running path
3.3.1 Geography 方法
Geography 数据类型提供了多种内置方法,以满足对空间数据操作的基本需求,主要包含3 类: ①查询Geography 实例的属性和行为。例如,查询构成实例的点数、实例的起点、终点;查询实例的面积、长度;判断实例是否闭合等。②操作Geography 实例创建新的Geography 实例。例如,创建实例的缓冲区; 利用实例的交集、并集或差集创建新的实例等。③确定Geography 实例间的关系。例如,确定2 个实例是否相交;确定2 个实例的交点; 确定2 个地域实例之间点的差异等。
判断车辆位置与区域空间关系的实质即为判断两者( POINT 与POLYGON) 是否相交,Geography 类型的STIntersects 方法可完成此判断。
3.3.2 工作量统计方法
以上述空间关系判断为基础,根据车辆位置变化,提取其运行状态发生变化时的信息,可实现工作量自动统计。统计流程如图9 所示,其中@inAreaID代表车辆所在区域的编号,如果车辆不在任何区域则该值为0。
如图9 所示,车辆运行状态发生变化时各项信息均被存入数据表VehicleEstate,该表内容如图10 所示。利用Visual Studio 2013 平台、C#语言编写外部程序访问此表,可实现以EXECL( * . xls、* . xlsx) 格式输出矿区生产所需的生产报表,诸如采场出车单、运岩工作量统计表、运矿工作量统计表等。
图9 统计流程Fig.9 Statistics flowchart
图10 车辆运行状态统计Fig.10 Statistics of vehicle operation estate
4 结 论
(1) SQL Server 中空间数据类型Geography 的引入,使得露天矿卡车调度系统数据库能够更好地存储与管理相关空间数据,为实现空间分析奠定了基础。
(2) 基于空间关系判断的卡车工作量自动统计方法,不仅具有统计准确、高效的优点,而且避免了传统管理模式下人工计数的弊端及其引发的各种不合理现象,充分体现了在卡车调度系统中应用空间分析的优势。
(3) 本研究实现了卡车工作量自动统计,下一步研究中可以考虑通过判断挖掘机、卡车及各个区域之间的空间关系实现挖掘机工作量的自动统计,从而完善露天矿卡车调度系统,更好地辅助生产管理。
[1] 周 英,曹云江. 浅谈露天矿生产调度的现代化[J].露天采矿技术,2010( S1) :108-109.
Zhou Ying,Cao Yunjiang. On the modern open-pit mine production scheduling[J]. Opencast Mining Technology,2010( S1) :108-109.
[2] 高永涛,吴顺川.露天采矿学[M].长沙:中南大学出版社,2010.
Gao Yongtao,Wu Shunchuan. Open Pit Mining Science[M]. Changsha:Central South University Press,2010.
[3] 杨志勇.卡车调度系统专题数据库的建立[J]. 露天采矿技术,2006(6) :29-30.
Yang Zhiyong. Establishment of thematic databases on truck dispatch system[J]. Opencast Mining Technology,2006(6) :29-30.
[4] 冯建宏,李 东,赵秀峰.露天矿卡车调度软件系统构成方法的研究[J].露天采煤技术,1999(4) :33-34.
Feng Jianhong,Li Dong,Zhao Xiufeng. Research on the open-pit truck dispatching software system design method[J]. Opencast Coal Mining Technology,1999(4) :33-34.
[5] 杨 军,宋 磊,张 鹏. 露天矿边坡位移监测GIS 可视化分析研究[J].金属矿山,2012(11) :113-115.
Yang Jun,Song Lei,Zhang Peng. Research on slope displacement monitoring data GIS visualization analysis of an open-pit mine[J].Metal Mine,2012(11) :113-115.
[6] 任高峰,张卅卅,赵利坤,等. 露天矿精细化开采信息采集与处理系统设计[J].金属矿山,2013(11) :110-113.
Ren Gaofeng,Zhang Sasa,Zhao Likun,et al. Design of information collection and processing system on surface refined mining[J]. Metal Mine,2013(11) :110-113.
[7] 戴小平,王 敏,王山东. 时空数据模型在露天矿排产中的应用[J].金属矿山,2008(8) :85-87.
Dai Xiaoping,Wang Min,Wang Shandong. Application of spatiotemporal data model in the mining scheduling for strip mines[J]. Metal Mine,2008(8) :85-87.
[8] 赵 浩,白润才,刘光伟,等. 基于AutoCAD 的露天矿三维建模与应用研究[J]. 化工矿物与加工,2011(1) :32-35.
Zhao Hao,Bai Runcai,Liu Guangwei,et al. Research on three-dimensional modeling and application of the open mine based on Auto-CAD platform[J]. Industrial Minerals & Processing,2011( 1) :32-35.
[9] 陈立强. 基于AutoCAD 平台的信息技术在露天矿的开发应用[J]. 金属矿山,2014(12) :163-168.
Chen Liqiang. Development and application of information technology based on AutoCAD platform in the open mine[J]. Metal Mine,2014(12) :163-168.
[10] 宋伟东,耿春雨,于国栋,等.露天矿虚拟采场模型的构建与应用[J].测绘科学,2011(1) :81-83.
Song Weidong,Geng Chunyu,Yu Guodong,et al. Construction and application of virtual stope model in the open mine[J]. Science of Surveying and Mapping,2011(1) :81-83.
[11] 杜 莉,张建军. SQL Server 空间数据与地理信息系统平台的无缝集成[J].煤炭技术,2011(9) :160-162.
Du Li,Zhang Jianjun. SQL Server spatial data and geographic information system platform of seamless integrationl[J]. Coal Technology,2011(9) :160-162.
[12] 米宏军. 基于WIFI 的露天矿车辆监控系统研究[D]. 西安:西安建筑科技大学,2013.
Mi Hongjun. Study on Open-pit Mine Vehicle Monitoring System based on WIFI Technology[D]. Xi'an: Xi'an University of Architecture and Technology,2013.
[13] 李万杰.露天矿卡车优化调度系统数据库开发[D]. 大连: 大连理工大学,2012.
Li Wanjie. Database Development of Open-pit Trucks Optimized Dispatching System[D]. Dalian: Dalian University of Technology,2012.
[14] 王 珊,萨师煊. 数据库系统概论[M]. 北京: 高等教育出版社,2006.
Wang Shan,Sa Shixuan.Database System Introduction[M]. Beijing:Higher Education Press,2006.
[15] 陈志泊.数据库原理及应用教程[M]. 北京:人民邮电出版社,2014.
Chen Zhibo. Database Theory and Application Guide[M]. Beijing:People Post Press,2014.
[16] 曾 毅.SQL Server 数据库技术大全[M].北京: 清华大学出版社,2009.
Zeng Yi.SQL Server Database Technology Encompassing[M]. Beijing:Tsinghua University Press,2009.
[17] 赵会兵.基于SQLServer2008 的空间分析研究[D]. 湘潭: 湖南科技大学,2010.
Zhao Huibing. Study on Spatial Analysis Based on SQL Server 2008[D]. Xiangtan: Hunan University of Science and Technology,2010.