ArcGis Engine二次开发入门(1)
对矢量图层的字段:进行增加、删除和查找及读取相应字段的属性值,鹰眼实现
// 添加字段private void button5_Click(object sender, EventArgs e){IFeatureLayer myLayer = axMapControl1.Map.get_Layer(0) as IFeatureLayer;IFeatureClass myClass = myLayer.FeatureClass;IFieldEdit field = new FieldClass();field.Name_2 = "wwx";field.Type_2 = esriFieldType.esriFieldTypeString;field.Length_2 = 10;myClass.AddField(field as IField);MessageBox.Show("添加字段完成!");}// 删除字段private void button6_Click(object sender, EventArgs e){IFeatureLayer myLayer = axMapControl1.Map.get_Layer(0) as IFeatureLayer;IFeatureClass myClass = myLayer.FeatureClass;IFields fds = myClass.Fields;IField fd = fds.get_Field(4);myClass.DeleteField(fd);MessageBox.Show("删除字段完成!");}// 字段查找private void button2_Click(object sender, EventArgs e){IFeatureLayer myLayer = axMapControl1.Map.get_Layer(0) as IFeatureLayer;IFeatureClass myClass = myLayer.FeatureClass;int index = myClass.FindField("KIND");MessageBox.Show(index.ToString());}// 读取属性值private void button1_Click(object sender, EventArgs e){IFeatureLayer myLayer = axMapControl1.Map.get_Layer(0) as IFeatureLayer;IFeatureClass myClass = myLayer.FeatureClass;IFeature fea = myClass.GetFeature(6);int index = myClass.FindField("NAME");string name = Convert.ToString(fea.get_Value(index));//byte[] temp = Encoding.GetEncoding("ISO8859-1").GetBytes(name);// byte[] temp = Encoding.GetEncoding("GbK").GetBytes(name);// 这里读取shp文件出现了中文乱码,不知道怎么回事 //name = Encoding.Default.GetString(temp);MessageBox.Show(name);}
鹰眼实现代码:
private void axMapControl1_OnExtentUpdated(object sender, IMapControlEvents2_OnExtentUpdatedEvent e){IEnvelope pEnv;pEnv = e.newEnvelope as IEnvelope;IGraphicsContainer graphicscontainer;IActiveView activewer;graphicscontainer = axMapControl2.Map as IGraphicsContainer;activewer = graphicscontainer as IActiveView;graphicscontainer.DeleteAllElements();IElement plement;plement = new RectangleElementClass();plement.Geometry = pEnv;IRgbColor rgbcol = new RgbColorClass();rgbcol.RGB = 255;rgbcol.Transparency = 255;ILineSymbol poutline = new SimpleLineSymbolClass();poutline.Width = 1;poutline.Color = rgbcol;IRgbColor pcolor = new RgbColorClass();pcolor.RGB = 255;pcolor.Transparency = 0;IFillSymbol fillsym = new SimpleFillSymbolClass();fillsym.Color = pcolor;fillsym.Outline = poutline;IFillShapeElement pfillshapeelement;pfillshapeelement = plement as IFillShapeElement;pfillshapeelement.Symbol = fillsym;plement = pfillshapeelement as IElement;graphicscontainer.AddElement(plement, 0);activewer.PartialRefresh(esriViewDrawPhase.esriViewGraphics, null, null);}
ArcGis Engine二次开发入门(1)相关推荐
- 【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功能的应用部 ...
- 【ArcGIS Engine二次开发】入门基础(1):ArcGIS Engine简介及开发环境搭建
文章目录 ArcGIS Engine概述 ArcGIS Engine与ArcObjects的关系 ArcGIS Engine下载及安装 ArcGIS Engine概述 ArcGIS Engine简介 ...
- 利用Arcgis Engine 二次开发的使用和总结
Arcgis Engine 初体验 先放一张第一版系统的图,由于公司机密不能提供源码,但是各个小功能提供源码,为需要的同仁提供些许帮助. 接下来进入正题,将逐一展示利用Arcgis Engine开发的 ...
- 【转载】利用ArcGIS Engine 二次开发的使用和总结
文章目录 ArcGIS Engine 初体验 一.较完全编辑功能GIS程序 二.字段搜索要素和空间搜索要素GIS程序 三.图层重叠搜索GIS程序 四.要素合并.裁剪及检测要素重叠GIS程序 五.自定义 ...
- arcgis engine二次开发python-使用C#配合ArcGIS Engine进行地理信息系统开发
简单的地图读取.展示终于到暑假了...开始认真整理整理相关学习的心得体会咯~ 先把很久之前挖的关于C# 二次开发的坑给填上好了~ 这次先计划用一个月把C# ArcEngine 10.0相关开发的学习心 ...
- ArcGIS Engine二次开发
目录 1 安装环境配置 2 参考资料 3 面向对象基础 3.1 接口 3.2 类 3.3 对象 3.4 面向对象的三大特性 4 对象模型图和ArcGIS Engine开发帮助 4.1 对象模型图(OM ...
- Arcgis Engine二次开发(一)AE开发总览
参加工作两年多,打算将两年来的AE(Arcgis Engine,本系列后面统一简称AE)开发经验分享出来.打算把AE的开发做成一个系列,原因主要有两个:一个是AE开发网上资源比较少,让从事开发的码农接 ...
- 基于C#的ArcGIS Engine二次开发的一个简单测试程序
上一篇文章介绍了环境的搭建,现在我们来做出第一个小测试程序. (1)先建一个C#窗体应用程序,我将程序名称改为了ArcGIS_test2. (2)点击"工具"->" ...
- C#+ArcGIS Engine二次开发之鹰眼功能实现的代码
开发系统的时候,一定也会考虑鹰眼的实现,鹰眼对整个研究区域有一个整体的轮廓.所以,鹰眼对一个系统来说还是很有必要的.但是找过网上很多代码,大同小异,可最后出现的成果并不是我想要的,终于,get到了心仪 ...
最新文章
- 聊聊flink的OperatorStateBackend
- Python学习网络爬虫--转
- 查看mysql库和表的大小(空间)
- 人事软件测试自学,自学软件测试什么课程
- ssl1333-地鼠的困境【二分图,最大匹配,图论】
- C和混编混合编程----strcpy缓存溢出原理
- 基于ubuntu18.04LTS SERVER版的基础系统安装过程
- 解决安装MarkupSafe安装 from setuptools import Feature 报错ImportError: cannot import name ‘Feature‘
- AS3利用AMFPHP与PHP进行通讯
- java 方法的重载_Java中的方法和方法重载
- Delphi取UTC时间秒
- python 项目目录结构
- Linux配置阿里yum源
- SSM框架整合+简单的增删改查的实现
- LeetCode—面试题:移除重复节点(哈希集合)
- js pug 代码_PUG 系列 | 第二课 JS 代码混合、包含引入
- 自学-CAD零基础视频教程网站
- SIP/VoIP之常见的语音问题
- [Android]判断滑动是向左还是向右?
- peek用法解决多读一行