用Python计算河网中每个节点的距离(Arcpy)

2024-09-30 01:25:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我在ArcMap中随机创建了一个河网,作为Shapefile(折线)。目标是计算从每个节点到最远源点的距离,并将它们存储在字典中。你知道吗

River network(红色=震源点,黑色=汇流点,绿色=河口点)

我已经在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]}

此外,我有三个名单与源点,河口点和汇合点分别。你知道吗

我的问题是,我不知道如何使用给定的字典来确定节点到最远震源点的距离。我考虑的一个问题是在另一个字典中保存从交点到平面的距离,但我不知道这是否有帮助或必要。这看起来像这样(Key=topology level,value=node):

dist = {0:[5], 1:[3], 2:[1,4], 3:[0,2]}

任何帮助都将不胜感激。你知道吗

谢谢,马修


Tags: 距离目标字典节点震源network折线shapefile

热门问题