摘 要:為了有效解決煤炭單位測(cè)量存煤量,提出了一種實(shí)用、便捷的GPS_RTK盤(pán)煤系統(tǒng)方案,給出了盤(pán)煤系統(tǒng)的可行性分析及基本原理。通過(guò)易語(yǔ)言中文編程語(yǔ)言設(shè)計(jì)并開(kāi)發(fā)盤(pán)煤系統(tǒng)。系統(tǒng)功能部分包括數(shù)據(jù)維護(hù)、DEM重建、體積計(jì)算及成果輸出。詳細(xì)給出了法向量建立凸多邊形算法,逐點(diǎn)插入法建立三角網(wǎng)算法。
關(guān)鍵詞:盤(pán)煤系統(tǒng);軟件設(shè)計(jì);GPS_RTK;三維重建;三角網(wǎng)
1 概述
隨著國(guó)家經(jīng)濟(jì)的快速發(fā)展,采煤技術(shù)的不斷提高,近年來(lái)國(guó)外內(nèi)涌現(xiàn)出了很多年產(chǎn)量超過(guò)千萬(wàn)噸的大型礦井。這些大型礦井往往每旬至少要對(duì)礦內(nèi)所有煤堆的堆煤量進(jìn)行測(cè)算一次,以便實(shí)時(shí)了解煤炭產(chǎn)量,為下一步的生產(chǎn)計(jì)劃提供科學(xué)依據(jù)。
然而,大多數(shù)煤炭礦井目前還是采用人工丈量煤堆煤量。這種方法不僅浪費(fèi)人力物力,而且計(jì)量精度較差。此外,人工丈量還需要推土機(jī)對(duì)煤堆進(jìn)行平場(chǎng),同時(shí)還需要三至四個(gè)人協(xié)作來(lái)進(jìn)行煤堆測(cè)算,不利于管理數(shù)據(jù)化,不利于提高經(jīng)濟(jì)效益。
結(jié)合GPS_RTK地面測(cè)量,設(shè)計(jì)并開(kāi)發(fā)一款盤(pán)煤系統(tǒng)。將快速采集到的煤堆觀測(cè)網(wǎng)數(shù)據(jù)進(jìn)行數(shù)據(jù)篩選,科學(xué)計(jì)算,使盤(pán)煤工作簡(jiǎn)單、快捷、科學(xué),尤為重要。
2 可行性分析
①GPS_RTK基于載波相位觀測(cè)值實(shí)時(shí)定位技術(shù),可以快速采集到煤堆表面各特征點(diǎn)的三維空間數(shù)據(jù),精度可達(dá)到厘米級(jí)精度。使用輕巧便攜,操作簡(jiǎn)單,性能可靠。
②GPS_RTK單次采集特征點(diǎn)三維數(shù)據(jù),給出厘米級(jí)定位結(jié)果,歷時(shí)不到一秒鐘。整個(gè)盤(pán)煤工作只需要單人即可快速完成,省去多人協(xié)作的步驟。
③盤(pán)煤系統(tǒng)數(shù)據(jù)接口與GPS_RTK數(shù)據(jù)接口、AutoCAD圖形文件格式、Excel數(shù)據(jù)格式對(duì)接,方便不同用戶的平臺(tái)搭接。
④盤(pán)煤系統(tǒng)性能可靠,界面友好,操作方便,計(jì)算方法科學(xué)精確。避免人工計(jì)算錯(cuò)誤,減少人工繪圖誤差。
⑤盤(pán)煤系統(tǒng)搭載數(shù)據(jù)維護(hù)模塊,用戶可修改(修正或批量加常數(shù))、導(dǎo)出坐標(biāo)點(diǎn)數(shù)據(jù)。圖形化成果可導(dǎo)出AutoCAD格式,便于成果的查詢(xún)、打印與數(shù)據(jù)共享。
3 盤(pán)煤系統(tǒng)的基本原理
盤(pán)煤系統(tǒng)的基礎(chǔ)數(shù)據(jù)來(lái)源于GPS_RTK采集到的煤堆表面盡可能多的特征點(diǎn)三維空間數(shù)據(jù)(X,Y,Z坐標(biāo))。將這些特征點(diǎn)三維空間數(shù)據(jù)快速導(dǎo)入到盤(pán)煤系統(tǒng)中,系統(tǒng)自動(dòng)對(duì)這些特征點(diǎn)的空間位置信息進(jìn)行逐一比對(duì)校驗(yàn),去除重復(fù)點(diǎn)及錯(cuò)誤點(diǎn)。
利用篩選后的特征點(diǎn)三維空間數(shù)據(jù)構(gòu)建DEM(數(shù)字高程模型),使每個(gè)煤堆形成由多個(gè)三棱柱組成的煤堆觀測(cè)網(wǎng)。
利用每個(gè)三棱柱的平均棱高及底面面積,逐一計(jì)算每個(gè)三棱柱的體積。將所有三棱柱的體積進(jìn)行累加,即得出煤堆的體積。
最后,用煤堆的容重乘以煤堆的體積,獲得煤堆的煤量。
4 系統(tǒng)功能及主要算法
盤(pán)煤系統(tǒng)由四個(gè)模塊組成,它們分別是基礎(chǔ)數(shù)據(jù)維護(hù),DEM(數(shù)字高程模型)重建,體積計(jì)算,成果輸出(如圖1所示)。
4.1 數(shù)據(jù)維護(hù)
由于GPS_RTK采集到的煤堆特征點(diǎn)數(shù)據(jù)可能因基站-移動(dòng)站距離過(guò)大及用戶誤操作,產(chǎn)生重復(fù)點(diǎn)、距離過(guò)遠(yuǎn)或距離過(guò)近的錯(cuò)誤點(diǎn)。盤(pán)煤系統(tǒng)第一步要做的工作就是提供給用戶一個(gè)友好的數(shù)據(jù)維護(hù)界面,并高亮顯示重復(fù)點(diǎn)、距離過(guò)遠(yuǎn)或距離過(guò)近的錯(cuò)誤點(diǎn),以便用戶完成數(shù)據(jù)的新增、修改、刪除、校驗(yàn)工作。
4.2 DEM(數(shù)字高程模型)重建
將所有經(jīng)過(guò)篩選后的特征點(diǎn)三維空間數(shù)據(jù)導(dǎo)入系統(tǒng)后,系統(tǒng)利用逐點(diǎn)插入法構(gòu)建DEM(數(shù)字高程模型)。
逐點(diǎn)插入法構(gòu)建DEM,基本步驟如下:
①首先不考慮特征點(diǎn)的Z坐標(biāo),只考慮特征點(diǎn)的X、Y坐標(biāo)。這樣,所有特征點(diǎn)可視為在同一水平面內(nèi)。利用法向量法對(duì)這些特征點(diǎn)進(jìn)行遍歷,構(gòu)成一個(gè)包含所有特征點(diǎn)的凸多邊形。
②在凸多邊形內(nèi)部建立一個(gè)初始三角形網(wǎng),然后迭代③④步驟,直到所有數(shù)據(jù)點(diǎn)處理完畢。
③插入未處理的數(shù)據(jù)點(diǎn)P,在三角網(wǎng)中找出包含P點(diǎn)的三角形t,連接P與三角形t的三個(gè)頂點(diǎn),生成新的三角形。
④利用局部LOOP算法優(yōu)化三角網(wǎng)。
⑤最后,刪除外部多余三角形。
4.3 體積計(jì)算模塊
通過(guò)DEM的建立,可以清晰的看出煤堆的體積實(shí)際上可剖分為所有三棱柱的體積之和。由于多數(shù)煤炭單位煤場(chǎng)在堆煤前都已經(jīng)過(guò)平場(chǎng),這里我們近似認(rèn)為所有三棱柱的底面和煤堆底面共面。GPS_RTK采集到的煤堆堆底特征點(diǎn)Z坐標(biāo)平均值作為底參考面的高程。
三棱柱體積:V=V=SH
三棱柱的柱高:H=(z+z+z)-h
底參考面的高程:hZ(式中Z為煤堆堆底特征點(diǎn))
三棱柱的底面積:
S=ab·sin<,>
=ab·
=
=
=
在體積計(jì)算模塊中,系統(tǒng)為用戶提供煤堆堆底面積(占地面積)及煤堆體積的實(shí)時(shí)顯示。用戶只需輸入煤的容重,即可得出煤堆的煤量。
4.4 成果數(shù)據(jù)輸出模塊
考慮到數(shù)據(jù)的共享性,本系統(tǒng)搭載數(shù)據(jù)維護(hù)功能和成果數(shù)據(jù)圖形化輸出功能。在數(shù)據(jù)維護(hù)階段,用戶可將數(shù)據(jù)點(diǎn)進(jìn)行新增、修改(修正或批量加常數(shù))、刪除等操作。坐標(biāo)數(shù)據(jù)點(diǎn)可以*.CSV(逗號(hào)分隔Excel文件格式)、*.TXT(制表符或逗號(hào)分隔的文本文件格式)、*.DAT(CASS文件坐標(biāo)格式)輸出。在煤堆體積計(jì)算完成后,用戶可將DEM(數(shù)字高程模型)三角網(wǎng)圖形及煤堆占地面積、容重等文字信息以*.DXF(AutoCAD圖形文件格式)輸出。
5 關(guān)鍵代碼
5.1 法向量建立凸多邊形
XL.起點(diǎn)=尋找MinX (A)
'尋找X坐標(biāo)最小的點(diǎn)最為初始向量XL的起點(diǎn)
刪除成員(XL.起點(diǎn),所有點(diǎn)集)
......
計(jì)次循環(huán)首(1,取數(shù)組成員數(shù)(所有點(diǎn)集))
變量循環(huán)首 (1, 取數(shù)組成員數(shù)(所有點(diǎn)集) , i)
XL.終點(diǎn)=所有點(diǎn)集[i]
L=(XL.終點(diǎn).X坐標(biāo)-XL.起點(diǎn).X坐標(biāo))×(XL.終點(diǎn).Y坐標(biāo)-XL.起點(diǎn).Y坐標(biāo))
'所有點(diǎn)集[i]作為向量終點(diǎn),并記錄每個(gè)向量的斜率l
變量循環(huán)尾 ()
Lmin=尋找MinL(l)
'遍歷所有向量斜率l,尋找斜率最小向量Lmin
刪除成員(Lmin.終點(diǎn),所有點(diǎn)集)
加入成員(Lmin.終點(diǎn),凸多邊形點(diǎn)集)
L.起點(diǎn)=Lmin.終點(diǎn)
......
計(jì)次循環(huán)尾 ()
5.2 DEM建立
計(jì)次循環(huán)首(1,取數(shù)組成員數(shù)(三角網(wǎng)))
t=初始三角形()
'構(gòu)建初始三角形t
......
變量循環(huán)首 (1, 取數(shù)組成員數(shù)(p) , i)
L1=(t [2].X坐標(biāo)-t[1].X坐標(biāo))×(t[2].Y坐標(biāo)-t [1].Y坐標(biāo))-(p[i].X坐標(biāo)-t [2].X坐標(biāo))×(p[i].Y坐標(biāo)-t [2].Y坐標(biāo))>0
'判斷p[i]點(diǎn)是否在向量t.[1]→t[2]的左(右)側(cè)。如果p[i]在向量t[1]→t[2]左(右)側(cè),則L1為真
L2=(t [3].X坐標(biāo)-t[2].X坐標(biāo))×(t[3].Y坐標(biāo)-t [2].Y坐標(biāo))-(p[i].X坐標(biāo)-t [3].X坐標(biāo))×(p[i].Y坐標(biāo)-t [3].Y坐標(biāo))>0
L3=(t [1].X坐標(biāo)-t[3].X坐標(biāo))×(t[1].Y坐標(biāo)-t [3].Y坐標(biāo))-(p[i].X坐標(biāo)-t [1].X坐標(biāo))×(p[i].Y坐標(biāo)-t [1].Y坐標(biāo))>0
如果真 (L1 且 L2 且 L3)
'如果p[i]點(diǎn)在三角形t三邊組成向量的同一側(cè),則說(shuō)明p[i]點(diǎn)在三角形t內(nèi)部
加入三角形集(t[1],t[2],p[i])
'連接t[1],t[2],p[i],組成新的三角形
加入三角形集(t[2],t[3],p[i])
加入三角形集(t[3],t[1],p[i])
如果真結(jié)束
......
變量循環(huán)尾 ()
......
計(jì)次循環(huán)尾 ()
6 結(jié)束語(yǔ)
本系統(tǒng)利用GPS_RTK的數(shù)據(jù)采集功能在煤堆觀測(cè)網(wǎng)上進(jìn)行數(shù)據(jù)采集,通過(guò)逐點(diǎn)插入法將采集到的煤堆特征點(diǎn)三維空間數(shù)據(jù)進(jìn)行三維重建,計(jì)算煤堆體積達(dá)到煤量測(cè)算的目的,使盤(pán)煤工作簡(jiǎn)單化、精細(xì)化,盤(pán)煤成果數(shù)據(jù)化、圖形化,便于煤礦單位存煤管控和效益評(píng)估工作,發(fā)展前景廣闊。
參考文獻(xiàn):
[1]劉云,夏興東,黃北生.基于分治算法與逐點(diǎn)插入法的Delaunay三角網(wǎng)建立算法的改進(jìn)[J].現(xiàn)代測(cè)繪,2010(04):14-16.
[2]李礦偉.GPS-RTK測(cè)量技術(shù)在礦山的應(yīng)用[J].科技與企業(yè),2015(5):114-114.
作者簡(jiǎn)介:
軒立軍(1987-),助理工程師,2010年畢業(yè)于河南理工大學(xué)測(cè)繪工程專(zhuān)業(yè),現(xiàn)任神華寧夏煤業(yè)集團(tuán)金鳳煤礦地測(cè)科技術(shù)員。