『公告』 预祝您龙年大吉,万事如意, 过节期间, 大家如需数据服务,请拨打400 或直接添加客服微信,再祝大家龙年,心想事成。
关注我们 新浪 腾讯

ArcGIS Engine 10 开发手册(5-6)ArcGIS Engine中的Polygon对象

ArcGIS Engine 10 开发手册(5-6)ArcGIS Engine中的Polygon对象
Polylgon 对象是由一个或多个 Ring 对象的有序集合,它可以是由单个 Ring 对象构成,也可以使用多 个 Ring 组成。

      Polylgon 对象是由一个或多个 Ring 对象的有序集合,它可以是由单个 Ring 对象构成,也可以使用多 Ring 组成。Polygon 通常用来代表有面积的多边形矢量对象,如行政区,建筑物等。Polygon 的组成结构 可以看下图:

 

      从这个图上可以看出 Polygon 是由 Rings 构成,而 Ring 又是又 Segment 构成,但是这并不意味着用 户必须按照这种层次去构造 Polygon,实际上用 Point 的集合可以构成 Polygon 如下代码:

 

public IPolygon CreatePolygonByPoints(IPointCollection pPointCollection)

{

 

    IGeometryBridge2 pGeometryBridge2 = new GeometryEnvironmentClass();

 

    IPointCollection4 pPolygon = new PolygonClass();

 

    WKSPoint[] pWKSPoint = new WKSPoint[pPointCollection.PointCount];

 

    for (int i = 0; i & lt; pPointCollection.PointCount; i++)

 

    {

 

        pWKSPoint[i].X = pPointCollection.get_Point(i).X;

        pWKSPoint[i].Y = pPointCollection.get_Point(i).Y;

 

    }

 

    pGeometryBridge2.SetWKSPoints(pPolygon, ref pWKSPoint);

    IPolygon pPoly = pPolygon as IPolygon;

    pPoly.close();

    return pPoly;

}

    组成 Polygon 的是 Ring,其中 Ring 可以分为 Outer Ring(外环) Inner Ring(内环)之分。外环和 内环都是有方向的,它们的区别是外环的方向是顺时针的,内环的方向是逆时针。如下图:

 

 

 

     Polygon 对象实现了一个接口 IArea,而该接口用来对 Poylgon 的中心,重心,以及面积进行访问,下 面片段用来获取 Polygoe 的面积:

 

IArea pArea = pPolygon as IArea;

Double S= pArea. Area

      京ICP备08100627号-22 京公网安备 11010802030428号