arcgis engine删除点元素element代码
时间: 2023-09-19 18:09:04 浏览: 116
以下是使用 ArcGIS Engine 删除点要素元素的示例代码:
```
//获取要素图层
IFeatureLayer featureLayer = axMapControl1.get_Layer(0) as IFeatureLayer;
//获取要素游标
IQueryFilter queryFilter = new QueryFilterClass();
queryFilter.WhereClause = "1=1"; // 获取全部要素
IFeatureCursor featureCursor = featureLayer.Search(queryFilter, true);
//遍历要素
IFeature feature = featureCursor.NextFeature();
while (feature != null)
{
//判断要素是否为点要素
if (feature.Shape.GeometryType == esriGeometryType.esriGeometryPoint)
{
//删除点要素元素
IElement element = new MarkerElementClass();
element.Geometry = feature.ShapeCopy;
IGraphicsContainer graphicsContainer = axMapControl1.Map as IGraphicsContainer;
graphicsContainer.DeleteElement(element);
}
feature = featureCursor.NextFeature();
}
//刷新地图
axMapControl1.Refresh();
```
在这个示例代码中,首先通过 `axMapControl1.get_Layer(0)` 获取要素图层,然后通过 `featureLayer.Search(queryFilter, true)` 获取要素游标。之后通过遍历要素游标,判断每一个要素是否为点要素,如果是则通过创建 `MarkerElementClass` 对象并设置其几何形状为要素的几何形状,再通过 `IGraphicsContainer.DeleteElement` 方法删除该要素元素。最后调用 `axMapControl1.Refresh()` 方法刷新地图显示。
阅读全文