zoukankan      html  css  js  c++  java
  • Merage

    AE+C# 实现MERGE,

    代码参考ESRI中国社区,忘了哪个帖子了。。。
    代码中路径等直接写上去了

                //合并图层的集合
                ILayer pLayer;
                IArray pArray;
                pArray 
    = new ArrayClass();
                
    for (int i = 0; i < this.axMapControl1.LayerCount; i++)
                 
    {
                    pLayer 
    = this.axMapControl1.get_Layer(i);
                    pArray.Add(pLayer);
                   }

                
    //定义输出图层的fields表

                ITable pTable;
                IFeatureLayer pFeatureLayer;
                IFeatureClass pFeatureClass;
                pLayer 
    = this.axMapControl1.get_Layer(0);
                pTable 
    = (ITable)pLayer;
                pFeatureLayer
    =(IFeatureLayer)pLayer;
                pFeatureClass 
    = pFeatureLayer.FeatureClass;

                
    //判断图层是否大于2个
                if(this.axMapControl1.LayerCount< 2)
                
    {
                    MessageBox.Show(
    "Table QI failed");
                    
    return;
                  }


                
    //输出文件类型
                IFeatureClassName pFeatureClassName;
                IDatasetName pDatasetName;
                IWorkspaceName pNewWSName;
                pFeatureClassName 
    = new FeatureClassNameClass();
                pFeatureClassName.FeatureType 
    = esriFeatureType.esriFTSimple;
                pFeatureClassName.ShapeFieldName 
    = "Shape";
                pFeatureClassName.ShapeType 
    = pFeatureClass.ShapeType;

                
    //输出shapefile的名称和位置
                pNewWSName = new WorkspaceNameClass();
                pNewWSName.WorkspaceFactoryProgID
    ="esriDataSourcesFile.ShapefileWorkspaceFactory";
                pNewWSName.PathName 
    = "E:\\data";
                pDatasetName = (IDatasetName)pFeatureClassName;
                pDatasetName.Name 
    = "Merge_result";
                pDatasetName.WorkspaceName 
    = pNewWSName;
                
                
    //合并图层
                IFeatureClass pOutputFeatClass;
                IBasicGeoprocessor pBasicGeop;
                pBasicGeop 
    = new BasicGeoprocessorClass();
                pOutputFeatClass
    =pBasicGeop.Merge(pArray,pTable,pFeatureClassName);

                
    //将合并后的图层加载到Map中
                IFeatureLayer pOutputFeatLayer;
                pOutputFeatLayer 
    = new FeatureLayerClass();
               pOutputFeatLayer.FeatureClass 
    = pOutputFeatClass;
                pOutputFeatLayer.Name 
    = pOutputFeatClass.AliasName;
                
    this.axMapControl1.AddLayer(pOutputFeatLayer as ILayer, 0);
  • 相关阅读:
    微软面试题
    20个开源项目托管站点推荐
    iis配置好后,解决打开服务器要输入用户名和密码的问题
    C# 调用带输入输出参数的存储过程
    line-height属性总结
    placeholder的字体样式改变,滚动条的颜色改变,ios日期兼容
    表格使用总结
    网页html结构搭建方法总结
    css中的inline-block
    css常用居中
  • 原文地址:https://www.cnblogs.com/zhangjun1130/p/1406265.html
Copyright © 2011-2022 走看看