ArcEngine拓扑常用接口

本文详细介绍了如何在ArcEngine中建立拓扑,包括使用ITopologyContainer::CreateTopology接口创建拓扑,利用ITopologyRuleContainer接口定义规则,以及拓扑验证和编辑过程。还探讨了在编辑过程中可能遇到的问题,如要素类已参与其他拓扑或网络分析等限制。同时,文章讲解了如何通过ITopologyLayer进行拓扑错误的渲染和编辑,以及提交编辑的步骤。

拓扑(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类,所以可以

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值