关于AllOriginSubtypes和AllDestinationSubtypes拓扑检查官方文档有误导

本文主要是介绍关于AllOriginSubtypes和AllDestinationSubtypes拓扑检查官方文档有误导,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

1.问题描述:

2.有问题的代码:

3.修改能正确执行的代码 :


1.问题描述:

当两个要素类参与拓扑时,官方有一段代码,将拓扑规则加到拓扑中

ITopologyRule.AllOriginSubtypes Property

        Indicates if all origin subtypes are specified for the topology rule.

ITopologyRule.AllDestinationSubtypes Property

        Indicates if all destination subtypes are specified for the topology rule.

默认为false,但是这样是得不到拓扑结果的。

2.有问题的代码:

public void AddRuleToTopology(ITopology topology, esriTopologyRuleType ruleType,String ruleName, IFeatureClass originClass, int originSubtype, IFeatureClassdestinationClass, int destinationSubtype)
{// Create a topology rule.ITopologyRule topologyRule = new TopologyRuleClass();topologyRule.TopologyRuleType = ruleType;topologyRule.Name = ruleName;topologyRule.OriginClassID = originClass.FeatureClassID;topologyRule.AllOriginSubtypes = false;topologyRule.OriginSubtype = originSubtype;topologyRule.DestinationClassID = destinationClass.FeatureClassID;topologyRule.AllDestinationSubtypes = false;topologyRule.DestinationSubtype = destinationSubtype;// Cast the topology to the ITopologyRuleContainer interface and add the rule.ITopologyRuleContainer topologyRuleContainer = (ITopologyRuleContainer)topology;if (topologyRuleContainer.get_CanAddRule(topologyRule)){topologyRuleContainer.AddRule(topologyRule);}else{throw new ArgumentException("Could not add specified rule to the topology.");}

3.修改能正确执行的代码 :

 public void AddRuleToTopology(ITopology topology, esriTopologyRuleType ruleType, String ruleName, IFeatureClass originClass, int originSubtype, IFeatureClass destinationClass, int destinationSubtype){// Create a topology rule.ITopologyRule topologyRule = new TopologyRuleClass();topologyRule.TopologyRuleType = ruleType;topologyRule.Name = ruleName;topologyRule.OriginClassID = originClass.FeatureClassID;topologyRule.AllOriginSubtypes = true;// topologyRule.OriginSubtype = originSubtype;topologyRule.DestinationClassID = destinationClass.FeatureClassID;topologyRule.AllDestinationSubtypes = true;//topologyRule.DestinationSubtype = destinationSubtype;// Cast the topology to the ITopologyRuleContainer interface and add the rule.ITopologyRuleContainer topologyRuleContainer = (ITopologyRuleContainer)topology;if (topologyRuleContainer.get_CanAddRule(topologyRule)){topologyRuleContainer.AddRule(topologyRule);}else{throw new ArgumentException("无法将指定的规则添加到拓扑中 .");}}

这篇关于关于AllOriginSubtypes和AllDestinationSubtypes拓扑检查官方文档有误导的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/861439

相关文章

C#借助Spire.XLS for .NET实现在Excel中添加文档属性

《C#借助Spire.XLSfor.NET实现在Excel中添加文档属性》在日常的数据处理和项目管理中,Excel文档扮演着举足轻重的角色,本文将深入探讨如何在C#中借助强大的第三方库Spire.... 目录为什么需要程序化添加Excel文档属性使用Spire.XLS for .NET库实现文档属性管理Sp

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4

Java利用Spire.Doc for Java实现在模板的基础上创建Word文档

《Java利用Spire.DocforJava实现在模板的基础上创建Word文档》在日常开发中,我们经常需要根据特定数据动态生成Word文档,本文将深入探讨如何利用强大的Java库Spire.Do... 目录1. Spire.Doc for Java 库介绍与安装特点与优势Maven 依赖配置2. 通过替换

Android使用java实现网络连通性检查详解

《Android使用java实现网络连通性检查详解》这篇文章主要为大家详细介绍了Android使用java实现网络连通性检查的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录NetCheck.Java(可直接拷贝)使用示例(Activity/Fragment 内)权限要求

C#实现插入与删除Word文档目录的完整指南

《C#实现插入与删除Word文档目录的完整指南》在日常的办公自动化或文档处理场景中,Word文档的目录扮演着至关重要的角色,本文将深入探讨如何利用强大的第三方库Spire.Docfor.NET,在C#... 目录Spire.Doc for .NET 库:Word 文档处理利器自动化生成:C# 插入 Word

Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)

《Python实现Word文档自动化的操作大全(批量生成、模板填充与内容修改)》在职场中,Word文档是公认的好伙伴,但你有没有被它折磨过?批量生成合同、制作报告以及发放证书/通知等等,这些重复、低效... 目录重复性文档制作,手动填充模板,效率低下还易错1.python-docx入门:Word文档的“瑞士

Python版本与package版本兼容性检查方法总结

《Python版本与package版本兼容性检查方法总结》:本文主要介绍Python版本与package版本兼容性检查方法的相关资料,文中提供四种检查方法,分别是pip查询、conda管理、PyP... 目录引言为什么会出现兼容性问题方法一:用 pip 官方命令查询可用版本方法二:conda 管理包环境方法

使用EasyPoi快速导出Word文档功能的实现步骤

《使用EasyPoi快速导出Word文档功能的实现步骤》EasyPoi是一个基于ApachePOI的开源Java工具库,旨在简化Excel和Word文档的操作,本文将详细介绍如何使用EasyPoi快速... 目录一、准备工作1、引入依赖二、准备好一个word模版文件三、编写导出方法的工具类四、在Export

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

C++读写word文档(.docx)DuckX库的使用详解

《C++读写word文档(.docx)DuckX库的使用详解》DuckX是C++库,用于创建/编辑.docx文件,支持读取文档、添加段落/片段、编辑表格,解决中文乱码需更改编码方案,进阶功能含文本替换... 目录一、基本用法1. 读取文档3. 添加段落4. 添加片段3. 编辑表格二、进阶用法1. 文本替换2