今天在单位做图层合并的工作,刚开始找不到相应的接口,现在解决了,放出来与大家共享
本程序实现了对具有同类型数据结构的shapefile的图层合并,并在MapControl中显示.
            ILayer pLayer;
            IFeatureLayer pFeatureLayer;
            IFeatureClass pFeatureClass;
            IWorkspaceName pNewWSName;
            IBasicGeoprocessor pBasicGeop;
            IFeatureClassName pFeatureClassName;
            IDatasetName pDatasetName;
            IFeatureClass pOutputFeatClass;
            IFeatureLayer pOutputFeatLayer;
            IArray pArray;
            ITable pTable;
            //合并图层的集合
            pArray = new ArrayClass();
            for (int i = 0; i < this.axMapcontrol1.LayerCount;i++ )
            {
                pLayer = this.MapC_main.get_Layer(i);
                pArray.Add(pLayer);
            }
            //定义输出图层的fields表
            pLayer = this.MapC_main.get_Layer(0);
            pTable = (ITable)pLayer;
            pFeatureLayer=(IFeatureLayer)pLayer;
            pFeatureClass = pFeatureLayer.FeatureClass;
            //判断图层是否大于2个
            if(this..axMapcontrol1.LayerCount< 2){
                MessageBox.Show("Table QI failed");
                return;
            }
            //输出文件类型
            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:\\Cshape";
            pDatasetName = (IDatasetName)pFeatureClassName;
            pDatasetName.Name = "Union_result_1";
            pDatasetName.WorkspaceName = pNewWSName;
            
            //合并图层
            pBasicGeop = new BasicGeoprocessorClass();
            pOutputFeatClass=pBasicGeop.Merge(pArray,pTable,pFeatureClassName);
            //Add the output layer to the map
            pOutputFeatLayer = new FeatureLayerClass();
            pOutputFeatLayer.FeatureClass = pOutputFeatClass;
            pOutputFeatLayer.Name = pOutputFeatClass.AliasName;
            this..axMapcontrol1.AddLayer(pOutputFeatLayer as ILayer, 0);
版权说明

如果标题未标有<转载、转>等字则属于作者原创,欢迎转载,其版权归作者和博客园共有。
  作      者:温景良
  文章出处:http://wenjl520.cnblogs.com/  或  http://www.cnblogs.com/

分类: ArcEngine,ArcGIS Object
好文要顶 关注我 收藏该文

温景良(Jason)
关注 - 32
粉丝 - 161

+加关注

0
0

« 上一篇:C#鹰眼_带拖动
» 下一篇:AE创建气泡式的提示框(VB.Net和C#源码)

posted @ 2008-12-10 15:09 温景良(Jason) Views(1552) Comments(2) Edit 收藏
Post Comment
#1楼 2008-12-11 15:33 | zhi_wy
我试验了为什么总是在pOutputFeatClass=pBasicGeop.Merge(pArray,pTable,pFeatureClassName);句的时候报错呢?是不是还要有pNewWSName.ConnectionProperties的设置啊? 我主要是想注记层和点层或者线层进行合并
支持(0)反对(0)

#2楼14942042009/4/2 16:20:04 2009-04-02 16:20 | liuating
看你的文章真是种享受!篇篇短小精悍!太喜欢了!
支持(0)反对(0)

刷新评论刷新页面返回顶部
注册用户登录后才能发表评论,请 登录 或 注册,访问网站首页。
【推荐】超50万VC++源码: 大型工控、组态\仿真、建模CAD源码2018!
【推荐】腾讯云新用户域名抢购1元起,抓紧抢购
最新IT新闻:
· 精准率首次超过人类!阿里巴巴机器阅读理解打破世界纪录
· 技术帖:每天被今日头条推送文章 背后的算法技术是什么?
· 支付宝实体版老黄历问世:全球限量1000册
· 趣店被蚂蚁金服送上纽交所,现在是时候该独立了
· 蚂蚁宝卡升级:支付宝/微博即将免流
» 更多新闻...
最新知识库文章:

· 步入云计算
· 以操作系统的角度述说线程与进程
· 软件测试转型之路
· 门内门外看招聘
· 大道至简,职场上做人做事做管理

» 更多知识库文章...

公告

本文转自我的程序人生博客园博客,原文链接:http://www.cnblogs.com/wenjl520/archive/2008/12/10/1351973.html/,如需转载请自行联系原作者

AE实现不同图层的合并C#代码相关推荐

  1. AE实现不同图层的合并

    AE实现不同图层的合并 ILayer pLayer;             IFeatureLayer pFeatureLayer;             IFeatureClass pFeatu ...

  2. AE+C# 实现MERGE, AE实现相同结构图层的合并C#代码(转载)

    AE+C# 实现MERGE ILayer pLayer;             IFeatureLayer pFeatureLayer;             IFeatureClass pFea ...

  3. ae形状图层怎样合并路径?

    ae形状图层怎样合并路径?使用过PS或者PPT的小伙伴,对于布尔运算应该不会陌生.今天笔者给大家介绍一下,ae形状图层怎样合并路径?通过合并路径,我们可以得到很多需要的图形.希望笔者下面的操作过程对A ...

  4. AE开发之图层渲染20210603

    AE开发之图层渲染 比例符号化 地图的整饰 唯一值符号的符号化过程 点符号设置,线符号设置 标注图层, (写得不好,不推荐看) 唯一值符号化,字段进行设置,这里用到了UniqueValueRender ...

  5. 运用扩展管理器完成flash图层的合并

    本例向朋友们介绍运用Flash 扩展管理器来完成图层的合并,在Flash中没有合并图层的功能,好在有一个叫JSFL的东西,它被称为flash IDE下的javaScript脚本,可以实现flash I ...

  6. Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突...

    Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下G ...

  7. python文件查重并合并_Python实现文件信息进行合并实例代码

    将电话簿TeleAddressBook.txt和电子邮件EmailAddressBook.txt合并为一个完整的AddressBook.txt def main(): ftele1=open(&quo ...

  8. Photoshop 导入堆栈出错: 载入图层 无法合并智能对象文档。将跳过这些文档

    问题描述: 如下所示,在photoshop导入堆栈的时候,出现了错误,提示"载入图层 无法合并智能对象文档.将跳过这些文档" 原因分析:导入堆栈的时候,会将不同图片创建智能对象图层 ...

  9. git 合并部分代码

    1. 将代码提交到当前分支. 2. 切换到需要合并部分代码的分支. 3. idea右下角点击分支,选择刚刚提交代码的分支,选择 show diff with tree,如下图 4. 在页面中按住ctr ...

最新文章

  1. 《ADO.NET 2.0高级程序设计》读书随笔(1)使用连接池connection pool
  2. 2017年5月面试总结
  3. opengl加载显示3D模型ms3d类型文件
  4. 第七届蓝桥杯决赛真题 - 凑平方数-全排列+dfs+set去重
  5. python入门基础系列八_Python 入门系列 —— 21. dict 的介绍
  6. 前端常用 JavaScript 方法封装
  7. 初创IT公司里开发者最容易犯的九种错误
  8. python远程文件管理系统_如何在Windows上使用Python访问远程文件系统?
  9. Anylogic学习--------------数学函数
  10. 网吧软件经典大集合.各种网管工具
  11. Biopython -- SeqIO
  12. 计算机桌面去方格子,win7桌面office图标变成白色方格图标的原因和解法
  13. 大学生怎样学习一门编程
  14. Local Maximum Mean Discrepancy
  15. 命令查看yarn当前任务列表
  16. ios微信支付 内部服务器错误,iOS 微信支付报错 支付验证签名失败
  17. 2020年保育员(中级)多少分及格及保育员(中级)模拟考试系统
  18. JavaFx笔记二:布局
  19. 陈大《技术圈》(转)
  20. android qq空间相册,QQ空间Android3.3发布 新增空间、相册权限设置

热门文章

  1. Kubernetes学习笔记二:Namespace,Cgroups 的隔离与应用
  2. java 数字转26个字母和26个字母转数字
  3. array_filter php5.4 php5.5,PHP 5.4:我可以使用filter_var_array()将多个标志与过滤器一起使用吗?...
  4. linux脚本查看变量类型,Shell变量:Shell变量的定义、删除变量、只读变量、变量类型...
  5. java抽象的理解_Java中抽象类的理解
  6. oracle里minis用法,Oracle初学者必知的39个问题
  7. 在职计算机答辩没有通过,在职研究生论文答辩没通过可以重新申请吗?
  8. 图片上加动图怎么弄_用PS把千张图片拼成心爱的人的样子,只需三步!
  9. 教程:7、管道和过滤器
  10. 裸设备 linux,Linux平台下裸设备的绑定: