第一范文网 - 专业文章范例文档资料分享平台

Engine发教程 - 图文

来源:用户分享 时间:2025/5/30 17:05:40 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

catch (Exception Err)

{

MessageBox.Show(Err.Message, \提示\MessageBoxButtons.OK, MessageBoxIcon.Information);

}

}

2.4.9Geometry集合接口

通过前边对于具体的Geometry对象的介绍可知,除了Point对象之外,其他几何对象都是通过其他几何对象集合构建而成。如MultiPoint对象是点的集合,Path对象是Segment对象的集合,Polyline对象是Path对象的集合,Polygon对象是Ring对象的集合,Multipatch

对象是Triangle Strip和Trangle Fan, Trangle,Ring对象的集合。

ArcGIS Engine提供了三个主要的几何图形集合接口用于对几何对象的操作,分别是IPointCollection,ISegmentCollection和IGeometryCollection,这些接口揭示出ArcGIS Engine的几何模型的实质——它们是一种组合构成的模式,这种组合并不一定按照严格的

层次结构组织。

在前面介绍一些几何对象的时候,也给大家演示了部分使用功能,这三个接口在程序开发中

经常使用到,接下来简单阐述以下这三个接口的使用方法。

2.4.9.1IGeometryCollection接口IGeometryCollection接口被Polygon,Polyline, Multipoint, Multipatch, Trangle,T rangle Strip,Trangle Fan和GeometryBag所实现。IGeometryCollection接口提供的方法可以让开发者对一个几何对象的组成元素即子对象

进行添加,改变和移除。例如: 组成Polyline对象的子对象是Path对象。 组成Polygon对象的子对象是Ring对象。

组成Multipoint对象的子对象是Point对象。

组成MultiPatch对象的子对象是TrangleFan TrangleStrip,Triangle或Ring对象。 组成GeometryBag对象的是任何类型的几何体对象,实际上GeometryBag是一个可以容纳任

何类型几何对象的容器。

IGeometryCollection的Geometry 属性可以通过一个索引值返回一个组成该几何对象的某

个子对象,而GeometryCount返回组成该几何对象的子对象的数目。

IGeometry的AddGeometry和AddGeometries方法都用于向一个几何对象添加子对象,它们的区别是前者一次只能添加一个几何对象,而后者可以一次添加一个几何对象数组。除此之外,AddGeometry方法可以将子对象添加到几何的指定索引值的位置,而AddGeometries方

法将子对象数组添加到集合的最后。

在使用AddGeometry方法添加子对象到Polygon对象的过程中,如果子对象即Ring出现覆盖现象,那么多边形就没有封闭或出现了包含关系,那么这个Polygon就不是简单Polygon,因此通过IGometryCollection来创建一个Polygon时,需要使用ITopologicalOperator 的

Simplify方法保证其有效性。

通过IGeometryCollection创建一个Polygon对象的代码片段如下:

///

///

构造Polygon对象

///

///

///

返回一个Polygon对象

private IPolygon ConstructorPolygon(List pRingList)

{

try

{

//创建一个Polygon对象

IGeometryCollection pGCollection = new PolygonClass();

object o = Type.Missing;

//遍历Ring集合

for(int i=0;i

{

//通过IGeometryCollection接口的AddGeometry方法向Polygon对象中添加Ring子对象

pGCollection.AddGeometry(pRingList, ref o, ref o);

}

//QI至ITopologicalOperator ITopologicalOperator pTopological = pGCollection as ITopologicalOperator; //执行Simplify操作 pTopological.Simplify();

搜索更多关于: Engine发教程 - 图文 的文档
Engine发教程 - 图文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c36bmh9pruq6ksx798r4a_9.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top