IPolygon 遍历 外环 内环

本文介绍如何使用C#编程语言处理地理信息系统中的多边形数据,包括获取多边形的外环数量及与每个外环关联的内环数量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 //Set the polygon
      IPolygon4 polygon = currentFeature.Shape as IPolygon4;
      //IPolygon4.ExteriorRingBag should be used instead of IPolygon.QueryExteriorRings,
      //which does not work in .NET because of C-Style Arrays
      IGeometryBag exteriorRings = polygon.ExteriorRingBag;
    
      //For each exterior rings find the number of interior rings associated with it and print it
      IEnumGeometry exteriorRingsEnum = exteriorRings as IEnumGeometry;
      exteriorRingsEnum.Reset();
      IRing currentExteriorRing = exteriorRingsEnum.Next() as IRing;
      int counter = 1;
      System.Windows.Forms.MessageBox.Show("ExteriorRingCount = " + polygon.ExteriorRingCount);
      while(currentExteriorRing != null)
      {
        //IPolygon4.get_InteriorRingBag should be used instead of IPolygon.QueryInteriorRings,
        //which does not work in .NET because of C-Style Arrays
        IGeometryBag interiorRings = polygon.get_InteriorRingBag(currentExteriorRing);
        //Note we do nothing with the interiorRings, but you can use them the same way as the IGeometryBag exteriorRings
        System.Windows.Forms.MessageBox.Show("Exterior ring number " + counter + " InteriorRingCount = " + polygon.get_InteriorRingCount(currentExteriorRing));
        currentExteriorRing = exteriorRingsEnum.Next() as IRing;
        counter++;
      }


 

转载于:https://www.cnblogs.com/zany-hui/articles/2435503.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值