生成面之前的截图:

生成为面之后的截图:

从线生成面的方法代码:

///   <summary>
///  通过线创建面
///   </summary>
///   <param name="pPolyline"> 线 </param>
///   <returns> 面 </returns>
IPolygon ConstructPolygonFromPolyline(IPolyline pPolyline)
{
    IGeometryCollection pPolygonGeoCol  =   new  PolygonClass();

if  ((pPolyline  !=   null )  &&  ( ! pPolyline.IsEmpty))
    {
        IGeometryCollection pPolylineGeoCol  =  pPolyline  as  IGeometryCollection;
        ISegmentCollection pSegCol  =   new  RingClass();
        ISegment pSegment  =   null ;
         object  missing  =  Type.Missing;

for  ( int  i  =   0 ; i  <  pPolylineGeoCol.GeometryCount; i ++ )
        {
            ISegmentCollection pPolylineSegCol  =  pPolylineGeoCol.get_Geometry(i)  as  ISegmentCollection;
             for  ( int  j  =   0 ; j  <  pPolylineSegCol.SegmentCount; j ++ )
            {
                pSegment  =  pPolylineSegCol.get_Segment(j);
                pSegCol.AddSegment(pSegment,  ref  missing,  ref  missing);
            }
            pPolygonGeoCol.AddGeometry(pSegCol  as  IGeometry,  ref  missing,  ref  missing);
        }
    }
     return  pPolygonGeoCol  as  IPolygon;
}

调用示例:
ILayer pLayer  =  axMapControl1.get_Layer( 1 );
IFeatureLayer pFeatureLayer  =  pLayer  as  IFeatureLayer;
IFeatureClass pFeatureClass  =  pFeatureLayer.FeatureClass;
if  (pFeatureClass.ShapeType  ==  esriGeometryType.esriGeometryPolyline)
{
    IFeatureCursor pFeatureCursor  =  pFeatureClass.Search( null ,  false );
    IFeature pFeature  =  pFeatureCursor.NextFeature();

ILayer pTargetLayer  =  axMapControl1.get_Layer( 2 );
    IFeatureLayer pTargetFeatureLayer  =  pTargetLayer  as  IFeatureLayer;
    IFeatureClass pTargetFeatureClass  =  pTargetFeatureLayer.FeatureClass;
     if  (pTargetFeatureClass.ShapeType  ==  esriGeometryType.esriGeometryPolygon)
    {
        IPolygon pPolygon  =   null ;
         while  (pFeature  !=   null )
        {
            IPolyline pPolyline  =  pFeature.Shape  as  IPolyline;
            pPolygon  =  ConstructPolygonFromPolyline(pPolyline);
             if  ((pPolygon  !=   null )  &&  ( ! pPolygon.IsEmpty))
            {
                 if  ( ! pPolygon.IsClosed)
                {
                    pPolygon.Close();
                }
                IFeature pNewFeature  =  pTargetFeatureClass.CreateFeature();
                pNewFeature.Shape  =  pPolygon;
                pNewFeature.Store();
                pFeature.Delete();
            }
            pFeature  =  pFeatureCursor.NextFeature();
        }
    }
}
axMapControl1.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography,  null ,  null );

ArcGIS Engine 通过线构造面相关推荐

  1. ArcGIS Engine基础开发教程(转)

    ArcGIS Engine基础开发教程(0)--目录 <ArcEngine9.3 基础开发教程>是面向初中级开发者的一份简单易用,功能全面的学习资料及参考文档.教程首先从如何来创建一个Ar ...

  2. ArcGIS Engine中的Symbols详解

    转自原文 ArcGIS Engine中的Symbols详解 本文由本人翻译ESRI官方帮助文档.尊重劳动成果,转载请注明来源. Symbols ArcObjects用了三种类型的Symbol(符号样式 ...

  3. arcgis engine二次开发python-使用C#配合ArcGIS Engine进行地理信息系统开发

    简单的地图读取.展示终于到暑假了...开始认真整理整理相关学习的心得体会咯~ 先把很久之前挖的关于C# 二次开发的坑给填上好了~ 这次先计划用一个月把C# ArcEngine 10.0相关开发的学习心 ...

  4. ArcGIS Engine 中的多线程使用

    转自原文ArcGIS Engine 中的多线程使用 一直都想写写AE中多线程的使用,但一直苦于没有时间,终于在中秋假期闲了下来.呵呵,闲话不说了,进入正题! 大家都了解到ArcGIS中处理大数据量时速 ...

  5. 利用ArcGIS Engine、VS .NET和Windows控件开发GIS应用

    Dixon 原文  用ArcGIS Engine.VS .NET和Windows控件开发GIS应用 此过程说明适合那些使用.NET建立和部署应用的开发者,它描述了使用ArcGIS控件建立和部署应用的方 ...

  6. 《ArcGIS Engine+C#实例开发教程》第七讲 图层符号选择器的实现2

    <ArcGIS Engine+C#实例开发教程>第七讲 图层符号选择器的实现2 原文:<ArcGIS Engine+C#实例开发教程>第七讲 图层符号选择器的实现2 摘要:在第 ...

  7. 【ArcGIS Engine二次开发】入门基础(2):ArcGIS开发方式(VBA、DLL、Add-in、Engine)对比

    文章目录 2.1 使用VBA进行桌面软件开发 2.1.1 VBA开发方式 2.1.1 VBA代码的安全性 2.2 使用DLL进行桌面软件开发 2.2.1 DLL开发方式 2.2.2 DLL功能的应用部 ...

  8. ArcGIS Engine 编辑- ITask

    转自原文ArcGIS Engine 编辑- ITask 下面的代码是我们定制的一个工作流-给等高线赋值 namespace EngineApplication { [Guid("5b0c06 ...

  9. ArcGIS Engine开发之旅02--ArcGIS Engine中的类库

    原文 ArcGIS Engine开发之旅02--ArcGIS Engine中的类库 System类库 System类库是ArcGIS体系结构中最底层的类库.System类库包含给构成ArcGIS的其他 ...

最新文章

  1. 【Android FFMPEG 开发】C++ 回调 Java 方法 模板 ( JavaVM *vm | JNIEnv *env | jobject instance | 引用类型 | 模板代码示例 )
  2. ubuntu18.04安装mysql
  3. 开源版本_开源版本PowerShell Core 6.2 发布
  4. 配置docker静态IP地址
  5. (三)协同过滤算法之基于物品的推荐算法python实现
  6. MVC页面重定向'页面跳转
  7. 概要设计说明书模板_实验报告的书写案例word模板
  8. Pycharm 简单设置成官方中文版
  9. Windows安装Scala步骤详解
  10. re模块或正则表达式
  11. 头歌MySQL数据库
  12. 【Unity3D】粒子系统ParticleSystem
  13. 【MM VS价】移动平均价V标准价格S(一)
  14. 【微信】微信小程序前后端数据请求示例
  15. 甘肃300件文物现古丝路交通 穿越古今展视听新体验
  16. 现代信息技术的特点和趋势
  17. TCP 三次握手原理,你真的理解吗?
  18. 京东智能客服言犀意图体系搭建和意图识别技术介绍
  19. 阳光智博改嫁给万物云:终止独立IPO计划,阳光城获利25亿元
  20. 怎么让照片人物嘴巴动起来?这个好用方法你必须知道

热门文章

  1. Winform从入门到精通(17)——PictureBox(史上最全)
  2. 基于springboot的实验室预约管理系统(完美运行,数据库源代码,可远程调试)
  3. 周鸿祎为短视频狂砸百亿
  4. Java中ArrayList的练习
  5. 人民网_领导留言板data2021年-2022年
  6. 刘强东的“长期主义”:做正确的事,敢于追求极致
  7. DDR3 SPEC
  8. IrisSkin4.dll皮肤编辑器对应的皮肤图
  9. java集合面试锦集
  10. LaTeX入门教程|自定义论文标题