水文模型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中求算过程

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

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

3 Line(管渠)数据连接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. 结果可视化

相关推荐
Kyln.Wu20 小时前
【python实用小脚本-190】Python一键删除PDF任意页:输入页码秒出干净文件——再也不用在线裁剪排队
服务器·python·pdf
阿幸软件杂货间2 天前
免费万能电子书格式转换器!Neat Converter支持 ePub、Azw3、Mobi、Doc、PDF、TXT 文件的相互转换。
pdf·格式转换
星马梦缘2 天前
CSDN转PDF【无水印且免费!!!】
pdf·免费·pandoc·转pdf·无水印·csdn转pdf·wkhtmlpdf
画月的亮2 天前
前端处理导出PDF。Vue导出pdf
前端·vue.js·pdf
伊织code3 天前
pdfminer.six
python·pdf·图片·提取·文本·pdfminer·pdfminer.six
HAPPY酷3 天前
给纯小白的Python操作 PDF 笔记
开发语言·python·pdf
代码AI弗森4 天前
PDF OCR + 大模型:让文档理解不止停留在识字
pdf·ocr
小周同学:5 天前
在 Vue2 中使用 pdf.js + pdf-lib 实现 PDF 预览、手写签名、文字批注与高保真导出
开发语言·前端·javascript·vue.js·pdf
Kyln.Wu5 天前
【python实用小脚本-187】Python一键批量改PDF文字:拖进来秒出新文件——再也不用Acrobat来回导
python·pdf·c#
迪尔~6 天前
Apache POI中通过WorkBook写入图片后出现导出PDF文件时在不同页重复写入该图片问题,如何在通过sheet获取绘图对象清除该图片
java·pdf·excel