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

本文目录
  • 正文

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

ArcGIS Engine 10 开发手册全集

ArcGIS Engine 10 开发手册全集: ArcGIS Engine 10 开发手册

如您有疑问,可在文末留言,或到QQ群提问。

本站QQ群:291616564 麻辣GIS

微信公众号:malagis,扫描右边二维码直接关注。

微信捐助麻辣GIS 支付宝捐助麻辣GIS

如果本文对您有所帮助,欢迎对我们团队进行打赏捐助,让我们在传播3S的路上可以走得更远。


作者:,GIS爱好者。
分享本文,请您带上本文链接

发表评论