ArcGIS Engine 编辑- IEngineEditor
来源:互联网 发布:mac无损播放器哪个好 编辑:程序博客网 时间:2024/06/06 05:57
在前面一篇博客中,我们对IWorkspaceEdit接口做了介绍,通过IWorkspaceEdit接口,我们实现了对要素的添加,而在编辑介绍的那篇博文中,我还提到了另外一个接口IEngineEditor。
IEngineEditor接口被EngineEditorClass实现,而EngineEditor对象相当于我们在ArcMap中编辑的时候用到的Editor工具条,回想下我们要在一个线图层中添加一条新的要素,我们往往是按照下面的步骤
1)start editing
2)将targetlayer 设置为我们要编辑的图层
3)设置task 为create new feature
4)然后使用草图工具开始编辑。
其实这4个分别对应了四个接口,而这4个接口都被直接或间接被EngineEditorClass实现。这4个接口分别是:
IEngineEditor
IEngineEditLayer
IEngineEditSketch
还有一个间接的
ITask
task是一个任务流,ArcGIS 中的这个task就是对一系列操作的封装,也就是用草图工具所做的一系列动作(mousedown,mousemove等)。
这个示例中我定义了一个给等高线批量赋值的task。
主要代码如下:
IWorkspaceFactory pWsF = new ShapefileWorkspaceFactory();
IFeatureWorkspace pFtWs = pWsF.OpenFromFile(@"E:\arcgis\Engine\数据", 0) as IFeatureWorkspace;
IFeatureClass pFClass = pFtWs.OpenFeatureClass("ctour9_Clip");
IFeatureLayer pFtLayer = new FeatureLayerClass();
pFtLayer.Name = "等高线";
pFtLayer.FeatureClass = pFClass;
axMapControl1.AddLayer(pFtLayer as ILayer);
axMapControl1.Refresh();
//启动编辑
pEngineEditor = new EngineEditorClass();
pEngineEditor.StartEditing(pFtWs as IWorkspace, axMapControl1.Map);
pEngineEditor.StartOperation();
//设置目标图层
IEngineEditLayers pEditLayer = pEngineEditor as IEngineEditLayers;
pEditLayer.SetTargetLayer(pFtLayer, 0);
// 设置任务
pEngineEditor.CurrentTask = new CalculatContourTask() as IEngineEditTask;
//草图工具
ICommand pSketch = new ControlsEditingSketchToolClass();
pSketch.OnCreate(axMapControl1.Object);
axMapControl1.CurrentTool = pSketch as ITool;
- ArcGIS Engine 编辑- IEngineEditor
- ArcGIS Engine 编辑- IEngineEditor
- ArcGIS Engine 编辑介绍
- ArcGIS Engine 编辑- IWorkspaceEdit
- ArcGIS Engine 编辑- ITask
- ArcGIS Engine 节点编辑,实现要素拖动、编辑、节点删除
- [好玩的想法]使用ArcGIS Engine+WebService,在客户机上不安装Engine Runtime实现编辑SDE图层
- 什么是 ArcGIS Engine ?
- arcgis engine runtime错误
- ArcGIS Engine 刷新
- arcgis engine开发学习
- ArcGIS Engine简介(1)
- ArcGIS Engine简介(2)
- ArcGIS Engine介绍
- ArcGIS Engine许可初始化
- 什么是 ArcGIS Engine
- ArcGIS Engine简介
- ArcGIS Engine类库
- Jakarta Commons HttpClient 学习笔记
- Cookies,SSL,httpclient的多线程处理,HTTP方法
- 使用ACE递归查找文件的跨平台实现
- 清华大学出版社书评征集图书列表
- [我要考试]STFX大学体系结构考试题和我的答题
- ArcGIS Engine 编辑- IEngineEditor
- 使用stl时undeclared identifier
- axis开发webservice
- 个人知我见-如何成为一名android开发者?
- 应用程序——INI和XML配置文件
- 浅谈伺服驱动和变频器的区别
- 视频文件头解析--MP4-综述
- 读写锁SRWLock
- Asp.Net Url 传值出现乱码的解决方法(包括js传值)