Es gibt 3 wahrscheinliche Szenarien, für die ich nahe Entfernungen erfassen möchte:
- Eine U-Bahnstation mit zwei oder mehr benachbarten Stationen. Das heißt, die betreffende Station verbindet zwei oder mehr Hauptstrecken und hat zwei oder mehr benachbarte Stationen.
- Eine U-Bahnstation, die nur eine benachbarte Station hat. Dies ist die Station am Ende der Linie.
- Eine Inline-U-Bahnstation mit genau 2 benachbarten Stationen, eine von beiden.
Ich versuche, einen Wert zu berechnen, den man als "durchschnittliche Entfernung zwischen benachbarten Stationen" bezeichnen könnte.
Der arcpy.GenerateNearTable_analysis()
kann zwei Optionen verarbeiten: Abstand zum nächsten Merkmal und Abstand zwischen allen Merkmalen.
Hat jemand eine clevere Methode zur Lösung dieser Szenarien? Beachten Sie, dass jede Station in der Attributtabelle unter dem Feld "StationType" als "Interchange", "Terminal" oder "Inline" bezeichnet ist.
Hinzugefügt:
Hier ist ein Pseudo-Code, der auf dem Vorschlag von @ whuber in den Kommentaren basiert. Ich habe noch keine Zeit, dies herauszufinden. Wenn also jemand einen Stich machen möchte, werden Sie mit einem Häkchen belohnt! ;)
Ich habe mir die NetworkX- Bibliothek angesehen und sie scheint so zu funktionieren, wie ich es möchte.
Angesichts der Grafik:
A —― B ―― C ―― D
|
E
sowie die Knoten und Links:
Nodes = ["A", "B", "C", "D", "E"]
Links = [("A", "B"), ("B", "C"), ("C", "D"), ("B", "E")]
def myFunction(node):
identify the links that node belongs to
count the number of links
calculate the total link lengths
divide the total link lengths by the number of links
return someValue