我有一套用于水消费者的水表作为geojson绘制并用ol3可视化。对于每个消费者住宅,我在给定年份使用水,并且水管系统以线串形式给出,每个管道部分的直径的元数据。
当管道具有内环/圆圈时,我需要能够可视化/计算通过每个管道的水量的最小所需信息是什么。
是否有一个库可以让您轻松地在javascript中进行计算。
天真的方法,从每个房子开始,然后移动到第一个管道连接处,并将用过的房屋测量结果作为水从交汇处加出,并继续直到达到水厂。如果管道系统中没有循环,则此方法有效。
答案 0 :(得分:0)
您可以使用Ford-Fulkerson算法查找网络中的最大流量。要使用此算法,您需要将网络表示为一个图形,其中的节点代表您的房屋和边缘以表示您的管道。
答案 1 :(得分:0)
这听起来更像是物理或土木工程问题,而不是编程问题。
但是我可以告诉你,你需要时间序列数据来源和接收器。
考虑这个简单的网络:
说,A是源,B和D是汇/出口。 如果给出B的流出,则流入| CB |将取决于D的流量。
所以,例如如果B和D 总是同时打开,则已经过的总体积为| CB |可能接近于0.相反,如果B和D 从不同时打开,则该数字可能等于流过| AB |的数量。
如果你可以获得时间序列数据,那么你有通过D和B的流量的并发值,我认为存在一种通过| CB |确定流量的标准方法。
维基百科的Pipe Network Analysis article提到了一种这样的方法:Hardy Cross method,其中:
“假设流入和流出系统的流量已知,并且管道长度,直径,粗糙度和其他关键特征也是已知的或可以假设”。
如果时间序列数据不是一个选项,我会假装它总是平均的(考虑到你的图像中的大型网络可能不是那么糟糕)然后做同样的事情。
答案 2 :(得分:0)
您可以首先通过合并对“死角”的需求来简化网络。接下来,您需要在进入该网络的3个供给处的压力数据,我将其视为90(毫米?)的顶部供给,63处的中心供给以及50附近的底部供给。这3个簇由一个63毫米向下运行,这具有稳定的需求,并且进料口的压力读数足以提供流过内部簇的流量。