基于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




相关文章
|
2月前
|
人工智能 边缘计算 物联网
蜂窝网络未来发展趋势的分析
蜂窝网络未来发展趋势的分析
78 2
|
2月前
|
数据采集 缓存 定位技术
网络延迟对Python爬虫速度的影响分析
网络延迟对Python爬虫速度的影响分析
|
3月前
|
机器学习/深度学习 数据采集 存储
时间序列预测新突破:深入解析循环神经网络(RNN)在金融数据分析中的应用
【10月更文挑战第7天】时间序列预测是数据科学领域的一个重要课题,特别是在金融行业中。准确的时间序列预测能够帮助投资者做出更明智的决策,比如股票价格预测、汇率变动预测等。近年来,随着深度学习技术的发展,尤其是循环神经网络(Recurrent Neural Networks, RNNs)及其变体如长短期记忆网络(LSTM)和门控循环单元(GRU),在处理时间序列数据方面展现出了巨大的潜力。本文将探讨RNN的基本概念,并通过具体的代码示例展示如何使用这些模型来进行金融数据分析。
433 2
|
11天前
|
存储 安全 物联网
浅析Kismet:无线网络监测与分析工具
Kismet是一款开源的无线网络监测和入侵检测系统(IDS),支持Wi-Fi、Bluetooth、ZigBee等协议,具备被动监听、实时数据分析、地理定位等功能。广泛应用于安全审计、网络优化和频谱管理。本文介绍其安装配置、基本操作及高级应用技巧,帮助用户掌握这一强大的无线网络安全工具。
42 9
浅析Kismet:无线网络监测与分析工具
|
6天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
27 11
|
8天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
38 10
|
13天前
|
数据采集 机器学习/深度学习 人工智能
基于AI的网络流量分析:构建智能化运维体系
基于AI的网络流量分析:构建智能化运维体系
87 13
|
17天前
|
安全 网络协议 网络安全
网络不稳定导致HTTP代理频繁掉线的分析
随着数字化时代的加速发展,网络安全、隐私保护及内容访问自由成为用户核心需求。HTTP代理服务器因其独特技术优势受到青睐,但其掉线问题频发。本文分析了HTTP代理服务器不稳定导致掉线的主要原因,包括网络问题、服务器质量、用户配置错误及IP资源问题等方面。
54 0
|
2月前
|
安全 网络协议 网络安全
【Azure 环境】从网络包中分析出TLS加密套件信息
An TLS 1.2 connection request was received from a remote client application, but non of the cipher suites supported by the client application are supported by the server. The connection request has failed. 从远程客户端应用程序收到 TLS 1.2 连接请求,但服务器不支持客户端应用程序支持的任何密码套件。连接请求失败。
|
2月前
|
存储 安全 网络安全
网络安全法律框架:全球视角下的合规性分析
网络安全法律框架:全球视角下的合规性分析
59 1