目前在學Pyqgis
想實現的功能是給一個起點跟結束start=A end=H
line_dict={
'A':[['B','C']],
'B':[['A','C']],
'C':[['A','B'],['E','F','G']],
'E':[['C','F','G'],['I','H']],
'F':[['C','E','G']],
'I':[['H','E']],
'H':[['I','E']],
'G':[['E','F','C']]}
每條線是dictionary value為相連的線id
可以順利找到路徑 但是會有些bug
走過的線都加進去
紅色的圈是交接點 不需管黃色的點
start,end=A,H
road,tmp=[start],start
layer.removeSelection()
while tmp!=end:
for i in line_dict[tmp]:
for j in i :
print(f"開始點{road[-1]} 有{len(i)}個交接點:{i}")
if j not in road:
road.append(j)
tmp=j
print(f"最終路徑為:{road}")
layer.select(road)
起點為A 終點為H
提供思路也行 小弟再來思考看看 ~ 感謝大大
output 為A-->C-->E-->H