一种基于轨迹矢量图的矿山车辆运输次数自动提取方法
2020-11-19冯治东顾清华阮顺领张雪飞
冯治东,顾清华,阮顺领 ,张雪飞
(1.洛阳栾川钼业集团股份有限公司 博士后工作站,河南 洛阳 471500l;2.西安建筑科技大学 资源工程学院,陕西 西安 710055; 3.榆林学院 信息工程学院,陕西 榆林 719000;4.内蒙古广纳煤业集团 信息科技有限公司,内蒙古 乌海 016000)
我国煤炭、冶金、化工、有色金属等行业有数量众多的大型汽车运输矿山,在此过程中车辆的运输量统计是矿山日常工作的重要内容之一,直接影响着矿岩采玻量计算,短期质量控制反馈,及工作量考勤核算等重要环节,但人工统计方式不仅工作量巨大,且由于人工本身不具有客观性,导致误差较大。
在矿山生产过程中,人们将定位终端安装于运输车辆,车辆的历史运输过程及轨迹数据实时存储于数据库之中,通过将车辆的历史轨迹数据进行可视化显示,统计人员便可获知车辆的总运输次数,以便核算各车辆的工作量。
目前,人们主要通过人工观察轨迹线,在地图上逐个记录轨迹线的方法统计车辆运输次数,这种方法工作效率低下,随着轨迹数量的增多,人工统计的难度、速度和误差率无法被矿山企业统计工作要求所接受。
深部开采、绿色开采和智能开采已成为我国甚至国际矿业开采的关键主攻方向,其中智能开采理论和方法逐渐成为矿业系统工程领域的关键内容[1,2]。信息或数据技术、人工智能开始成为促进安全生产、提高管理效益和推动智能开采发展战略的重要组成部分,信息化管理及自动统计成为矿山车辆运输统计工作的主要趋势之一[3-7]。有学者提出借助RFID技术[8],在关键收矿点安装射频读卡器,车辆端通过刷卡自动记录次数,该方法可靠性较强,但无法应对换卡作弊现象。也有学者通过数据挖掘及GPS自动统计方法[9,10],计算车辆运输次数,但由于定位漂移或数据丢失等情景,在没有人工核实确认情况下,该方法准确率较差,误差率较高。矿山地磅系统具有较好的稳定性和可靠性,但其成本巨大,众多矿山无法接受。
为此,作者提出了一种基于轨迹矢量图的矿山车辆运输次数自动提取方法,通过计算机自动计算次数,解决了现有的车辆运输次数统计工作效率低的问题。
1 自动次数提取的基本原理及步骤
基本思路:如图1所示,首先回放车辆所有轨迹,绘制出历史轨迹矢量图S-E,其次,绘制辅助线P1P2,求出S-E与P1P2的交点个数,最后,车辆运输次数即为交点数的二分之一。
图1 次数提取基本示意图
如图2所示,具体包括以下步骤:
步骤1,设定起点至终点之间的轨迹线包括有n条线段,分别为l1,l2,l3,l4,l5,…ln;设定辅助线P1P2,所述辅助线的两个端点P1、P2分别置于该条轨迹线的两侧,且该起点和终点分别置于该辅助线P1P2的两侧;
步骤2,判断辅助线与线段li是否有交点,并统计辅助线与n条线段之间的总的交点个数,将统计得到的总交点个数作为车辆的单程运输次数。
步骤2中,判断辅助线与n条线段是否有交点的具体方法是,利用向量叉乘法判断辅助线与线段是否有交点。
如图3所示,给出关键推论:辅助线P1P2与线段li有交点当且仅当点P1P2在线段li 两侧且点P3P4在线段P1P2两侧。因此,利用向量叉乘法判断辅助线与n条线段是否有交点的具体方法是:
Step1:设定线段两端点为P3(x3,y3)、P4(x4,y4),辅助线段的两个端点为P1(x1;y1)、P2(x2,y2);
Step2:分别计算P3P1所在向量v1:
v={x1-x3,y1-y3}
(1)
P3P2向量v2:
v2={x2-x3,y2-y3}
(2)
P3P4向量v3:
v3={x4-x3,y4-y3}
(3)
P1P3向量v4:
v4={x3-x1,y4-y1}
(4)
p1p4向量v5:
v5={x4-x1,y4-y1}
(5)
p1p2向量v6:
v6={x2-x1,y2-y1}
(6)
Step3:分别计算
v1,v2向量叉乘:
=v1xv2y-v1yv2x
(7)
向量叉乘:
crossMul(v2,v3)
=v2xv3y-v2yv3x
(8)
向量叉乘:crossMul(v4,v6)
=v4xv6y-v4yv6x
(9)
向量叉乘:crossMul(v5,v6)
=v5xv6y-v5yv6x
(10)
Step4:若 且,则认为辅助线和线段有交点。所述车辆的总运输次数为车辆单程运输次数的二分之一。
图2 次数提取流程图
图3 辅助线和轨迹线段交线原理图
2 计算机实现
作者借助java script对上述自动提取算法进行了计算机实现,其中判断是否相交逻辑如下:
function is Cross(p1,p2,p3,p4)
{
var v1={x:p1.x-p3.x,y:p1.y-p3.y},
v2={x:p2.x-p3.x,y:p2.y-p3.y},
v3={x:p4.x-p3.x,y:p4.y-p3.y},
//负->在两侧,可能相交;正->同侧,不可能相交
v=crossMul(v1,v3)*crossMul(v2,v3); v1={x:p3.x-p1.x,y:p3.y-p1.y};
v2={x:p4.x-p1.x,y:p4.y-p1.y};
v3={x:p2.x-p1.x,y:p2.y-p1.y};
return (v<=0&&crossMul(v1,v3)
*crossMul(v2,v3)<=0)?true:false;
}
在此基础上,首先提取轨迹图上的所有点,如表1所示。
最后,以上述点为关键点,形成一个多段线(polyline),并根据该文所述方法,在地图上绘制辅助线,并求出辅助线与该多段线的总交点次数即可。
var count = 0;
for(var i = 1;i var p1 = thePoly.getAt(i-1); var p2 = thePoly.getAt(i);if(isCross({x:p1.lat(),y:p1.lng()},{x:p2.lat(),y:p2.lng()},{x:p3.lat(),y:p3.lng()},{x:p4.lat(),y:p4.lng()})) count += 1; } 表1 矢量图上提取到的轨迹点 内蒙古广纳煤业集团有限责任公司,成立于2010年1月13日,注册资本15亿元人民币,是一家大型非公企业,现有员工6000余名。其中集团下属煤矿共有13座,除一座为井工开采外,其余均为露天开采,保有资源储量1.67亿吨,设计生产能力为960万吨/年。现有重介洗煤厂五座,其中在建洗煤厂一座,建成后广纳集团各洗煤厂年总洗选能力可达1350万吨。集团下属焦化厂两座,均采用JT5555D型下喷双联火道废气循环型复热式先进捣固炼焦工艺。可年产焦炭210万吨、焦油8万吨、粗苯2.6万吨、硫铵2.6万吨、硫磺0.4万吨、煤气4亿立方米。 该模块被无缝集成到广纳煤业集团十多个露天矿山的GPS车辆调度系统中。 在该方法之前,每个车辆安装了GPS车载终端,能够将自身轨迹实时上传到云服务器,统计人员通过历史轨迹回放逐个核对车辆运输次数,从而核算工作量及考勤绩效。 然而,当轨迹较多时,人工核对不仅工作量较大且误差率偏高,引进该方法后,统计人员可直接通过绘制辅助性的方式自动提取,工作效率和准确性有了大幅度的提高。应用效果如图4所示。 图4 应用效果图 基于轨迹矢量图的矿山车辆运输次数计算机自动提取方法,借助辅助线,利用向量叉乘的基本原理和技巧,计算辅助线与所有轨迹线的交点数,而交点数即是轨迹总数,统计人员仅需在计算机屏幕上画出辅助线,计算机便可自动提取与该条辅助线相交的轨迹线数量和总运输次数。 该方法在车辆历史轨迹矢量图基础上,借助辅助线,利用计算机自动提取运输次数,克服传统人工记录工作量大、误差高和速度慢等缺点,从而提高统计人员工作效率。据不完全统计,该方法的提取速度是人工的十二倍,准确率提高百分之九。是矿山车辆运输量统计,矿岩采玻量计算,短期质量控制反馈,及工作量考勤核算等工作的强有力智力支持工具,具有较大的推广价值和应用前景。3 应用案例
4 结论