麻辣GIS微信平台

更多 GIS 干货

微信关注不错过

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 开发手册

相关阅读

麻辣GIS-Sailor

作者:

GIS爱好者,学GIS,更爱玩GIS。

声明

1.本文所分享的所有需要用户下载使用的内容(包括但不限于软件、数据、图片)来自于网络或者麻辣GIS粉丝自行分享,版权归该下载资源的合法拥有者所有,如有侵权请第一时间联系本站删除。

2.下载内容仅限个人学习使用,请切勿用作商用等其他用途,否则后果自负。

手机阅读
公众号关注
知识星球
手机阅读
麻辣GIS微信公众号关注
最新GIS干货
关注麻辣GIS知识星球
私享圈子

仅有一条评论

  1. 麻辣GIS-kaku
    1#
    kaku  · 2018-08-15 00:31

    请问如何获取ploygon中点的坐标呢

留言板(小编看到第一时间回复)