Python的WNTR库---基于供水网络

WNTR使用小结(一)

本人最近主要在做设施网络的内容,主要聚焦供水管网(water distribution network,WDN),在做实验中主要用的包为WNTR,下载连接:
链接: WNTR.最好安装最新版本
如果有做这方面研究的小伙伴们需要测试数据可以直接从WNTR实例数据中下载,其中提供了四种规模大小的管网,格式为.inp,可以搭配Epanet使用。如果需要更多示例数据可私信我!
以下内容全部为本人自己探索的小心得,希望能给你带来一点点帮助,如果不够详尽可以自行参阅官方文档:链接: 官方文档.
本节主要讲一下WNTR的水力模型和概况读取。

WNTR-Water network model

import wntr as wr
wdn = wr.network.WaterNetworkModel("管网.inp")

读取inp格式的管网,这里的wdn为WNTR中的水力模型,可以根据wdn访问该模型的具体内容:

  1. junction(管网当中的节点)
wdn_junction = wdn.junction_name_list
  1. pipe(管段)
wdn_pipe = wdn.pipe_name_list
  1. 全部点(包括junction,tank,reservoir)
wdn_node = wdn.node_name_list
  1. 全部边(包括pipe,pump,valve)
wdn_edge = wdn.link_name_list

WNTR-elements

1.访问节点属性

wdn.get_node('节点名称').todict()

2.访问边属性

wdn.get_link('边名称').todict()

3.添加节点属性

wdn.nodes['节点名称'].属性名称 = 属性值

4.添加边属性

wdn.links['边名称'].属性名称 = 属性值

这里使用pandas的dataframe,将wdn的属性表进行整合:

wdn_info = pd.DataFrame(wdn.nodes.tolist())
wdn_info.set_index('索引名称', inplace=True)

关于成图可视化

wr.graphics.plot_network(wdn, node_attribute='可视化字段名称', node_cmap=可默认或者自己定义(plt.get_cmap或list[颜色列表], node_colorbar_label='图例名称', title=标题, node_range=[可视化属性值范围])

这里还可以制作交互式成图哦!

wr.graphics.plot_interactive_network(wdn, node_attribute='可视化字段名称e', filename="网页文件保存地址", auto_open=True(是否直接打卡文件))

本小结就到这里了,如有问题欢迎私信,我尽量快速回复!
内心OS:要完成的实验任务好多,感觉还没好好记录下来就得继续学习新的东西了,大家加油啊!论做好笔记的重要性~~~

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 12
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值