接口说明:
在接口的属性方法中,我们可以看到很多对要素编辑的操作。那就对了,对拓扑编辑其实很大一部分是利用这个方法来完成的。如:切割、重建、删除等等。
HitTest方法来获取所点击的Edges、Nodes;
使用ITopologyNode 、ITopologyEdge 获取边、点 同样实现相应的编辑操作。
使用ITopologyErrorFeature接口可以获取 产生错误的要素Feature,它继承与Feature类。
ITopologyErrorSelection接口操作当前TopologyLayer层下的错误是否可用;
ITopologyExtension 是当前拓扑的扩展,包括可以设置错误要素的样式symbol等。
注意:本接口只能在Desktop许可下获取,Engine不能应用。那么有人会问:“我们对拓扑图层、拓扑要素进行更改颜色,Engine就做不了了?”
呵呵 ,当然不是。别忘了 我前面提到过的ITopologyLayer接口
利用这个接口我们同样可以对图层进行renderer 渲染,具体操作请参考help帮助文档!
topology elements (Node and Edges)
当编辑结束后,我们就可以提交更改了。
ITopologyGraph::Post方法 提交所做的编辑。
部分编辑的代码:
***************************************************
Set pTopologyGraph = pTopology.Cache
pTopologyGraph.Build
pMxDoc.ActiveView.Extent, False
Set pEnumTopologyEdge = pTopologyGraph.Edges
Set pTopologyEdge = pEnumTopologyEdge.Next
bsel = pTopologyGraph.Select(esriTopologySelectionResultNew, pTopologyEdge)
Set pAffine = New AffineTransformation2DpAffine.Move 10, 10
pTopologyGraph.TransformSelection esriTransformForward, pAffine, False
pTopologyGraph.Post pGDset.Extent ''提交编辑
****************************************************
这样整个拓扑建立、验证、编辑 整个流程就完成了。
如果我们想对这个拓扑进行查看 ,可以使用ITopologyWorkspace::OpenTopology方法来打开拓扑。
重要说明:
如果我们对当前的拓扑不满意需要删除的话,我们首先要清空当前拓扑中的要素类removeclass(Itopology接口),然后再delete(Dataset接口)拓扑,否则会出现错误。