ArcGIS Engine 编辑- IEngineEditor
来源:互联网 发布:杜兰特首秀数据 编辑:程序博客网 时间:2024/06/03 19:53
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类库
- UVa 202 大数除法
- Android中使用addr2line来分析出错信息
- junit测试用例
- jrtplib的安装和使用
- OutputDebugString在win7操作系统windbg内核调试下无法输出的解决办法
- ArcGIS Engine 编辑- IEngineEditor
- Nginx之应用
- 2015begin to study
- 数据结构专题——树
- 30-40岁的程序员们,请把一些账算清楚,为过冬做准备(一)
- 实现radiogroup的多行多列显示,行列自己定义
- 微信拉低我们的智商?
- 第1步:搭建Android的开发环境(从零开始学Android)
- 来自微软的纯CSS下拉菜单