Interesuje mnie obliczenie wykresu liniowego dla wykresu wejściowego, najlepiej w GRASS, ponieważ później będę używać innych narzędzi do analizy sieci GRASS . Nie mogłem znaleźć żadnego odniesienia do wykresów liniowych w dokumentach GRASS. Czy jest jakiś inny termin, którego powinienem używać podczas wyszukiwania, lub ukryta funkcja, która stworzyłaby taki wykres?
W kontekście:
wykres liniowy niekierowanego wykresu G to kolejny wykres L (G), który reprezentuje przylegania między krawędziami G.
Odpowiedzi:
Jeśli Python jest w porządku, istnieje kilka dobrych modułów Python, które wiedzą o grafach liniowych. Jednym z przykładów jest NetworkX (który zainstalowałem po prostu
sudo pip install networkx
).To nie jest idealna odpowiedź, ponieważ musisz napisać kod kleju. Najpierw przekonwertujesz dane wejściowe na obiekty wykresów NetworkX :
Następnie wywołaj
line_graph
funkcję get NetworkX, aby obliczyć wykres liniowy:I w końcu przekonwertowałbyś wynik z powrotem na coś użytecznego, powtarzając
H.edges()
iH.nodes()
.źródło