• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

gisoracle

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

合并一个图层选择对象C# arcengine

ArcEngine实现Merge功能

    private IGeometry GetGeo(IFeatureLayer pFlyr)
        {
            IEnumGeometry pGeos = new EnumFeatureGeometryClass();
            IEnumGeometryBind pGeosBind = pGeos as IEnumGeometryBind;
            IFeatureSelection pflyrSelection = pFlyr as IFeatureSelection;
            pflyrSelection.SelectFeatures(null, esriSelectionResultEnum.esriSelectionResultNew, false);            pGeosBind.BindGeometrySource(null, pflyrSelection.SelectionSet);
            pGeos.Reset();
            IPolygon sPoly = new PolygonClass();
            ITopologicalOperator pTopo = sPoly as ITopologicalOperator;
            pTopo.ConstructUnion(pGeos);
            pTopo.Simplify();
            sPoly = pTopo as IPolygon;
            pflyrSelection.Clear();
            return sPoly;
        }

     执行上面的代码段可以把图层上的所有实体合并。注意红色部分的那行代码,不写此行代码,pGeos 里的图形个数为0,最后得到的spoly是空。

 

来自:http://program.ntwtsp.com/aspnet/18234.htm

posted on 2012-03-28 10:51  gisai  阅读(1805)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3