管网、河网等数据在ArcGIS中创建网络及分析

2024-02-21 13:38

本文主要是介绍管网、河网等数据在ArcGIS中创建网络及分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

对于管网或者河网等数据构建网络用于上下游分析、loop分析等,可以在ArcGIS中构建网络数据,从而完成相应的分析。

一、在ArcMap中构建

在ArcMap中可以构建Geometric几何网络。

1. 构建网络

  • 新建数据集,并导入线数据
    在这里插入图片描述
  • 创建几何网络
    注意这里是创建Geometric Network;可设置连接点Junctions的容差,其他默认即可。
    在这里插入图片描述
  • 使用Set Flow工具,设置流向
    流向的确定有多重方式,比如根据数字化的方式,源和汇的方式等。这里先介绍根据绘制线要素时的数字化方式。
    在这里插入图片描述

2. 开启工具条及编辑

  • 开启几何网络分析工具
    在这里插入图片描述

  • 显示流向
    在网络分析工具中选择显示流向。
    在这里插入图片描述

  • 如果流向不正确,需要编辑修改。
    针对要素层开启编辑,然后双击线要素进入sketch状态。选中之后,右键要素,选择flip翻转。
    在这里插入图片描述
    编辑完成后保存,重新setflow调整流向即可。

3. 分析

  • 设置分析标识Flag
    选这个小旗子,有点的,有线的,放到要分析的要素上。
    在这里插入图片描述
    执行分析(例查看下游):
    在这里插入图片描述
    如果有多个线要素数据,例如排水管和排水渠,需要先使用merge合并工具,将线要素合并为一个要素,再创建几何网络。
    在这里插入图片描述
    合并后的数据,如果有连接点的,方向不对的,例如右侧为排水渠,同样可以通过编辑,翻转,重新setflow来调整方向。
    在这里插入图片描述

4. 基于源和汇构建几何网络

上面说了还有一种通过设置源和汇的方式也可以确定流向,但是存在一定问题,会在稍后提到。

先构建一个数据集,构建几何网络,获取到junctions点数据,导出到数据集2。
在这里插入图片描述
在这里插入图片描述
然后再往数据集2导入线要素,新的要素集就有了点和线。
在这里插入图片描述
构建几何网络,设置点要素有source和sink。
在这里插入图片描述
对之前的点要素开启编辑,手动修改源和汇。
在这里插入图片描述
在这里插入图片描述
但是在分析时最终出现了问题,相交的管网部分,流向到不了另一条管的下游。
在这里插入图片描述

  • 问题原因:
    流向既可以通过源又可以通过汇来建立,所以通常只需要在网络中指定源或者汇即可(否则,网络中可能会存在流向不确定的边)。要使用源和汇在几何网络上建立流向,必须选择网络中的交汇点作为源和汇来生成正确的流向。在为网络设置流向后,即使在知道流向的时候也可能会出现不确定流向,因为除了源和汇的连通性或位置以外,流向还取决于网络的属性或构成网络的要素。

所以,如果数据不是发散的或汇聚的,用源或汇容易有不确定流向。可能通过构建复杂网络或者子网络可以解决,但是目前还没有深入研究。

二、在ArcGIS Pro中构建

在Pro中构建的网络为Trace Network追踪网络。需要注意一点,ArcMap构建的几何网络数据在Pro中是无法打开的,同样Pro中构建的追踪网络在ArcMap中也无法打开。

  • 构建网络
    Create工具。
    在这里插入图片描述
    另外也可以使用转换工具,将ArcMap中构建的几何网络数据,转换为追踪网络数据。
    在这里插入图片描述
  • 启用拓扑
    使用启用拓扑工具处理数据集。
    在这里插入图片描述
  • 选中网络,设置流向。
    在这里插入图片描述
    同样,如果要设置流向,可以使用设置流量工具,默认流向是自动化方向。
    在这里插入图片描述
  • 执行分析
    这里也类似,就不过多介绍。
    在这里插入图片描述

拓扑修正的问题

在构建或转换形成Trace网络数据后,会生成一些拓扑错误元素,可以自己根据提示去判断是否为错误,进而进行修改。

拓扑修正参考官网:
https://pro.arcgis.com/zh-cn/pro-app/latest/help/data/trace-network/error-features.htm#ESRI_SECTION1_C30D73392D964D51A8B606128A8A6E8F

根据官网错误ID修正:
在这里插入图片描述

这篇关于管网、河网等数据在ArcGIS中创建网络及分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

kotlin中const 和val的区别及使用场景分析

《kotlin中const和val的区别及使用场景分析》在Kotlin中,const和val都是用来声明常量的,但它们的使用场景和功能有所不同,下面给大家介绍kotlin中const和val的区别,... 目录kotlin中const 和val的区别1. val:2. const:二 代码示例1 Java

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

idea中创建新类时自动添加注释的实现

《idea中创建新类时自动添加注释的实现》在每次使用idea创建一个新类时,过了一段时间发现看不懂这个类是用来干嘛的,为了解决这个问题,我们可以设置在创建一个新类时自动添加注释,帮助我们理解这个类的用... 目录前言:详细操作:步骤一:点击上方的 文件(File),点击&nbmyHIgsp;设置(Setti

MySQL大表数据的分区与分库分表的实现

《MySQL大表数据的分区与分库分表的实现》数据库的分区和分库分表是两种常用的技术方案,本文主要介绍了MySQL大表数据的分区与分库分表的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有... 目录1. mysql大表数据的分区1.1 什么是分区?1.2 分区的类型1.3 分区的优点1.4 分

Mysql删除几亿条数据表中的部分数据的方法实现

《Mysql删除几亿条数据表中的部分数据的方法实现》在MySQL中删除一个大表中的数据时,需要特别注意操作的性能和对系统的影响,本文主要介绍了Mysql删除几亿条数据表中的部分数据的方法实现,具有一定... 目录1、需求2、方案1. 使用 DELETE 语句分批删除2. 使用 INPLACE ALTER T