基于C#的ArcEngine二次开发33:几何网络连通性分析(上)

简介: 基于C#的ArcEngine二次开发33:几何网络连通性分析

1 理论部分

1.1 概述

在大多数网络中,您并不希望所有边类型都能够在逻辑上连接到所有交汇点类型。类似地,您也不希望所有边类型都能够通过所有交汇点类型在逻辑上连接到所有其他边类型。例如,在一个供水管网中,消火栓可以连接到消火栓支管,但不能连接到生活用水支管。类似地,在同一供水管网中,10 英寸输水干管只能通过异径管连接到 8 英寸输水干管。


网络连通性规则用于限制可以相互连接的网络要素的类型以及可以连接到另一种要素的任一特定类型的要素数量。通过建立这些规则以及其他规则(例如属性域),可以在数据库中保持网络数据的完整性。任何时间,您都可以有选择地验证数据库中的要素并生成有关网络中哪些要素无效(即违反了连通性规则或其他规则)的报告。

1.2 连通性规则

1.2.1 类型


存在两种类型的连通性规则:边-交汇点规则和边-边规则。边-交汇点规则是一种连通性规则,用于规定类型 A 的边连接到类型 B 的交汇点时应遵循的规则。边-边规则是另一种连通性规则,用于规定类型 A 的边通过一组交汇点连接到类型 B 的边时应遵循的规则。边-边规则始终涉及到一组交汇点。


您可以在 ArcCatalog 或 ArcMap 中通过修改几何网络属性建立和修改网络的连通性规则。可以在两个要素类之间、一个要素类和另一个要素类的子类型之间或者一个要素类的子类型和另一个要素类的子类型之间建立连通性规则。在上述的供水管网示例中,可以在同一边要素类的两个子类型与第三个交汇点要素类的子类型(10 英寸和 8 英寸输水干管与减压阀)之间建立连通性规则。


网络连通性规则描述如何建立边–交汇点规则和边–边规则。为简单起见,会单独建立每个规则,但也可一次为网络建立或修改任何数量的规则。


1.2.2 默认交汇点

边-边连通性规则和边-交汇点连通性规则都可以有与之相关联的默认交汇点。


对于边-交汇点连通性规则,默认交汇点是可选的,而对于边-边连通性规则,默认交汇点是强制的。


当在网络中创建连通性和新要素时,ArcMap 会自动插入默认交汇点。如果促使创建连通性规则的业务规则没有明确的默认交汇点类或类型,则将默认交汇点类设置为“孤立”交汇点要素类是一种有效的解决方案。


当边对具有在数据库中定义的边-边连通性规则,并且创建了连接现有边的新边时,将自动插入默认交汇点。对于边-交汇点连通性规则,ArcMap 将自动在网络中创建的新边自由端处插入默认交汇点。


1.3 关于建立连通性规则

使用几何网络的属性对话框建立和修改连通性规则。


在几何网络中给出的两个示例有助于您理解如何建立边–交汇点规则和边–边规则。为简单起见,会单独建立每个规则,但也可一次为网络建立或修改任何数量的规则。


构建几何网络时,需要对所有输入要素类应用排它锁。如果其中任何一个输入要素类具有共享锁,都不会构建网络。如果网络中的任何一个要素类具有共享锁或排它锁,则该锁会传播到网络中的所有其他要素类。


系统不自动设置默认交汇点。

1.3.1 添加边-交汇点规则

单击开始 > 所有程序 > ArcGIS > ArcMap 10.1 启动 ArcMap。

单击地理处理 搜索工具并在搜索框中键入添加边-交汇点规则

单击搜索工具。“向几何网络添加边-交汇点连通性规则”地理处理工具列于搜索窗口中。

单击工具名称。将打开此工具的对话框。

在该工具的对话框中指定参数。了解有关“向几何网络添加边-交汇点连通性规则”工具的详细信息

单击确定。

1.3.2 添加边-边规则

单击开始 > 所有程序 > ArcGIS > ArcMap 10.1 启动 ArcMap。

单击地理处理 > 搜索工具并在搜索框中键入添加边-边规则。

单击搜索工具。“向几何网络添加边-边连通性规则”地理处理工具列于“搜索”窗口中。

单击工具名称。将打开此工具的对话框。

在该工具的对话框中指定参数。了解有关“向几何网络添加边-边连通性规则”工具的详细信息

单击确定。

1.3.3 通过边-交汇点规则增加边-边规则的灵活性

例如,要添加这样一个规则:类型 A 的边在一端有类型 B 的交汇点并在另一端有类型 C 的交汇点,则必须首先在边类型和两个交汇点类型之间添加边-边规则。然后,会自动创建边-交汇点规则。导航至每个边-交汇点规则并设置边-交汇点基数,以便每个类型的交汇点中只有一个可以连接到任何边。


交汇点的基数是与之相连的边要素的数量。当指定交汇点的基数时,请注意一个例外情况。如果交汇点在中跨处只连接到复杂边要素,则交汇点的基数是二。在该实例中,交汇点的基数基于所连接边元素的数量而不是边要素的数量。例如,该交汇点只有在基数为 0 到 2 时才能被视为有效。


如果对默认交汇点指定了边-交汇点规则,则当创建新边时,独立交汇点可进行归入。如果新边要素被创建并被捕捉到任意类型的独立交汇点,则该交汇点将归入默认交汇点类型。如果促使创建连通性规则的商业规则没有明确的默认交汇点类或类型,则将默认交汇点类设置为“孤立”交汇点要素类是一种有效的解决方案。

1.3.4 网络构建错误

根据现有简单要素类构建几何网络时,某些输入要素类中可能会存在可察觉的几何网络或条件内非法几何。


遇到这些情况时构建过程不会失败,而是该要素以网络要素的形式添加到几何网络,但并不将其连接到重叠要素。当这种情况发生时,网络构建过程结束时会显示一条警告消息,并在数据库中创建一个写有这些错误记录的表(称为构建错误表)。


错误表的名称为 <geometricnetwork_name>_BUILDERR。网络构建错误表的方案在网络构建错误表方案中进行了说明。


ArcMap 提供了帮助您使用网络构建错误表的工具,用来识别构建过程所识别的要素(请参阅识别几何网络构建错误)。您可以选择纠正问题或删除要素。(请参阅关于编辑几何网络要素)。


编辑几何网络时,不会更新网络构建错误表。修正问题以及编辑几何网络的其他区域时,不会更新网络构建错误表。修复完此表中报告的所有问题后,即不再需要使用此表,可通过 ArcCatalog 将其删除。


在 ArcMap 中,有多种工具和命令可帮助您识别和修复具有非法几何以及不一致网络连通性的网络要素。


2 连通性模型

2.1 简单边连通性模型

网络构建过程中的简单边捕捉受到以下规则的制约:

仅在边要素的末端建立针对简单边的连通性。

2020042314370373.png

即使简单边要素上存在折点,也不会建立中跨连通性。


 20200423143724477.png


但是,即使并未建立连通性,简单边要素也可能在捕捉过程中发生聚类。


20200423143749337.png




相关文章
|
7天前
|
数据采集 缓存 定位技术
网络延迟对Python爬虫速度的影响分析
网络延迟对Python爬虫速度的影响分析
|
1月前
|
机器学习/深度学习 数据采集 存储
时间序列预测新突破:深入解析循环神经网络(RNN)在金融数据分析中的应用
【10月更文挑战第7天】时间序列预测是数据科学领域的一个重要课题,特别是在金融行业中。准确的时间序列预测能够帮助投资者做出更明智的决策,比如股票价格预测、汇率变动预测等。近年来,随着深度学习技术的发展,尤其是循环神经网络(Recurrent Neural Networks, RNNs)及其变体如长短期记忆网络(LSTM)和门控循环单元(GRU),在处理时间序列数据方面展现出了巨大的潜力。本文将探讨RNN的基本概念,并通过具体的代码示例展示如何使用这些模型来进行金融数据分析。
216 2
|
3月前
|
数据采集 存储 C#
C# 爬虫技术:京东视频内容抓取的实战案例分析
C# 爬虫技术:京东视频内容抓取的实战案例分析
|
8天前
|
存储 安全 网络安全
网络安全法律框架:全球视角下的合规性分析
网络安全法律框架:全球视角下的合规性分析
20 1
|
17天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
4天前
|
网络协议 Unix Linux
精选2款C#/.NET开源且功能强大的网络通信框架
精选2款C#/.NET开源且功能强大的网络通信框架
|
1月前
|
存储 安全 网络安全
云端盾牌:云计算时代的网络安全守护在数字化浪潮中,云计算以其高效、灵活的特性成为企业转型的加速器。然而,伴随其迅猛发展,网络安全问题亦如影随形,成为悬在每个组织头顶的达摩克利斯之剑。本文旨在探讨云计算服务中的网络安全挑战,分析信息安全的重要性,并提出相应对策,以期为企业构建一道坚实的云端防护网。
在当今这个数据驱动的时代,云计算已成为推动创新与效率的关键力量。它允许用户随时随地访问强大的计算资源,降低了企业的运营成本,加速了产品上市时间。但随之而来的网络威胁也日益猖獗,尤其是对于依赖云服务的企业而言,数据泄露、身份盗用等安全事件频发,不仅造成经济损失,更严重损害品牌信誉。本文深入剖析云计算环境中的安全风险,强调建立健全的信息安全管理机制的重要性,并分享一系列有效策略,旨在帮助企业和个人用户在享受云服务带来的便利的同时,也能构筑起强有力的网络防线。
|
17天前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9-2):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
|
1月前
|
安全 网络安全 云计算
云计算与网络安全:技术融合与挑战分析
【9月更文挑战第31天】本文将深入探讨云计算和网络安全之间的关系,包括云服务、网络安全、信息安全等技术领域。我们将从云计算的基本概念和特性出发,分析其在网络安全方面的优势和挑战,并探讨如何通过技术和策略来提高云计算的安全性。同时,我们也将讨论网络安全在云计算环境下的重要性,以及如何通过有效的安全措施来保护云服务的安全。最后,我们将通过代码示例来展示如何在云计算环境中实现网络安全。
60 3
|
1月前
|
安全 网络协议 物联网
物联网僵尸网络和 DDoS 攻击的 CERT 分析
物联网僵尸网络和 DDoS 攻击的 CERT 分析