ArcEngine 岛状多边形内部环的获取
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); //外部环 IGeometryBag pInteriotGeometryBag = pMergerPolygon.get_InteriorRingBag(pOutRing as IRing); //获取内部环 IGeometryCollection pInteriorGeometryCollection = pInteriotGeometryBag as IGeometryCollection; for (int j = 0; j < pInteriorGeometryCollection.GeometryCount; j++) { IGeometry pInteriorGeometry = pInteriorGeometryCollection.get_Geometry(j); //pInteriorGeometry即为多边形的内部环 } }