云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > Engine发教程 - 图文

Engine发教程 - 图文

  • 62 次阅读
  • 3 次下载
  • 2025/5/25 14:12:15

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发教程 - 图文 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

catch (Exception Err) { MessageBox.Show(Err.Message, \提示\MessageBoxButtons.OK, MessageBoxIcon.Information); } } 2.4.9Geometry集合接口 通过前边对于具体的Geometry对象的介绍可知,除了Point对象之外,其他几何对象都是通过其他几何对象集合构建而成。如MultiPoint对象是点的集合,Path对象是Segment对象的集合,Polyline对象是Path对象的集合,Polygon对象是Ring对象的集合,Multipatch

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com