我在 ArcMap 中有一个随机创建的河网作为 Shapefile(折线)。目标是计算每个节点到最远源点的距离并将它们存储在字典中。
河网(红色=源点,黑色=汇合点,绿色=河口点)
我已经将各个折线段的长度保存在 shapefile 的新字段中。这些长度也存储在 Python 中的一个新字典中。每个键都有相应的长度。拓扑存储在另外两个字典中。一个字典包含作为键的边缘编号以及值中边缘的起点和终点。第二个字典包含所有节点作为键,每个节点对应的边作为值。
length = {0:[10.25], 1:[9.58], 2:[11.99], 3:[9.50], 4:[26.28]}
edges = {0:[0,1], 1:[2,1], 2:[1,3], 3:[4,3], 4:[3,5]}
nodes = {0:[1], 1:[0], 2:[3], 3:[2,3,4], 4:[0,1,2], 5:[4]}
此外,我有三个列表,分别是源点、河口点和汇合点。
我的问题是我不知道如何使用给定的字典来确定节点到最远源点的距离。我的一个考虑是将距离平面从交点保存在另一本字典中,但我不知道这是否有帮助或有必要。这看起来像这样(键 = 拓扑级别,值 = 节点):
dist = {0:[5], 1:[3], 2:[1,4], 3:[0,2]}
任何帮助将不胜感激。
谢谢,马修