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




相关文章
|
10月前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的青少年网络使用情况分析及预测系统
本研究基于Python大数据技术,构建青少年网络行为分析系统,旨在破解现有防沉迷模式下用户画像模糊、预警滞后等难题。通过整合多平台亿级数据,运用机器学习实现精准行为预测与实时干预,推动数字治理向“数据驱动”转型,为家庭、学校及政府提供科学决策支持,助力青少年健康上网。
|
10月前
|
存储 机器学习/深度学习 监控
网络管理监控软件的 C# 区间树性能阈值查询算法
针对网络管理监控软件的高效区间查询需求,本文提出基于区间树的优化方案。传统线性遍历效率低,10万条数据查询超800ms,难以满足实时性要求。区间树以平衡二叉搜索树结构,结合节点最大值剪枝策略,将查询复杂度从O(N)降至O(logN+K),显著提升性能。通过C#实现,支持按指标类型分组建树、增量插入与多维度联合查询,在10万记录下查询耗时仅约2.8ms,内存占用降低35%。测试表明,该方案有效解决高负载场景下的响应延迟问题,助力管理员快速定位异常设备,提升运维效率与系统稳定性。
387 4
|
10月前
|
数据采集 监控 网络安全
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
504 3
VMware Cloud Foundation Operations for Networks 9.0.1.0 发布 - 云网络监控与分析
|
12月前
|
数据采集 存储 数据可视化
Python网络爬虫在环境保护中的应用:污染源监测数据抓取与分析
在环保领域,数据是决策基础,但分散在多个平台,获取困难。Python网络爬虫技术灵活高效,可自动化抓取空气质量、水质、污染源等数据,实现多平台整合、实时更新、结构化存储与异常预警。本文详解爬虫实战应用,涵盖技术选型、代码实现、反爬策略与数据分析,助力环保数据高效利用。
629 0
|
12月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
706 18
|
机器学习/深度学习 运维 自然语言处理
VMware Cloud Foundation Operations for Networks 9.0 发布 - 云网络监控与分析
VMware Cloud Foundation Operations for Networks 9.0 发布 - 云网络监控与分析
203 0
|
监控 安全 Linux
Arista CloudVision 2025.1 - 多云和数据中心网络自动化、监控和分析
Arista CloudVision 2025.1 - 多云和数据中心网络自动化、监控和分析
576 2
Arista CloudVision 2025.1 - 多云和数据中心网络自动化、监控和分析
|
大数据
“你朋友圈的真面目,大数据都知道!”——用社交网络分析看透人情世故
“你朋友圈的真面目,大数据都知道!”——用社交网络分析看透人情世故
651 16
|
运维 监控 安全
如何高效进行网络质量劣化分析与流量回溯分析?-AnaTraf
在数字化时代,网络质量分析与流量回溯对保障业务运行至关重要。网络拥塞、丢包等问题可能导致业务中断、安全隐患及成本上升。传统工具常缺乏细粒度数据,难以溯源问题。流量回溯分析可还原现场,助力精准排障。AnaTraf网络流量分析仪作为专业工具,能高效定位问题,提升团队响应力,降低运营风险。
如何高效进行网络质量劣化分析与流量回溯分析?-AnaTraf
|
存储 人工智能 编解码
Deepseek 3FS解读与源码分析(2):网络通信模块分析
2025年2月28日,DeepSeek 正式开源其颠覆性文件系统Fire-Flyer 3FS(以下简称3FS),重新定义了分布式存储的性能边界。本文基于DeepSeek发表的技术报告与开源代码,深度解析 3FS 网络通信模块的核心设计及其对AI基础设施的革新意义。
Deepseek 3FS解读与源码分析(2):网络通信模块分析