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

相关文章

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

Olingo分析和实践之EDM 辅助序列化器详解(最佳实践)

《Olingo分析和实践之EDM辅助序列化器详解(最佳实践)》EDM辅助序列化器是ApacheOlingoOData框架中无需完整EDM模型的智能序列化工具,通过运行时类型推断实现灵活数据转换,适用... 目录概念与定义什么是 EDM 辅助序列化器?核心概念设计目标核心特点1. EDM 信息可选2. 智能类

Olingo分析和实践之OData框架核心组件初始化(关键步骤)

《Olingo分析和实践之OData框架核心组件初始化(关键步骤)》ODataSpringBootService通过初始化OData实例和服务元数据,构建框架核心能力与数据模型结构,实现序列化、URI... 目录概述第一步:OData实例创建1.1 OData.newInstance() 详细分析1.1.1