王 琦,张广学,马贺平,曹品廉,陈 强,陈 春
(1.山东科技大学 测绘科学与工程学院,山东 青岛 266590;2.兖州煤业股份有限公司 济宁三号井煤矿,山东 济宁272169;3.上海盛图遥感工程技术有限公司,上海 200000)
矿区开采沉陷预计实现与可视化表达
王 琦1,张广学2,马贺平3,曹品廉1,陈 强2,陈 春2
(1.山东科技大学 测绘科学与工程学院,山东 青岛 266590;2.兖州煤业股份有限公司 济宁三号井煤矿,山东 济宁272169;3.上海盛图遥感工程技术有限公司,上海 200000)
对矿区开采沉陷预计的基本原理和ArcGIS Engine编程的特点与方法进行阐述。结合概率积分法在矿区开采沉陷预计中的应用,探索矿区开采沉陷预计可视化的表达方法。在矿区沉陷监测数据管理和预计分析系统开发的基础上,应用C#语言进行ArcGIS Engine组件式编程,实现了矿区开采沉陷预计的功能程序模块。将此功能模块与沉陷监测数据管理模块集成后,提高了工作效率。此方法可为后续软件的设计与开发提供借鉴。
ArcGIS Engine;C#;矿区沉陷预计;可视化表达
概率积分法是我国目前用于开采沉陷预计最为广泛的方法。研究和开发适合于矿区自身生产实际的数据处理终端,按照概率积分法等理论将沉陷预计结果以多种可视化手段进行地表沉陷规律的表达,对矿区实际生产的指导具有重要意义[1,2]。基于此,借助GIS平台运用ArcGIS Engine组件式编程,在矿区沉陷监测数据管理与预计分析系统开发的基础上,对矿区开采沉陷预计的实现与可视化表达方法进行了探索。应用面向对象思想的设计架构,实现了概率积分法沉陷预计可视化表达的程序模块,以满足矿区实际生产的需要。
基于ArcGIS Engine编程是一种组件式GIS软件开发模式。ArcGIS Engine(9.X)组件模型源于ArcObjects组件库,包含了大部分ArcObjects组件库的对象模型,而且独立于ArcInfo Desktop软件平台,降低了开发GIS应用软件的成本。
在C#、Java等高级语言环境中引用ArcGIS Engine对象库,应用这些对象库中的接口、类等便可以操作各种空间数据;另外,ArcGIS Engine软件还提供了MapControl、TocControl、工具条等可视化的控件来显示、管理空间数据和用于辅助操作图形与空间分析等,这些控件和工具条可以直接加载到界面中,简化和降低了开发过程与开发难度[3,4]。
概率积分法是基于随机介质理论的开采沉陷预计模型。它将单元开采引起上覆岩层的下沉视为随机事件,以事件发生的概率来描述岩体的沉降可能性和沉降量,开采单元上覆面积各自发生下沉的概率服从密度为f(x)的分布函数[5]。
2.1 地表移动盆地内任意点的下沉值
在三维情况下,若煤层是水平的,煤层坐标系tos和地面坐标系xoy的水平投影重合,则单元B(s,t)的开采引起地表任意点A(x,y)的下沉为We(x,y)
若煤层的顶板下沉量为W0,开采范围为O1CDE如图1所示, DE长为D3,CD长为D1,则整个开采引起A点的下沉为[6]:
图1 空间坐标系与开采煤层
2.2 地表移动盆地内任意点的倾斜值
地表点A(x,y)在φ方向倾斜值i(x,y,φ)为下沉W(x,y)在φ方向的变化率,φ为从x轴的正向逆时针计算到指定方向的角值,即为W(x,y)在φ方向的方向导数,且有:
将地表移动盆地内任意点的下沉表达式代入式(2)并化简,可以得到地表移动盆地内任意点的倾斜值表达式[7,8]:
2.3 地表移动盆地内任意点的曲率值
地表点A(x,y)在φ方向的曲率k(x,y,φ)为倾斜i(x,y,φ)在φ方向的变化率,即为i(x,y,φ)在φ方向的方向导数,且有:
将地表移动盆地内任意点的倾斜表达式代入式(4)并化简,可以得到地表移动盆地内任意点的曲率表达式[6,8]:
2.4 地表移动盆地内任意点的水平移动值
根据水平移动与倾斜成正比的关系,可得到地表移动盆地内任意点的水平移动值表达式:
2.5 地表移动盆地内任意点的水平变形值
同理,根据水平变形与曲率成正比的关系,可得到地表移动盆地内任意点的水平变形值:
矿区开采沉陷预计有多种可视化表达方法,在这里我们采用由TIN生成等值线的方法,并对生成的等值线进行平滑操作。
3.1 矿区开采沉陷预计步骤
1)根据工作面和岩移参数生成工作面面域;
2)将其按照一定角度旋转至适于建立计算坐标系的位置;
3)在旋转后的面域影响范围内按照一定间距生成预计点;
4) 根据概率积分法计算预计点的值(包括下沉预计、倾斜预计、曲率预计、水平移动预计、水平变形预计);
5)根据预计值生成TIN,然后由TIN生成等值线(包括下沉等值线、倾斜等值线、曲率等值线、水平移动等值线、水平变形等值线);
6)对由TIN生成的等值线进行等值线平滑。
3.2 类和接口的设计
为实现概率积分法沉陷预计的算法和可视化表达,应用和设计了以下几个接口和类:ITIN接口、ITIN Surface接口、IPolyCurve接口、Predict类和Integral类。
1)ITIN接口由TIN Class类来实现,主要用来根据预计点的预计值生成TIN模型,进行矿区沉陷区域空间域的表达。
2)ITIN Surface接口继承自ISurface接口,由TIN Class类来实现,在由TIN生成等值线的过程中主要由接口中的contour方法来完成。
3)IPolyCurve接口继承自ICurve接口,由PolyLine、Polygon类来实现,主要应用接口中的smooth方法来对由TIN生成的等值线进行平滑操作,以达到较好的表达效果。
4)Predict类用于工作面和地质采矿条件等参数的加载、工作面的生成、旋转、取点,预计值的计算、TIN和等值线的生成绘制等功能。
5)Integral类主要用来实现概率积分算法,由于在预计过程中较多地应用到积分算法,为方便起见将其设计成类。
3.3 矿区开采沉陷预计的实现
1)公共属性。公共属性的作用是构造工作面角点、计算坐标系原点、按一定间距所取得的预计点等一系列点,设置计算所用的参数和获取计算结果。具体定义如下:
public struct myPoint{……}//构造点的三维坐标。
Public DataTable dtJD{……}//获取工作面参数。
Public DataTable ndt{……}//设置岩移参数。
Public DataTable dt{……}//获取工作面编号。
Public DataTable dataall{……}//存储概率积分法预计结果。
2)公共方法。公共方法的功能是根据获取的工作面和地质岩移参数,应用概率积分法进行预计值的计算、TIN的生成和等值线的绘制。具体定义如下:
public void CreateGZMShpfile(){……}//根据工作面角点生成工作面面域。
public void CreatePointsShp(){……}//根据工作面面域影响范围按照一定间距生成预计点,并获取预计点的坐标。
public void Rotation Calculate(){……}//根据概率积分法进行预计值的计算,并将预计结果返回到预计表中。
public void CreateContourListFromShapefile() {……}//根据预计值生成TIN,由TIN生成等值线,并将结果显示在地图窗口中。
public static double GetValueSimpson(double a,double b,double eps) {……}//复化simpson求积公式,其中 a 为积分下限、b为积分上限、eps为容差。
public static double Func(double x) {……}//定义被积函数,其中x为函数自变量。
3)私有方法。私有方法主要完成了工作面地质采矿条件、角点坐标等参与概率积分法计算的参数的加载,以及等值线修饰的方法,在公共方法里面通过调用以下方法来完成计算与表达。
private void Getjd(){……}//获得工作面角点坐标。
private void Loadinfo(){……}//加载地质采矿条件。
private void loadparameters(){……}//加载工作面岩移参数。
private string GetGZMID(){……}//获取工作面编号。
private myPoint GZMRotation(double angle, myPoint myp) {……}//输入角点坐标,根据角度将工作面进行旋转。
private void SmoothContour(IFeatureClass pFeatureClass) {……}//对由TIN生成的等值线进行平滑操作,并将平滑结果显示在地图窗口中。
研究区域为兖矿集团济三煤矿1 308工作面,工作面长1 480 m,宽600 m,工作面所在区域位置平坦。根据工作面地面坐标和工作面大小在工作面影响面域范围内按照一定间距选取了322个预计点,利用开采沉陷预计公式对工作面进行沉陷预计值的计算。图2为工作面与预计点。
图2 工作面与预计点
以下沉预计为例,对预计点应用概率积分法进行计算之后,生成TIN模型数据,并由TIN模型数据生成等值线,并对等值线进行平滑。图3为生成的TIN模型数据和等值线数据。
应用此种方法得到了矿区工作面开采沉陷预计的可视化表达结果,将此预计模块嵌入到矿区沉陷监测数据管理与预计分析系统中,可实现矿区监测数据管理与沉陷预计功能的集成。
图3 下沉预计TIN和等值线
基于面向对象思想的设计架构,借助于GIS平台,应用C#语言,引用ArcGIS Engine对象库,在矿区沉陷监测数据管理与预计分析系统开发的基础上,对应用概率积分法进行沉陷预计可视化表达的方法进行了探索和程序设计,能够按照沉陷预计的要求生成沉陷预计等值线等预计结果,实现了矿区开采沉陷预计的可视化表达。同时,将沉陷预计程序模块嵌入到矿区沉陷监测数据管理与预计分析系统中,实现了监测数据管理与沉陷预计功能的集成,较传统方法便捷高效。沉陷预计程序设计的方法可为后续软件的设计与开发提供借鉴。
[1] 秦爽.基于AE的组件式开采沉陷预计及可视化分析系统研究[D].阜新:辽宁工程技术大学, 2009
[2] 丁凯.基于GIS的矿区开采沉陷三维可视化技术研究[D]. 淮南:安徽理工大学,2009
[3] 赵相伟,季民,艾波,等.基于ArcGIS Engine的油指纹数据可视化表达方法研究[J].现代测绘,2010,33(1):11-12
[4] 冯幼贵.基于GIS的矿山开采地表移动与变形预计[D].青岛:山东科技大学,2010
[5] 何国清.矿山开采沉陷学[M].徐州:中国矿业大学出版社,1994
[6] 曹化平,张程,杨可明,等.基于GIS的矿山开采沉陷信息可视化应用[J].测绘工程,2010,19(3):51-54
[7] 贾小敏.基于ArcGIS Engine的局级开采沉陷数据分析与管理系统研究[D]. 淮南:安徽理工大学,2010
[8] 路兵.基于C#的矿山开采沉陷预计可视化系统[D].青岛:山东科技大学,2011
P208
B
1672-4623(2015)04-0132-03
10.3969/j.issn.1672-4623.2015.04.047
王琦,硕士,研究方向为GIS应用与开发。
2014-05-07。
项目来源:国家科技支撑计划资助项目(2012BAH27B04);高等学校博士学科点专项科研基金资助项目(20113718110001);山东科技大学科研创新团队支持计划资助项目(2011KYTD103);上海市科技型中小企业技术创新基金资助项目(1101H107900)。