- 清空一层中的要素:遍历层中的要素,进行delete操作
void
ClearLayer(ILayer layer)
... {
IGeoFeatureLayer geoLayer = layer as IGeoFeatureLayer;
IFeatureClass fc = geoLayer.FeatureClass;
//清空原有数据
IFeatureCursor pCursor = fc.Search(null,false);
IFeature pfeature = pCursor.NextFeature();
while(pfeature!=null)
...{
pfeature.Delete();
pfeature = pCursor.NextFeature();
}
}
... {
IGeoFeatureLayer geoLayer = layer as IGeoFeatureLayer;
IFeatureClass fc = geoLayer.FeatureClass;
//清空原有数据
IFeatureCursor pCursor = fc.Search(null,false);
IFeature pfeature = pCursor.NextFeature();
while(pfeature!=null)
...{
pfeature.Delete();
pfeature = pCursor.NextFeature();
}
}
2. 点层中加点
void
addPoint(ILayer layer,IPoint pointX)
... {
IGeoFeatureLayer geoLayer = layer as IGeoFeatureLayer;
IFeatureClass fc = geoLayer.FeatureClass;
IDataset pDataset = fc as IDataset;
IWorkspace pWorkSpace = pDataset.Workspace as IWorkspace;
IWorkspaceEdit pWorkSpaceEdit = pWorkSpace as IWorkspaceEdit;
pWorkSpaceEdit.StartEditing(true);
//pWorkSpaceEdit.StartEditOperation();
IPoint p = new PointClass();
p.X = pointX.X;
p.Y = pointX.Y;
IFeature feature = fc.CreateFeature();
//编辑属性
/**//*int fldIndex = feature.Fields.FindField(FieldName);
feature.set_Value(fldIndex,nameArr[i].ToString());*/
feature.Shape = p as IGeometry;
feature.Store();
}
// pWorkSpaceEdit.StopEditOperation();
pWorkSpaceEdit.StopEditing( true );
}
... {
IGeoFeatureLayer geoLayer = layer as IGeoFeatureLayer;
IFeatureClass fc = geoLayer.FeatureClass;
IDataset pDataset = fc as IDataset;
IWorkspace pWorkSpace = pDataset.Workspace as IWorkspace;
IWorkspaceEdit pWorkSpaceEdit = pWorkSpace as IWorkspaceEdit;
pWorkSpaceEdit.StartEditing(true);
//pWorkSpaceEdit.StartEditOperation();
IPoint p = new PointClass();
p.X = pointX.X;
p.Y = pointX.Y;
IFeature feature = fc.CreateFeature();
//编辑属性
/**//*int fldIndex = feature.Fields.FindField(FieldName);
feature.set_Value(fldIndex,nameArr[i].ToString());*/
feature.Shape = p as IGeometry;
feature.Store();
}
// pWorkSpaceEdit.StopEditOperation();
pWorkSpaceEdit.StopEditing( true );
}