王 琦,張廣學,馬賀平,曹品廉,陳 強,陳 春
(1.山東科技大學 測繪科學與工程學院,山東 青島 266590;2.兗州煤業(yè)股份有限公司 濟寧三號井煤礦,山東 濟寧272169;3.上海盛圖遙感工程技術有限公司,上海 200000)
礦區(qū)開采沉陷預計實現(xiàn)與可視化表達
王 琦1,張廣學2,馬賀平3,曹品廉1,陳 強2,陳 春2
(1.山東科技大學 測繪科學與工程學院,山東 青島 266590;2.兗州煤業(yè)股份有限公司 濟寧三號井煤礦,山東 濟寧272169;3.上海盛圖遙感工程技術有限公司,上海 200000)
對礦區(qū)開采沉陷預計的基本原理和ArcGIS Engine編程的特點與方法進行闡述。結合概率積分法在礦區(qū)開采沉陷預計中的應用,探索礦區(qū)開采沉陷預計可視化的表達方法。在礦區(qū)沉陷監(jiān)測數(shù)據(jù)管理和預計分析系統(tǒng)開發(fā)的基礎上,應用C#語言進行ArcGIS Engine組件式編程,實現(xiàn)了礦區(qū)開采沉陷預計的功能程序模塊。將此功能模塊與沉陷監(jiān)測數(shù)據(jù)管理模塊集成后,提高了工作效率。此方法可為后續(xù)軟件的設計與開發(fā)提供借鑒。
ArcGIS Engine;C#;礦區(qū)沉陷預計;可視化表達
概率積分法是我國目前用于開采沉陷預計最為廣泛的方法。研究和開發(fā)適合于礦區(qū)自身生產(chǎn)實際的數(shù)據(jù)處理終端,按照概率積分法等理論將沉陷預計結果以多種可視化手段進行地表沉陷規(guī)律的表達,對礦區(qū)實際生產(chǎn)的指導具有重要意義[1,2]?;诖耍柚鶪IS平臺運用ArcGIS Engine組件式編程,在礦區(qū)沉陷監(jiān)測數(shù)據(jù)管理與預計分析系統(tǒng)開發(fā)的基礎上,對礦區(qū)開采沉陷預計的實現(xiàn)與可視化表達方法進行了探索。應用面向?qū)ο笏枷氲脑O計架構,實現(xiàn)了概率積分法沉陷預計可視化表達的程序模塊,以滿足礦區(qū)實際生產(chǎn)的需要。
基于ArcGIS Engine編程是一種組件式GIS軟件開發(fā)模式。ArcGIS Engine(9.X)組件模型源于ArcObjects組件庫,包含了大部分ArcObjects組件庫的對象模型,而且獨立于ArcInfo Desktop軟件平臺,降低了開發(fā)GIS應用軟件的成本。
在C#、Java等高級語言環(huán)境中引用ArcGIS Engine對象庫,應用這些對象庫中的接口、類等便可以操作各種空間數(shù)據(jù);另外,ArcGIS Engine軟件還提供了MapControl、TocControl、工具條等可視化的控件來顯示、管理空間數(shù)據(jù)和用于輔助操作圖形與空間分析等,這些控件和工具條可以直接加載到界面中,簡化和降低了開發(fā)過程與開發(fā)難度[3,4]。
概率積分法是基于隨機介質(zhì)理論的開采沉陷預計模型。它將單元開采引起上覆巖層的下沉視為隨機事件,以事件發(fā)生的概率來描述巖體的沉降可能性和沉降量,開采單元上覆面積各自發(fā)生下沉的概率服從密度為f(x)的分布函數(shù)[5]。
2.1 地表移動盆地內(nèi)任意點的下沉值
在三維情況下,若煤層是水平的,煤層坐標系tos和地面坐標系xoy的水平投影重合,則單元B(s,t)的開采引起地表任意點A(x,y)的下沉為We(x,y)
若煤層的頂板下沉量為W0,開采范圍為O1CDE如圖1所示, DE長為D3,CD長為D1,則整個開采引起A點的下沉為[6]:
圖1 空間坐標系與開采煤層
2.2 地表移動盆地內(nèi)任意點的傾斜值
地表點A(x,y)在φ方向傾斜值i(x,y,φ)為下沉W(x,y)在φ方向的變化率,φ為從x軸的正向逆時針計算到指定方向的角值,即為W(x,y)在φ方向的方向?qū)?shù),且有:
將地表移動盆地內(nèi)任意點的下沉表達式代入式(2)并化簡,可以得到地表移動盆地內(nèi)任意點的傾斜值表達式[7,8]:
2.3 地表移動盆地內(nèi)任意點的曲率值
地表點A(x,y)在φ方向的曲率k(x,y,φ)為傾斜i(x,y,φ)在φ方向的變化率,即為i(x,y,φ)在φ方向的方向?qū)?shù),且有:
將地表移動盆地內(nèi)任意點的傾斜表達式代入式(4)并化簡,可以得到地表移動盆地內(nèi)任意點的曲率表達式[6,8]:
2.4 地表移動盆地內(nèi)任意點的水平移動值
根據(jù)水平移動與傾斜成正比的關系,可得到地表移動盆地內(nèi)任意點的水平移動值表達式:
2.5 地表移動盆地內(nèi)任意點的水平變形值
同理,根據(jù)水平變形與曲率成正比的關系,可得到地表移動盆地內(nèi)任意點的水平變形值:
礦區(qū)開采沉陷預計有多種可視化表達方法,在這里我們采用由TIN生成等值線的方法,并對生成的等值線進行平滑操作。
3.1 礦區(qū)開采沉陷預計步驟
1)根據(jù)工作面和巖移參數(shù)生成工作面面域;
2)將其按照一定角度旋轉(zhuǎn)至適于建立計算坐標系的位置;
3)在旋轉(zhuǎn)后的面域影響范圍內(nèi)按照一定間距生成預計點;
4) 根據(jù)概率積分法計算預計點的值(包括下沉預計、傾斜預計、曲率預計、水平移動預計、水平變形預計);
5)根據(jù)預計值生成TIN,然后由TIN生成等值線(包括下沉等值線、傾斜等值線、曲率等值線、水平移動等值線、水平變形等值線);
6)對由TIN生成的等值線進行等值線平滑。
3.2 類和接口的設計
為實現(xiàn)概率積分法沉陷預計的算法和可視化表達,應用和設計了以下幾個接口和類:ITIN接口、ITIN Surface接口、IPolyCurve接口、Predict類和Integral類。
1)ITIN接口由TIN Class類來實現(xiàn),主要用來根據(jù)預計點的預計值生成TIN模型,進行礦區(qū)沉陷區(qū)域空間域的表達。
2)ITIN Surface接口繼承自ISurface接口,由TIN Class類來實現(xiàn),在由TIN生成等值線的過程中主要由接口中的contour方法來完成。
3)IPolyCurve接口繼承自ICurve接口,由PolyLine、Polygon類來實現(xiàn),主要應用接口中的smooth方法來對由TIN生成的等值線進行平滑操作,以達到較好的表達效果。
4)Predict類用于工作面和地質(zhì)采礦條件等參數(shù)的加載、工作面的生成、旋轉(zhuǎn)、取點,預計值的計算、TIN和等值線的生成繪制等功能。
5)Integral類主要用來實現(xiàn)概率積分算法,由于在預計過程中較多地應用到積分算法,為方便起見將其設計成類。
3.3 礦區(qū)開采沉陷預計的實現(xiàn)
1)公共屬性。公共屬性的作用是構造工作面角點、計算坐標系原點、按一定間距所取得的預計點等一系列點,設置計算所用的參數(shù)和獲取計算結果。具體定義如下:
public struct myPoint{……}//構造點的三維坐標。
Public DataTable dtJD{……}//獲取工作面參數(shù)。
Public DataTable ndt{……}//設置巖移參數(shù)。
Public DataTable dt{……}//獲取工作面編號。
Public DataTable dataall{……}//存儲概率積分法預計結果。
2)公共方法。公共方法的功能是根據(jù)獲取的工作面和地質(zhì)巖移參數(shù),應用概率積分法進行預計值的計算、TIN的生成和等值線的繪制。具體定義如下:
public void CreateGZMShpfile(){……}//根據(jù)工作面角點生成工作面面域。
public void CreatePointsShp(){……}//根據(jù)工作面面域影響范圍按照一定間距生成預計點,并獲取預計點的坐標。
public void Rotation Calculate(){……}//根據(jù)概率積分法進行預計值的計算,并將預計結果返回到預計表中。
public void CreateContourListFromShapefile() {……}//根據(jù)預計值生成TIN,由TIN生成等值線,并將結果顯示在地圖窗口中。
public static double GetValueSimpson(double a,double b,double eps) {……}//復化simpson求積公式,其中 a 為積分下限、b為積分上限、eps為容差。
public static double Func(double x) {……}//定義被積函數(shù),其中x為函數(shù)自變量。
3)私有方法。私有方法主要完成了工作面地質(zhì)采礦條件、角點坐標等參與概率積分法計算的參數(shù)的加載,以及等值線修飾的方法,在公共方法里面通過調(diào)用以下方法來完成計算與表達。
private void Getjd(){……}//獲得工作面角點坐標。
private void Loadinfo(){……}//加載地質(zhì)采礦條件。
private void loadparameters(){……}//加載工作面巖移參數(shù)。
private string GetGZMID(){……}//獲取工作面編號。
private myPoint GZMRotation(double angle, myPoint myp) {……}//輸入角點坐標,根據(jù)角度將工作面進行旋轉(zhuǎn)。
private void SmoothContour(IFeatureClass pFeatureClass) {……}//對由TIN生成的等值線進行平滑操作,并將平滑結果顯示在地圖窗口中。
研究區(qū)域為兗礦集團濟三煤礦1 308工作面,工作面長1 480 m,寬600 m,工作面所在區(qū)域位置平坦。根據(jù)工作面地面坐標和工作面大小在工作面影響面域范圍內(nèi)按照一定間距選取了322個預計點,利用開采沉陷預計公式對工作面進行沉陷預計值的計算。圖2為工作面與預計點。
圖2 工作面與預計點
以下沉預計為例,對預計點應用概率積分法進行計算之后,生成TIN模型數(shù)據(jù),并由TIN模型數(shù)據(jù)生成等值線,并對等值線進行平滑。圖3為生成的TIN模型數(shù)據(jù)和等值線數(shù)據(jù)。
應用此種方法得到了礦區(qū)工作面開采沉陷預計的可視化表達結果,將此預計模塊嵌入到礦區(qū)沉陷監(jiān)測數(shù)據(jù)管理與預計分析系統(tǒng)中,可實現(xiàn)礦區(qū)監(jiān)測數(shù)據(jù)管理與沉陷預計功能的集成。
圖3 下沉預計TIN和等值線
基于面向?qū)ο笏枷氲脑O計架構,借助于GIS平臺,應用C#語言,引用ArcGIS Engine對象庫,在礦區(qū)沉陷監(jiān)測數(shù)據(jù)管理與預計分析系統(tǒng)開發(fā)的基礎上,對應用概率積分法進行沉陷預計可視化表達的方法進行了探索和程序設計,能夠按照沉陷預計的要求生成沉陷預計等值線等預計結果,實現(xiàn)了礦區(qū)開采沉陷預計的可視化表達。同時,將沉陷預計程序模塊嵌入到礦區(qū)沉陷監(jiān)測數(shù)據(jù)管理與預計分析系統(tǒng)中,實現(xiàn)了監(jiān)測數(shù)據(jù)管理與沉陷預計功能的集成,較傳統(tǒng)方法便捷高效。沉陷預計程序設計的方法可為后續(xù)軟件的設計與開發(fā)提供借鑒。
[1] 秦爽.基于AE的組件式開采沉陷預計及可視化分析系統(tǒng)研究[D].阜新:遼寧工程技術大學, 2009
[2] 丁凱.基于GIS的礦區(qū)開采沉陷三維可視化技術研究[D]. 淮南:安徽理工大學,2009
[3] 趙相偉,季民,艾波,等.基于ArcGIS Engine的油指紋數(shù)據(jù)可視化表達方法研究[J].現(xiàn)代測繪,2010,33(1):11-12
[4] 馮幼貴.基于GIS的礦山開采地表移動與變形預計[D].青島:山東科技大學,2010
[5] 何國清.礦山開采沉陷學[M].徐州:中國礦業(yè)大學出版社,1994
[6] 曹化平,張程,楊可明,等.基于GIS的礦山開采沉陷信息可視化應用[J].測繪工程,2010,19(3):51-54
[7] 賈小敏.基于ArcGIS Engine的局級開采沉陷數(shù)據(jù)分析與管理系統(tǒng)研究[D]. 淮南:安徽理工大學,2010
[8] 路兵.基于C#的礦山開采沉陷預計可視化系統(tǒng)[D].青島:山東科技大學,2011
P208
B
1672-4623(2015)04-0132-03
10.3969/j.issn.1672-4623.2015.04.047
王琦,碩士,研究方向為GIS應用與開發(fā)。
2014-05-07。
項目來源:國家科技支撐計劃資助項目(2012BAH27B04);高等學校博士學科點專項科研基金資助項目(20113718110001);山東科技大學科研創(chuàng)新團隊支持計劃資助項目(2011KYTD103);上海市科技型中小企業(yè)技術創(chuàng)新基金資助項目(1101H107900)。