论文部分内容阅读
[摘要]通过获取 TIN 中对象主要通过ITinAdvanced2 接口的相关方法或属性来实现。如通过NodeCount可以获得节点数目、通过TriangleCount可以获得三角形的数目、通过GetTriangle可以获得三角形等等,下面介绍一些常用的属性和方法。
[关键词]TIN模型接口三角面
中图分类号:U467.1+3 文献标识码:U 文章编号:1009―914X(2013)31―0624―01
添加一个“获取TIN中对象”按钮,并在全局变量中添加如下定义:
1)在获取TIN按钮中添加如下代码:FindTriangleIndexIsNot = True;
2)由于点击事件要在SceneControl控件中进行的,所以在AxSceneControl1的OnMouseDown事件中添加如下代码:
If(e.button = =1)
{If(FindTriangleIndexIsNot)
{ESRI.ArcGIS.Carto.ITinLayer pTINLyr = New ESRI.ArcGIS.Carto.TinLayer();
pTINLyr = AxSceneControl1.Scene.Layer(2);
ESRI.ArcGIS.Geodatabase.ITinAdvanced2 pTINAD=New ESRI.ArcGIS.Geodatabase.Tin();
pTINAD = pTINLyr.Dataset;
ESRI.ArcGIS.Analyst3D.IHit3D pHit3DSet=new ESRI.ArcGIS.Analyst3D.IHit3D();AxSceneControl1.SceneGraph.LocateMultiple(AxSceneControl1.SceneGraph.ActiveViewer,e.x,e.y,ESRI.ArcGIS.Analyst3D.esriScenePickMode.esriScenePickAll,False,pHit3DSet)
pHit3DSet.OnePerLayer();
If(pHit3DSet Is Nothing)
{
MessagBox("没有点击到对象!");
}
ESRI.ArcGIS.Analyst3D.Hit3D pHit3D =pHit3DSet.Hits.Element(0);
MessageBox("三角形的序号为:" +
pTINAD.FindTriangleIndex(pHit3D.Point).ToString());
FindTriangleIndexIsNot = False;
}
}
此处又用到了IHit3DSet 接口和Hit3D 类,其主要原因是在SceneControl
中点击的点要转换成三维空间的点。MessageBox(pTINAD.FindTriangleIndex(pHit3D.Point))就是获取到点击的三角形的序号,运行程序如下图。
3)获取三角形的面积及周长。
获取三角形的面积及周长主要通过ITinTriangle 接口的Area3D 属性和Perimeter3D属性获得,当然它还有许多其他的属性,如平面周长、平面面积、坡度、法线、节点等等。
在AxSceneControl1的OnMouseDown事件中添加如下代码:
MsgBox("三角形的空间面积为:" +
pTINAD.GetTriangle(pTINAD.FindTriangleIndex(pHit3D.Point)).Area3D.ToS
tring()+ Chr(13)+ "三角形的三维周长为:" +
pTINAD.GetTriangle(pTINAD.FindTriangleIndex(pHit3D.Point)).Perimeter3
D.ToString());
运行程序如下图。
结语
TIN模型的搭建技术是当今对于矿山地质信息处理方面较为先进的辅助技术。在.NET平台上进行AE嵌入式开发建立煤与瓦斯分析管理系统,高效、快捷的对地理信息系统和矿井灾害救援技术进行搭建,为区域预测和分析提供了有力的技术支持。
通过C#汇编技术的可视化处理,可以全面地、多方面地监测煤与瓦斯的动态,为判断煤与瓦斯突出危险性提供参考数据,为区域性防治煤与瓦斯突出提供依据。
参考文献
[1] 汤国安,杨昕.ArcGIS地理信息系统空间分析实验教程[M].科学出版社,2009.
[2] 杜福光.基于GIS的数字矿山研究.中国论文下载中心.2009.
[3] 刘明举,郝富昌.基于GIS的瓦斯预测信息管理系统[J].煤田地质与勘探,2005.
[4] 邢 超,李 斌.ArcGIS学习指南—ArcToolbox[M].科学出版社,2010.
[5] 张宏伟,李胜,陈学华.GIS技术在瓦斯动力灾害预测中的应用[J].安全与环境学报
[关键词]TIN模型接口三角面
中图分类号:U467.1+3 文献标识码:U 文章编号:1009―914X(2013)31―0624―01
添加一个“获取TIN中对象”按钮,并在全局变量中添加如下定义:
1)在获取TIN按钮中添加如下代码:FindTriangleIndexIsNot = True;
2)由于点击事件要在SceneControl控件中进行的,所以在AxSceneControl1的OnMouseDown事件中添加如下代码:
If(e.button = =1)
{If(FindTriangleIndexIsNot)
{ESRI.ArcGIS.Carto.ITinLayer pTINLyr = New ESRI.ArcGIS.Carto.TinLayer();
pTINLyr = AxSceneControl1.Scene.Layer(2);
ESRI.ArcGIS.Geodatabase.ITinAdvanced2 pTINAD=New ESRI.ArcGIS.Geodatabase.Tin();
pTINAD = pTINLyr.Dataset;
ESRI.ArcGIS.Analyst3D.IHit3D pHit3DSet=new ESRI.ArcGIS.Analyst3D.IHit3D();AxSceneControl1.SceneGraph.LocateMultiple(AxSceneControl1.SceneGraph.ActiveViewer,e.x,e.y,ESRI.ArcGIS.Analyst3D.esriScenePickMode.esriScenePickAll,False,pHit3DSet)
pHit3DSet.OnePerLayer();
If(pHit3DSet Is Nothing)
{
MessagBox("没有点击到对象!");
}
ESRI.ArcGIS.Analyst3D.Hit3D pHit3D =pHit3DSet.Hits.Element(0);
MessageBox("三角形的序号为:" +
pTINAD.FindTriangleIndex(pHit3D.Point).ToString());
FindTriangleIndexIsNot = False;
}
}
此处又用到了IHit3DSet 接口和Hit3D 类,其主要原因是在SceneControl
中点击的点要转换成三维空间的点。MessageBox(pTINAD.FindTriangleIndex(pHit3D.Point))就是获取到点击的三角形的序号,运行程序如下图。
3)获取三角形的面积及周长。
获取三角形的面积及周长主要通过ITinTriangle 接口的Area3D 属性和Perimeter3D属性获得,当然它还有许多其他的属性,如平面周长、平面面积、坡度、法线、节点等等。
在AxSceneControl1的OnMouseDown事件中添加如下代码:
MsgBox("三角形的空间面积为:" +
pTINAD.GetTriangle(pTINAD.FindTriangleIndex(pHit3D.Point)).Area3D.ToS
tring()+ Chr(13)+ "三角形的三维周长为:" +
pTINAD.GetTriangle(pTINAD.FindTriangleIndex(pHit3D.Point)).Perimeter3
D.ToString());
运行程序如下图。
结语
TIN模型的搭建技术是当今对于矿山地质信息处理方面较为先进的辅助技术。在.NET平台上进行AE嵌入式开发建立煤与瓦斯分析管理系统,高效、快捷的对地理信息系统和矿井灾害救援技术进行搭建,为区域预测和分析提供了有力的技术支持。
通过C#汇编技术的可视化处理,可以全面地、多方面地监测煤与瓦斯的动态,为判断煤与瓦斯突出危险性提供参考数据,为区域性防治煤与瓦斯突出提供依据。
参考文献
[1] 汤国安,杨昕.ArcGIS地理信息系统空间分析实验教程[M].科学出版社,2009.
[2] 杜福光.基于GIS的数字矿山研究.中国论文下载中心.2009.
[3] 刘明举,郝富昌.基于GIS的瓦斯预测信息管理系统[J].煤田地质与勘探,2005.
[4] 邢 超,李 斌.ArcGIS学习指南—ArcToolbox[M].科学出版社,2010.
[5] 张宏伟,李胜,陈学华.GIS技术在瓦斯动力灾害预测中的应用[J].安全与环境学报