Il y a 3 scénarios probables que j'essaie de capturer à proximité des distances:
- Une station de métro d'échange, qui a 2 stations voisines ou plus. C'est-à-dire que la station en question relie 2 routes principales ou plus et a 2 stations voisines ou plus.
- Une station de métro terminale, qui n'a qu'une seule station voisine. Voici la gare au bout de la ligne.
- Une station de métro en ligne, qui a exactement 2 stations voisines, l'une des deux approches.
J'essaie de calculer une valeur que l'on pourrait appeler "distance moyenne entre les stations voisines"
Le arcpy.GenerateNearTable_analysis()
peut gérer deux options: Distance à l'entité la plus proche et Distance entre toutes les entités.
Quelqu'un a-t-il une méthode intelligente pour résoudre ces scénarios? Notez que chaque station est désignée comme "Interchange", "Terminal" ou "Inline" dans la table attributaire sous le champ "StationType".
Ajoutée:
Voici du code pseudo basé sur la suggestion de @ whuber dans les commentaires. Je n'ai pas encore le temps de comprendre cela, donc si quelqu'un veut essayer, vous serez récompensé par une coche! ;)
J'ai jeté un coup d'œil à la bibliothèque NetworkX et elle semble fonctionner comme je le souhaite.
Étant donné le graphique:
A —― B ―― C ―― D
|
E
ainsi que les nœuds et liens:
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