拓扑(Topology)是在同一个要素集(FeatureDataset)下的要素类(Feature Class)之间的拓扑关系的集合。所以要参与一个拓扑的所有要素类,必须在同一个要素集内(也就是具有同一的空间参考),这样进行的拓扑检查才是精确的。一个要素集可以有多个拓扑,但每个要素类最多只能参与一个拓扑,一个拓扑中可以定义多个规则。
进行拓扑分析的过程:
一、建立拓扑(添加拓扑规则)
二、验证拓扑
三、编辑过程中保证拓扑的正确
四、查询系统中存在的拓扑
*******************************************************************************
一、建立拓扑的方法:
1:利用ArcCatalog桌面建立;
2:使用程序(ArcEngine)开发建立拓扑;
在Engine中建立拓扑的实现接口是ITopologyContainer::CreateTopology;
ITopologyContainer::CreateTopology 方法用来创建拓扑;
接口说明:
ITopologyContainer 是用来创建、添加、管理拓扑的平台容器;
通过本接口用户可以了解当前要素集的拓扑信息,如名称;如果用户仅出于得到要素集拓扑信息的目的,建议不用本接口打开拓扑,而使用IFeatureDatasetNames::TopologyNames方法就可以快速获取。
一旦使用CreateTopology方法创建拓扑后,本拓扑的参数便不能更改,如想变更则需删除或重新建立新的拓扑。
DefaultClusterTolerance 是建立拓扑默认的“容差”;
MaximumClusterTolerance表示最大“容差”;
MinimumClusterTolerance表示最小“容差”;
如果用户在创建拓扑时使用的容差参数位于最大、最小之间 则参数有效,如位于最大与最小之间则按照极值(最大、最小)来处理;注意默认的容差是与最小容差一样的;
建立拓扑规则:
使用ITopologyRuleContainer 接口;
接口说明:
IRule接口是Engine中的定义规则的接口,其中它的Type属性有以下几种:
建立拓扑规则我们将使用esriRTTopology;并通过ITopologyRule接口来实现拓扑规则。
并通过ITopologyRuleContainer接口将所定义的规则添加到当前的拓扑中(AddRule方法)。
ITopology接口和ITopologyRuleContainer接口共同继承于Topology类,所以可以
ArcEngine拓扑常用接口
最新推荐文章于 2024-03-17 15:56:44 发布
