2024-03-03
Aujourd'hui, continuons sur le script pour ajouter les stations adjacentes. Après quelques modifications, je me rends compte que je lance le script avec les deux sens de la ligne, ce qui n'a pas vraiment d'intérêt. Autre point, lors d'une fourche, les index ne sont pas corrects, je me retrouve avec la station "Pierre et Marie Curie" sur la ligne 7 qui a comme stations adjacentes :
{
"adjacentStations": {
"7": [
"Porte d'Ivry",
"Mairie d'Ivry",
"Porte d'Ivry",
"Mairie d'Ivry",
"Porte d'Ivry",
"Villejuif - Louis Aragon",
"Porte d'Ivry",
"Villejuif - Louis Aragon"
]
}
}
Donc, on peut voir les doublons aller-retour + aller-retour de l'autre fourche "Villejuif - Louis Aragon".
Autre problème, en regardant la Station "Saint-Lazare", je vois que les stations adjacentes sur la 13 sont "Miromesnil"
et "Place de Clichy", au lieu de "Liège".
"Liège", n'est même pas présente dans la liste des stations, je vais donc devoir modifier le
script
merge-duplicate-stations.js
et accessoirement, je vais chercher le nombre de stations.
Bon, une petite condition de plus et je me retrouve avec la station Liège, qui s'appelait visiblement Berlin avant.
Pour rappel, si je veux retrouver toutes les données dans le bon sens, je peux :
node src/merge-duplicate-stations.js
node src/export-stations.js
node src/add-adjacent-stations.js
Bon, j'ai fini par ajouter quelques tests : nombre de stations, nombre de lignes, etc
La station Saint-Lazare ressemble désormais à quelque chose de correct :
{
"lines": [
"14",
"12",
"3",
"13"
],
"inLineIndex": {
"3": 87,
"12": 177,
"13": 180,
"14": 73
},
"adjacentStations": {
"3": [
"Havre - Caumartin",
"Europe"
],
"12": [
"Trinité d'Estienne d'Orves",
"Madeleine"
],
"13": [
"Liège",
"Miromesnil"
],
"14": [
"Madeleine",
"Pont Cardinet"
]
}
}
Mais le script n'est pas suffisant, certaines stations n'ont toujours pas de stations adjacentes comme "Olympiades", " Mairie de Montreuil", …
Étonnamment, les deux stations sont des terminus, je vais donc voir le problème. J'ai déplacé une condition, et il me reste plus que 2 stations sans stations adjacentes : "Danube" et "Pré Saint-Gervais", les deux stations sont sur la boucle de la ligne 7bis, que je mets de côté.
Je me suis remis sur l'affichage des lignes entre les stations adjacentes, cela fonctionne, mais il me reste un problème avec la fourche de la 13 par exemple. Aussi, un autre problème sur comment j'itère sur les lignes, j'affiche 2 bouts de liaison (ligne dans le sens A->B et B->A). Je pense que dans le inLineIndex, je stocke uniquement la ref de la ligne exemple : 13, mais pas son sens, ni sa branche. Il faut donc être plus précis.
Le changement s'est fait sans encombre, et cela fonctionne bien.
Dernière étape de la journée, fixer le build, un souci de "source" dans le package.json et on est bon.