水文模型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. 结果可视化

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C#,数据检索算法之跳跃搜索(Jump Search)的源代码

数据检索算法是指从数据集合(数组、表、哈希表等)中检索指定的数据项。 数据检索算法是所有算法的基础算法之一。 本文提供跳跃搜索的源代码。 1 文本格式 using System; namespace Legalsoft.Truffer.Algorithm { public static class ArraySe…

Qt编写手机端视频播放器/推流工具/Onvif工具

一、视频播放器 同时支持多种解码内核,包括qmedia内核(Qt4/Qt5/Qt6)、ffmpeg内核(ffmpeg2/ffmpeg3/ffmpeg4/ffmpeg5/ffmpeg6)、vlc内核(vlc2/vlc3)、mpv内核(mpv1/mp2)、…

go slice 扩容实现

基于 Go 1.19。 go 的切片我们都知道可以自动地进行扩容,具体来说就是在切片的容量容纳不下新的元素的时候, 底层会帮我们为切片的底层数组分配更大的内存空间,然后把旧的切片的底层数组指针指向新的内存中: 目前网上一些关于扩容…

【DDD】学习笔记-软件开发团队的沟通与协作

领域驱动设计的核心是“领域”,因此要运用领域驱动设计,从一开始就要让团队走到正确的点儿上。当我们组建好了团队之后,应该从哪里开始?不是 UI 原型设计、不是架构设计、也不是设计数据库,这些事情虽然重要但却非最高…

Linux常见的管理命令

1. whoami 作用: 显示出当前有效的用户名称,Linux是多用户多任务 语法:whoami(选项) 选项: --help:在线帮助 --version:显示版本信息和退出 场景使用: 1. 当用户想要查看当前登录系统的用户…

时间数据前端显示格式化

背景 在实际我们通常需要在前端显示对数据操作的时间或者最近的更新时间,如果我们只是简单的使用 LocalDateTime.now()来传入数据不进行任何处理那么我们就会得到非常难看的数据 解决方式: 1). 方式一 在属性上加上注解,对日期进行格式…

【Py/Java/C++三种语言详解】LeetCode每日一题240122【贪心】LeetCode670、最大交换

文章目录 题目链接题目描述解题思路为什么是贪心一个带图的例子 代码pythonjavacpp时空复杂度 华为OD算法/大厂面试高频题算法练习冲刺训练 题目链接 LeetCode670、最大交换 题目描述 给定一个非负整数数组 nums 和一个整数 k ,你需要将这个数组分成 k 个非空的连…

深入浅出 diffusion(4):pytorch 实现简单 diffusion

1. 训练和采样流程 2. 无条件实现 import torch, time, os import numpy as np import torch.nn as nn import torch.optim as optim from torchvision.datasets import MNIST from torchvision import transforms from torch.utils.data import DataLoader from torchvision.…

智能分析网关V4智慧冶金工厂视频智能监管方案

一、背景与需求 随着工业4.0的推进,冶金行业正面临着转型升级的压力。为了提高生产效率、降低能耗、保障安全,冶金智能工厂视频监管方案应运而生。该方案通过高清摄像头、智能分析技术、大数据处理等手段,对工厂进行全方位、实时监控&#xf…

matlab appdesigner系列-图窗工具2-工具栏

工具栏,就是一般在任意软件界面上方的工具菜单栏 示例:工具菜单绘制正弦函数 操作步骤如下: 1)将坐标区和工具栏拖拽到画布上 2)点击工具栏的号,可以看到可以添加2种工具,按钮工具和切换工具&#xff0c…

Unity 代理模式(实例详解)

文章目录 实例1:资源加载代理(Asset Loading Proxy)实例2:网络请求代理(Network Request Proxy)实例3:性能优化代理(Performance Optimization Proxy)实例4:权…

LC 2846. 边权重均等查询

2846. 边权重均等查询 难度: 困难 题目大意: 现有一棵由 n 个节点组成的无向树,节点按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] [ui, vi, wi] 表示树中存在一条位于节点 …

银行数据仓库体系实践(11)--数据仓库开发管理系统及开发流程

数据仓库管理着整个银行或公司的数据,数据结构复杂,数据量庞大,任何一个数据字段的变化或错误都会引起数据错误,影响数据应用,同时业务的发展也带来系统不断升级,数据需求的不断增加,数据仓库需…

EventSource 长链接执行

EventSource 说明文档MDN 其他参考文档 一、利用node启服务 import fs from fs import express from express const app express() // eventSource 仅支持 get 方法 // 服务器端发送的数据必须是纯文本格式,不能是二进制数据。 app.get(/api, (req, res) > …

项目性能优化之用compression-webpack-plugin插件开启gzip压缩

背景:vue项目打包发布后,部分js、css文件体积较大导致页面卡顿,于是使用webpack插件compression-webpack-plugin开启gzip压缩 前端配置vue.config.js 先通过npm下载compression-webpack-plugin包,npm i compression-webpack-plug…

Android SharedPreferences源码分析

文章目录 Android SharedPreferences源码分析概述基本使用源码分析获取SP对象初始化和读取数据写入数据MemoryCommitResultcommitToMemory()commit()apply()enqueueDiskWrite()writeToFile() 主动等待写回任务结束 总结 Android SharedPreferences源码分析 概述 SharedPrefer…

EXCEL VBA抓取网页JSON数据并解析

EXCEL VBA抓取网页JSON数据并解析 链接地址: https://api.api68.com/CQShiCai/getBaseCQShiCaiList.do?lotCode10036&date2024-01-26 Sub test() On Error Resume Next Sheet.Select Sheet1.Cells.ClearContents [a1:g1] Split("preDrawIssue|preDrawTi…

Ubuntu20.04添加桌面启动、侧边栏启动和终端启动

桌面启动 新建XX.desktop文件 在桌面新建一个XX.desktop文件,以QtCreator为例。 (注意这里不能使用sudo,因为这样会把文件的权限归为root,导致后续设置可执行程序不方便) gedit qtcreator.desktop在XX.desktop文件中…

第14次修改了可删除可持久保存的前端html备忘录:增加一个翻牌钟,修改背景主题:现代深色

第14次修改了可删除可持久保存的前端html备忘录&#xff1a;增加一个翻牌钟&#xff0c;修改背景主题&#xff1a;现代深色 备忘录代码 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta http-equiv"X…

设计模式—行为型模式之责任链模式

设计模式—行为型模式之责任链模式 责任链&#xff08;Chain of Responsibility&#xff09;模式&#xff1a;为了避免请求发送者与多个请求处理者耦合在一起&#xff0c;于是将所有请求的处理者通过前一对象记住其下一个对象的引用而连成一条链&#xff1b;当有请求发生时&am…