ArcEngine岛状多边形获取其内部环
查阅了帮助文档相关接口,内部环的获方法get_InteriorRingBag()
需要外部环作为参数.而外部环可以直接通过ExteriorRingBag属性获取.
具体参考下述代码(代码参考官方帮助文档):
IPolygon4 pMergerPolygon = pFeature.Shape as IPolygon4;
IGeometryBag pOutGeometryBag = pMergerPolygon.ExteriorRingBag; //获取外部环
IGeometryCollection pOutGmtyCollection = pOutGeometryBag as IGeometryCollection;
for (int i = 0; i < pOutGmtyCollection.GeometryCount; i++) //对外部环遍历
{
IGeometry pOutRing = pOutGmtyCollection.get_Geometry(i); //外部环
//【此处可以对外部环进行操作】
IPointCollection pOutRingCollection = pOutRing as IPointCollection;
for (int j = 0; j < pOutRingCollection.PointCount; j++)
{
IPoint pOutRingPoint = pOutRingCollection.get_Point(j);//获取外环上的点
}
IGeometryBag pInteriotGeometryBag = pMergerPolygon.get_InteriorRingBag(pOutRing as IRing); //获取内部环
IGeometryCollection pInteriorGeometryCollection = pInteriotGeometryBag