水文模型SWMM与LisFlood耦合(pdf文档、软件见资源)

总技术路线图

INP生成图解

文献:面向服务的Web-SWMM构建研究

regardingINP为ArcGIS Pro项目

                                     

1.SWMM模型数据准备与参数设置

1.子汇水区

文件位于:beforeGenerateINP/generateSub.py(一级划分

问题

  1. 水文分析阈值划分随意(阈值2000)
  2. 未根据实际进行调整:1.子汇水区不跨建筑2.子汇水区不跨道路
  3. 根据研究区尺度,可能还需对汇水区进行二三级划分

2.子汇水区参数

2.1 RainGage(雨量计)

 

,类似雨水站点,记录区域的降雨时间序列数据。

beforeGenerateINP/raingenerator(暴雨生成器)/芝加哥雨型生成器/芝加哥雨型生成器.exe为软件

生成的暴雨即为同目录raindata.txt,单位为mm/min(SWMM模型中单位为mm/h,所有需要60

  1. 暴雨公式可根据raingenerator(暴雨生成器)/暴雨强度及雨水流量计算.exe生成

ImpactoftheStormSewerNetworkComplexityonFloodSimulationsAccordingtotheStrokeScalingMethod

2.2Outlet(子汇水区出水点)

[1]叶文华,李继强,吴金富.一种基于GIS和SWMM模型子汇水区快速搜索连接方法:CN202011407474.X[P].CN112580131A

2.3Area:计算几何,注意单位为公顷

2.4imperv(不渗透比例):需要土地利用数据,ArcGIS中分区统计(待做处理模型

2.5Width,字段计算器,相应公式

https://zhuanlan.zhihu.com/p/373831503

http://www.swmm.cn/archives/90.html

    1. Slope:分区统计至表

3.管网设置

3.1管网概化(手动处理)

3.2管网参数设置(自动化程度低)

FromNode(StratPoint)ToNode(EndPoint)

问题:(降雨径流runoff、子汇水区名字和管渠名字不能一样、管道shp

3.2.1ArcGIS中求算过程

1ArcGIS中“数据管理->要素->要素折点转点”,分别提取线的“起点”和“终点”

2将提取的“起点”和“终点”依次和Junctions(雨水结点)建立空间连接(为了附加属性)

3Line(管渠)数据连接StartJoin、EndJoin,获取管渠的起点终点并记录在相应字段里

Tip:数据分析前需检查数据正确性,管网线段在ArcGIS根据绘制顺序确定起点终点,但常常会因为绘制不规范而有误。南师大北区管线有此问题

绞点(Junction)只允许有一个出口管渠

反转线:编辑工具

提取值至表/要素

4.转INP

(如需自动映射,需编程实现、或者考虑QGISPython

转换软件:toGenerateINP目录下

其中generate_swmm_inp为QGISPython插件

文献:Generate_SWMM_inp:AnOpen-SourceQGISPlugintoImportandExportModelInputFilesforSWMM

5.INP文件解析

  1. INP运行
  1. SWMM软件(GUI界面)

软件操作:https://www.bilibili.com/video/BV14b411B7f2?p=14&vd_source=523f7e7e0b2d2c5c7b5783e91152e5ad

1.1验证生成INP是否准确

1.2参数设置Option

    1. 运行 、查看报告、得到Rpt、Out文件

2.PySWMM

文献:PySWMM:ThePythonInterfacetoStormwaterManagementModel(SWMM)

网站合集:https://pypi.org/project/swmm-api/

2.1运行inp文件

2.2溢流量统计

pyswmm统计不同时段NodeFlooding,并将结果输出为Excel。

runINP\PySWMM\getflooding.py目录下,

其中生成溢流量在getflooding.py中已经进行单位换算LPS-》m3PS

#单位换算,swmm生成结果为L/s,Lisflood中要求为m3/s
flood.append(node.flooding/1000)

生成Excel,按照名称排序,筛选出溢流量不为0的管点,按照一下格式整理

Row1:注释

Row2:雨水节点名称

Row3:个数单位

Row4:溢流量时间

3.耦合LisFlood模型

C++解决方案在\LisFlood\LISFLOOD-FP-trunk

执行在LisFlood\LISFLOOD-FP-trunk\out\build\msvc-x64-Debug

3.1输入文件

文献:基于SWMM和LISFLOOD-FP模型的居住区低影响开发模拟评价

      1. par主文件(test.par)

3.1.2 .bdy swmm节点溢流量(junBou1.bdy)

3.1.3 bci节点信息声明 (time.bci)

P 坐标x-坐标y(可从inp获取) QVAR 节点名称

3.1.4 DEM(dem10.asc)

DEM数据。ArcGIS中栅格转ASCII获取到

3.2运行

\LisFlood\LISFLOOD-FP-trunk\out\build\msvc-x64-Debug目录下,cmd命令行

“lisflood -v test.par”

问题:多个节点溢流同时,不行,待解决

3.3结果解析得到CSV

  1. 结果可视化

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/650357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

命令行安装vant2项目

声明:原文参考链接出自:ERROR in ./node_modules/vant export ‘createVNode‘ (imported as ‘_createVNode‘) was not found in ‘vue_error in node_modules/vant/lib/overlay/overlay.d.t-CSDN博客 已经安装Vant,但是引用Vant里面组件库时候报错&a…

重温《深入理解Java虚拟机:JVM高级特性与最佳实践(第二版)》 –– 学习笔记(一)

第一部分:走近Java 第1章:走近Java 1.1 Java的技术体系 SUN 官方所定义的 Java 技术体系包括:Java程序设计语言、Java虚拟机、Class文件格式、Java API类库、第三方(商业机构和开源社区)Java类库。 其中&#xff0…

C++ 关于“常量”的知识整理:

目录 1 常量对象: 2 常量成员: 2.1常量数据成员: 常数据成员总结: 2.2常量成员函数(使用最多): 常成员函数总结: 3 常量引用: C中常量的值在程序运行中不允许被改…

调用阿里通义千问大语言模型API-小白新手教程-python

阿里大语言模型通义千问API使用新手教程 最近需要用到大模型,了解到目前国产大模型中,阿里的通义千问有比较详细的SDK文档可进行二次开发,目前通义千问的API文档其实是可以进行精简然后学习的,也就是说,是可以通过简单的API调用在自己网页或…

express/koa2中使用http-proxy-middleware代理转发后端接口解决跨域问题

由于后端接口没有设置允许跨域,故前端需要自己解决,如果前端项目是node起的服务,可以使用express/koa2框架,配合http-proxy-middleware中间件转发后端接口 express中: 1.先安装依赖 npm i http-proxy-middleware -D 2.设置代理,可配置多条 var app express();// 设置反向代…

Redis为什么速度快:数据结构、存储及IO网络原理总结

Redis,作为内存数据结构存储的佼佼者,其高性能表现一直备受赞誉。那么,Redis究竟是如何实现这一点的呢?接下来,我们将更深入地探讨其背后的关键技术,并提供进一步的优化策略。 一、内存存储与数据结构设计…

本地缓存之王Caffeine 保姆级教程(值得珍藏)

1. 简介 在编程领域,缓存是不可或缺的一部分,从处理器到应用层,其应用无处不在。从根本上讲,缓存是利用空间换取时间的一种策略,通过优化数据存储方式,提高后续数据访问速度。 对于Java开发者来说&#x…

黑豹程序员-vue3实现剪贴板复制

需求 vue中实现复制文字到剪贴板上 注意 创建ClipboardJS对象时&#xff0c;第一个参数绑定组件 class的名称。此时class为此名称的才能有复制功能。 方法代码 <script setup> // npm install clipboardimport ClipboardJS from clipboard//复制文字到剪贴板const c…

【开源】基于JAVA语言的实验室耗材管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 耗材档案模块2.2 耗材入库模块2.3 耗材出库模块2.4 耗材申请模块2.5 耗材审核模块 三、系统展示四、核心代码4.1 查询耗材品类4.2 查询资产出库清单4.3 资产出库4.4 查询入库单4.5 资产入库 五、免责说明 一、摘要 1.1…

【现代控制系统】从状态方程导出微分方程

从状态方程导出微分方程 2023年6月20日 1. 基本方法 状态空间表达式&#xff1a; x ˙ ( t ) A x ( t ) B u ( t ) y ( t ) C x ( t ) D u ( t ) \begin{aligned} &\dot{ x}(t){ A }{ x }(t){ B }{ u } (t) \\ &{ y }(t){ C } { x }(t){ D } { u }(t) \end{alig…

基于Javaweb开发的二手图书零售系统详细设计【附源码】

基于Javaweb开发的二手图书零售系统详细设计【附源码】 &#x1f345; 作者主页 央顺技术团队 &#x1f345; 欢迎点赞 &#x1f44d; 收藏 ⭐留言 &#x1f4dd; &#x1f345; 文末获取源码联系方式 &#x1f4dd; &#x1f345; 查看下方微信号获取联系方式 承接各种定制系统…

使用 fdisk 和 mkfs 创建并挂载新硬盘

在Linux系统中&#xff0c;管理磁盘空间是一项关键的任务。有时&#xff0c;我们需要在系统中添加新的硬盘并将其用于特定的用途&#xff0c;比如存储日志文件。本文将介绍如何在Linux系统上使用fdisk和mkfs工具创建、格式化和挂载新硬盘。 1. 确认可用磁盘 首先&#xff0c;…

java的==运算符和equals详解

①chatgpt的解释 在Java中&#xff0c;和equals都是用于比较两个对象的操作符&#xff0c;但它们的行为和用途有所不同。 操作符&#xff1a; 对于基本数据类型&#xff0c;比较的是它们的值是否相等。例如&#xff0c;int a 5; int b 5; System.out.println(a b); // 输出t…

内网穿透natapp使用教程(Linux)

我的使用场景&#xff1a;在家访问学校服务器&#xff0c;由于不在一个局域网&#xff0c;所以需要使用内网穿透&#xff0c;我使用的是natapp。需要在有局域网的时候做好以下步骤。 &#xff08;natapp官网&#xff1a;https://natapp.cn/&#xff09; 1. 下载客户端 &#x…

springboot入门2

学习目标&#xff1a; 了解数据库配置加密方法&#xff0c;数据库连接池&#xff0c;mybatis-paginationInterceptor分页&#xff0c;pagehelper分页常用功能 学习内容&#xff1a; 1、mybatis plus配置加密 1.1、生成加密配置 package sccba.example;import com.baomidou…

模式设计:工厂模式

工厂设计模式属于创建型模式&#xff0c;它提供了一种创建对象的最佳方式。工厂模式提供了一种创建对象的方式&#xff0c;而无需指定要创建的具体类。工厂模式属于创建型模式&#xff0c;它在创建对象时提供了一种封装机制&#xff0c;将实际创建对象的代码与使用代码分离。 …

盲盒App小程序开发:引领未来购物新潮流

随着科技的不断发展&#xff0c;我们的购物方式也在不断改变。近年来&#xff0c;盲盒购物逐渐成为了一种新型的消费模式&#xff0c;受到了广大消费者的热烈欢迎。为了满足消费者的需求&#xff0c;越来越多的企业开始涉足盲盒App的开发。本文将探讨盲盒App开发的意义、前景以…

使用Docker搭建开发环境:MySQL、Redis、MongoDB和Selenium Grid

Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何支持Docker的平台上。在本篇博客中&#xff0c;我们将详细介绍如何用Docker安装MySQL、Redis、MongoDB和Selenium Grid&#xff0c;并给出相应…

[嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕

上一篇&#xff1a;[嵌入式软件][启蒙篇][仿真平台] STM32F103实现LED、按键 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现串口输出输入、ADC采集 [嵌入式软件][启蒙篇][仿真平台]STM32F103实现定时器 [嵌入式软件][启蒙篇][仿真平台] STM32F103实现IIC控制OLED屏幕 文章目…

【GitHub项目推荐--国外名校AI教程】【转载】

这个开源项目搜集了 YouTube 上优质的机器学习教程&#xff0c;方向包括机器学习、深度学习、计算机视觉、自然语言处理、无监督学习等等。 开源地址&#xff1a;https://github.com/dair-ai/ML-YouTube-Courses