对Feature的编辑分为以下几个部分
1.新建
2.修改
3.删除
涉及到的接口有以下几个
IWorkspaceEdit
IFeatureClass
IFeatureCursor
IFeature
其中IWorkspaceEdit用于启动编辑
开始编辑操作
结束编辑操作
结束编辑
IFeatureClass 是数据的所在地
IFeatureCursor 是一个游标
提供访问数据的接口和修改数据的接口
IFeature 是对象的代表
我们要编辑的目标
编辑的过程如下:
1.添加一个Feature
//假设space是一个IWorkspaceEdit
//参数表示是否需要使用Undo/Redo功能,该功能的粒度是EditOperator.
spaceEdit.StartEditing(false);
spaceEdit.StartEditOperator();
//添加一个Feature
IFeature newFea=feaClass.createFeature();
//为Feature 添加属性
设置图形
newFea.Store();//保存属性和图形
spaceEdit.StopEditOperator();//结束编辑操作
//结束编辑过程
//参数表示是否保存编辑
spaceEdit.StopEditing(true);
2.添加多个Feature
添加多个Feature也可以向上面一样
使用多次就可以了
当时也可以使用IFeatureCursor来添加数据
3.修改Feature
添加Feature中的修改属性和图形部分就是
每次修改后一定要调用Store方法
这样变化才可以保存下来
4.删除
IFeature 有一个方法Delete 可以用于删除
当时经过测试发现对Shapefile
会抛出异常来。
IFeatureCuror有一个DeleteFeature方法
可以用来删除当前的Feature ,经测试
对所有的数据源类型都可以使用。
注意事项
1.不能设置Feature的OID
2.不能设置Feature的Area
3.不能设置Feature的Lenght
4.不能设置Feature的Shape字段,需要调用单独的方法来给Feature关联几何图形。
1.新建
2.修改
3.删除
涉及到的接口有以下几个
IWorkspaceEdit
IFeatureClass
IFeatureCursor
IFeature
其中IWorkspaceEdit用于启动编辑
开始编辑操作
结束编辑操作
结束编辑
IFeatureClass 是数据的所在地
IFeatureCursor 是一个游标
提供访问数据的接口和修改数据的接口
IFeature 是对象的代表
我们要编辑的目标
编辑的过程如下:
1.添加一个Feature
//假设space是一个IWorkspaceEdit
//参数表示是否需要使用Undo/Redo功能,该功能的粒度是EditOperator.
spaceEdit.StartEditing(false);
spaceEdit.StartEditOperator();
//添加一个Feature
IFeature newFea=feaClass.createFeature();
//为Feature 添加属性
设置图形
newFea.Store();//保存属性和图形
spaceEdit.StopEditOperator();//结束编辑操作
//结束编辑过程
//参数表示是否保存编辑
spaceEdit.StopEditing(true);
2.添加多个Feature
添加多个Feature也可以向上面一样
使用多次就可以了
当时也可以使用IFeatureCursor来添加数据
3.修改Feature
添加Feature中的修改属性和图形部分就是
每次修改后一定要调用Store方法
这样变化才可以保存下来
4.删除
IFeature 有一个方法Delete 可以用于删除
当时经过测试发现对Shapefile
会抛出异常来。
IFeatureCuror有一个DeleteFeature方法
可以用来删除当前的Feature ,经测试
对所有的数据源类型都可以使用。
注意事项
1.不能设置Feature的OID
2.不能设置Feature的Area
3.不能设置Feature的Lenght
4.不能设置Feature的Shape字段,需要调用单独的方法来给Feature关联几何图形。