Arcengine 基本操作(待更新)
/// <summary>/// 删除fieldName属性值为1的弧段/// </summary>/// <param name="fieldName"></param>/// <param name="t"></param>public void DelectPolyline(string fieldName, int t){ILayer pLayer = axMapControl1.get_Layer(0);IFeatureLayer pFeatureLayer = pLayer as IFeatureLayer;IFeatureClass pFeatureClass = pFeatureLayer.FeatureClass;IFields pIFields = pFeatureLayer.FeatureClass.Fields;int fieldIndex = pIFields.FindField(fieldName);var pDataset = pFeatureClass as IDataset;IWorkspace pWorkspace = pDataset.Workspace;IFeatureWorkspace pFWs = pWorkspace as IFeatureWorkspace;IWorkspaceEdit pWorkspaceEdit = (IWorkspaceEdit)pFWs;pWorkspaceEdit.StartEditing(true);pWorkspaceEdit.StartEditOperation();IFeatureCursor pEF = pFeatureLayer.Search(null, false);IFeature pFeatureDe = pEF.NextFeature();while (pFeatureDe != null){if (Convert.ToInt32(pFeatureDe.get_Value(fieldIndex)) != t){pFeatureDe.Delete();}pFeatureDe = pEF.NextFeature();}pWorkspaceEdit.StopEditOperation();pWorkspaceEdit.StopEditing(true);MessageBox.Show("删除成功");}
///若干个线要素合并成一个private void MergeFeatures(List<int> OneFeatureArr,ILayer tSelectLayer){IFeatureLayer tFeatureLayer = tSelectLayer as IFeatureLayer;IFeatureClass pFeatureClass = tFeatureLayer.FeatureClass;var pDataset = pFeatureClass as IDataset;IWorkspace pWorkspace = pDataset.Workspace;IFeatureWorkspace pFWs = pWorkspace as IFeatureWorkspace;IWorkspaceEdit pWorkspaceEdit = (IWorkspaceEdit)pFWs;pWorkspaceEdit.StartEditing(true);pWorkspaceEdit.StartEditOperation();IFeatureLayer pFeatureLayer = tSelectLayer as IFeatureLayer;IFeatureCursor pEF = pFeatureLayer.Search(null, false);IFeature pFeatureFirst = pEF.NextFeature();while (pFeatureFirst != null){//找到在数组里的第一个要素if (pFeatureFirst.OID == OneFeatureArr[0]){//OneFeatureArr.RemoveAt(0);//除掉第一个要素break;}elsepFeatureFirst = pEF.NextFeature();}pEF = pFeatureLayer.Search(null, false);IGeometry pGeometryFirst = pFeatureFirst.Shape;ITopologicalOperator2 pTopOperatorFirst = (ITopologicalOperator2)pGeometryFirst;IRelationalOperator pRelOperatorFirst = (IRelationalOperator)pGeometryFirst;pTopOperatorFirst.IsKnownSimple_2 = false;pTopOperatorFirst.Simplify();pGeometryFirst.SnapToSpatialReference();IGeometry pGeometrySecond = null;IFeature pFeatureSecond = pEF.NextFeature();IGeometryCollection Geometrybag = new GeometryBagClass();//装geometry的袋子object oMissing = Type.Missing;while (pFeatureSecond != null){if (OneFeatureArr.IndexOf(pFeatureSecond.OID) == -1){pFeatureSecond = pEF.NextFeature();continue;}pGeometrySecond = pFeatureSecond.ShapeCopy;Geometrybag.AddGeometry(pGeometrySecond, ref oMissing, ref oMissing);//将geometry装进袋子//pFeatureSecond.Delete();pFeatureSecond = pEF.NextFeature();}IEnumGeometry tEnumGeometry = (IEnumGeometry)Geometrybag;pTopOperatorFirst.ConstructUnion(tEnumGeometry);pTopOperatorFirst.IsKnownSimple_2 = false;pTopOperatorFirst.Simplify();pFeatureFirst.Shape = pGeometryFirst; pFeatureFirst.Store(); pWorkspaceEdit.StopEditOperation();pWorkspaceEdit.StopEditing(true);}
转载于:https://www.cnblogs.com/jinqier/p/4153525.html
Arcengine 基本操作(待更新)相关推荐
- ADS-B显示终端6.8 基本操作视频 更新
ADS-B显示终端基本操作视频,视频中演示了ADS-B显示终端的基本功能操作方法,包括 地图放大与缩小.地图拖动.数据库浏览.目标飞行轨迹浏览.目标列表.数据解析.目 标批注.软件设置等功能. 亲们, ...
- 总结一下矩阵的基本操作
总结一下矩阵的基本操作 同步更新于这里 加减法 非常简单,只要对应位置相加就行了(余老师:这不是今天的重点!!! 数乘 嗯,把所有元素同时乘以那个数就行了 矩阵乘矩阵 比较复杂, A*B首先要A的列数 ...
- 前端人应该知道的 Centos/Docker/Nginx/Node/Jenkins 的基本操作
点击上方关注 前端技术江湖,一起学习,天天进步 来源:ask_the_sky https://juejin.cn/post/6951684431597797389 服务器作为开发的一环,并且现在非常多 ...
- 【MySQL】数据库的高级查询
前言 上次我们讲了数据库的基本查询,这次继续接上来数据库的高级查询.高级查询是建立在基础查询的基础上面的,如果你还没有看过建议你先去学习数据库的基础查询. 传送门:MySQL数据库的基本查询 数据库的 ...
- 视频教程-Kali Linux渗透测试全程课与脚本语言编程系列课程-渗透测试
Kali Linux渗透测试全程课与脚本语言编程系列课程 本人有多年的服务器高级运维与开发经验,擅长计算机与服务器攻防及网络攻防技术!对网络安全领域有持续的关注和研究! 林晓炜 ¥899.00 立即订 ...
- 前端开发者应该知道的 Centos/Docker/Nginx/Node/Jenkins 操作
点击上方 程序员成长指北,关注公众号 回复1,加入高级 Node 进阶交流群 来源:ask_the_sky https://juejin.cn/post/6951684431597797389 服务器 ...
- 超实用,一口气学会 Centos/Docker/Nginx/Node/Jenkins 等基础操作
作者:ask_the_sky https://juejin.cn/post/6951684431597797389 服务器作为开发的一环,并且现在非常多的商业公司部署在生产环境上的服务器都是CentO ...
- Redis常用的五种数据类型
转载 [Redis]五种数据类型及其使用场景 https://blog.csdn.net/zzu_seu/article/details/106323114?spm=1001.2101.3001.66 ...
- USRP N321上手
第一次使用USRP N321 要做什么 连接设备前工作 更新SD卡 1)下载更新文件 2)将文件镜像载入SD卡 写入镜像文件的两种方法: 安装screen(用于串口连接的指令) 下载FPGA镜像(UH ...
最新文章
- 脚本中的关于‘/xff‘字符记录
- 【Qt】2D绘图之绘制路径
- 我的新宠Vue a系列 项目初构
- 209. 单点登录(SSO)
- Tree Context Menu
- life of a NPTL pthread
- 阶段5 3.微服务项目【学成在线】_day01 搭建环境 CMS服务端开发_05-CMS需求分析-什么是CMS...
- Windows server 2012 R2网卡驱动安装经历
- 三维空间中直线间距离的计算
- 英语的计算机软件如何拼写,怎样记英语单词拼写最快零基础背单词软件
- android popupwindow 消失动画,PopupWindow动画结束后dismiss崩溃解决
- Unity游戏内版本更新
- 如何在Ubuntu中安装搜狗输入法
- 一次服务器硬盘损坏修复记录贴(顺便把服务器硬件信息都搞清楚了)
- Symantec Backup Exec Remote Agent for Linux/Unix Servers Installation Guide
- 我的生命该如何度过?
- 优秀自我简介200字_自我介绍优秀作文200字
- 2.linux_进程编程
- java 计算日出日落时间
- Ubuntu QQ2009
热门文章
- [Linux C]递归遍历指定目录下的子目录和文件
- [react] 使用webpack打包React项目,怎么减小生成的js大小?
- javascript学习系列(22):数组中的reduceRight法
- 前端学习(2928):昨日回顾
- [css] 使用css实现气泡框的效果
- [js] 写一个方法遍历指定对象的所有属性
- 前端学习(2841):UI开发思路--搭建架子
- 前端学习(2740):重读vue电商网站50之Element-UI 组件按需加载
- 前端学习(2613):action的方法
- 前端学习(2387):组件库使用说明