IPolygon pPolygon=pGCollection as IPolygon; //返回Polygon对象
return pPolygon;
} catch (Exception Err) { MessageBox.Show(Err.Message,\提示\MessageBoxButtons.OK,,MessageBoxIcon.Information);
return null;
}
}
同样可以通过IGeometryCollection的AddGeometryCollection方法可以将一个Polygon中的所有子对象Ring添加到另外一个多边形中,这样就实现了合并两个多边形对象为一个多边形对象的功能,这非常有用。 以下代码片段演示如何合并两个Polygon对象为一个Polgyone对象:
///
/// 合并两个Polygon /// /// /// ///
IGeometryCollection pGCollection1=new PolygonClass();
IGeometryCollection pGCollection2 = firstPolygon as IGeometryCollection; IGeometryCollection pGCollection3 = SecondPolygon as IGeometryCollection;
//添加firstPolygon
pGCollection1.AddGeometryCollection(pGCollection2); //添加SecondPolygon pGCollection1.AddGeometryCollection(pGCollection3); //QI至ITopologicalOperator ITopologicalOperator pTopological = pGCollection1 as ITopologicalOperator; //执行Simplify操作 pTopological.Simplify();
IPolygon pPolygon=pGCollection1 as IPolygon;
//返回Polygon对象 return pPolygon;
} catch (Exception Err)
{
MessageBox.Show(Err.Message,\提示\MessageBoxButtons.OK,,MessageBoxIcon.Information); return null; }
}
2.4.9.2ISegmentCollection接口 ISegmentCollection接口被Path,Ring,Polyline和Polygon四个类所实现,它们被称作是Segment集合对象,使用这个接口可以处理组成Segment集合对象中的每一个子Segment对象。使用ISegmentCollection接口可以为一个Segment集合对象添加,插入,删除Segment子对象。ISegmentCollection接口SetCircle和SetRectangle方法提供了一种简单不需要添加Segment的情况下构建一个完成的Path,Ring,Polyline和Polygon的方法。 2.4.9.3IPointCollection接口 IPointCollection可以被多个几何对象类所实现,这些对象都是由多个点构成如:Mullipoint,Path,Ring,Polyline,Polygon,TriangleFan,TrangleStrip,Trangle,Multipatch等,它们都可以称作PointCollection对象,通过IPointCollection接口定义的方法可以获取,添加,插入,查询,移除几何对象中的某个顶点。同以上两个接口一样它也定义了操作一个点集合对象的方法,例如通过AddPoint方法可以向PointCollection对象中的特定索引位添加一个点对象,如果不指定位置,则添加到最后。通过IPointCollection的Point属性通过顶点索引可以得到某一顶点。 在本章节最后的Demo 实例将为大家演示IPointCollection提供的功能。