本文主要是介绍获取Multipatch图层中模型的底面图形和模型的高度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
获取Multipatch图层中模型的底面图形和模型的高度
1、获取Multipatch图层
IFeatureClass pFeatureClass =pFeatureWorkspace.OpenFeatureClass(layername);
2、获取模型数据要素
IFeatureCursor pFeatureCursor =pFeatureClass.Search(null,false);
3、获取模型要素并获取底面
(通过模型要素的Envelope和模型要素的Geometry进行相交操作)
IFeature pFeature =pFeatureCursor.NextFeature();
IGeometry pGeometry = null;
pGeometry = null;
pGeometry = pFeature.ShapeCopy;
pMultiPatch = pGeometry asIMultiPatch;
pEnvelope = null;
pEnvelope = pMultiPatch.Envelope;
pTopologicalOperator = null;
pTopologicalOperator = pGeometry asITopologicalOperator;
pNewGeometry = pTopologicalOperator.Intersect(pEnvelope, esriGeometryDimension.esriGeometry2Dimension);
4、获取最大和最小高程
IZCollection pZCollection = null;
pZCollection = pMultiPatch asIZCollection;
double zmax =pZCollection.ZMax;
double zmin =pZCollection.ZMin;
double high = zmax - zmin;
这篇关于获取Multipatch图层中模型的底面图形和模型的高度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!