管网、河网等数据在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

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

Python中使用uv创建环境及原理举例详解

《Python中使用uv创建环境及原理举例详解》uv是Astral团队开发的高性能Python工具,整合包管理、虚拟环境、Python版本控制等功能,:本文主要介绍Python中使用uv创建环境及... 目录一、uv工具简介核心特点:二、安装uv1. 通过pip安装2. 通过脚本安装验证安装:配置镜像源(可

canal实现mysql数据同步的详细过程

《canal实现mysql数据同步的详细过程》:本文主要介绍canal实现mysql数据同步的详细过程,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的... 目录1、canal下载2、mysql同步用户创建和授权3、canal admin安装和启动4、canal

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

Java中实现线程的创建和启动的方法

《Java中实现线程的创建和启动的方法》在Java中,实现线程的创建和启动是两个不同但紧密相关的概念,理解为什么要启动线程(调用start()方法)而非直接调用run()方法,是掌握多线程编程的关键,... 目录1. 线程的生命周期2. start() vs run() 的本质区别3. 为什么必须通过 st

使用SpringBoot整合Sharding Sphere实现数据脱敏的示例

《使用SpringBoot整合ShardingSphere实现数据脱敏的示例》ApacheShardingSphere数据脱敏模块,通过SQL拦截与改写实现敏感信息加密存储,解决手动处理繁琐及系统改... 目录痛点一:痛点二:脱敏配置Quick Start——Spring 显示配置:1.引入依赖2.创建脱敏

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

Mysql的主从同步/复制的原理分析

《Mysql的主从同步/复制的原理分析》:本文主要介绍Mysql的主从同步/复制的原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录为什么要主从同步?mysql主从同步架构有哪些?Mysql主从复制的原理/整体流程级联复制架构为什么好?Mysql主从复制注意

详解如何使用Python构建从数据到文档的自动化工作流

《详解如何使用Python构建从数据到文档的自动化工作流》这篇文章将通过真实工作场景拆解,为大家展示如何用Python构建自动化工作流,让工具代替人力完成这些数字苦力活,感兴趣的小伙伴可以跟随小编一起... 目录一、Excel处理:从数据搬运工到智能分析师二、PDF处理:文档工厂的智能生产线三、邮件自动化: