TrackIds von VF/GF-Strecken um AS-/ES-Kettenenden ergaenzt
write_separatorliste_merkmale liess bisher nur "SEP"-Eintraege der sepliste in die "TrackIds"-Spalte einfliessen; die AS-/ES-Ausschleus- /Einschleuselemente an Anfang und Ende der Kette fehlten dadurch, obwohl sie beim Kreisel (compute_kreisel_umlauf) bereits Teil von dessen TrackIds sind. Jetzt werden alle sepliste-Eintraege (AS, SEP, ES) in Baureihenfolge aufgeloest. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+12
-6
@@ -275,12 +275,18 @@ nah beieinander, auch wenn sie nicht exakt uebereinstimmen.
|
||||
Zusaetzlich zur `"Nachbarn"`-Spalte (Vorgaenger/Nachfolger je Zeile) traegt
|
||||
`write_separatorliste_merkmale` (`lib/export_csv.py`) jeder VF_n/GF_n-Zeile
|
||||
die eigene Spalte `"TrackIds"` (`item["trackids"]`, Top-Level-Feld wie
|
||||
`"nachbarn"` — KEIN Merkmal) ein: die TeileIds ihrer SEP-Eintraege in
|
||||
Baureihenfolge, kommagetrennt (z.B. `"0052, 0053, 0054"`). Quelle ist die
|
||||
rohe `sepliste` des Items (nicht `sep_kette`, dessen dict-Reihenfolge nicht
|
||||
garantiert ist). Muss NACH `map_separator_kette_items` laufen, weil erst
|
||||
dann jeder sepliste-SEP-Schluessel auf sein reales Separator-Item (TeileId)
|
||||
aufgeloest ist.
|
||||
`"nachbarn"` — KEIN Merkmal) ein: die TeileIds von AS-Ende, Separatoren UND
|
||||
ES-Ende in Baureihenfolge, kommagetrennt (z.B. `"0051, 0052, 0053, 0054,
|
||||
0055"` fuer AS, zwei SEP, ES). AS/ES zaehlen mit, weil sie beim Kreisel
|
||||
(siehe unten) ebenfalls Teil von dessen `TrackIds` sind — ohne sie fehlten
|
||||
hier die Kettenenden. Quelle ist die rohe `sepliste` des Items (nicht
|
||||
`sep_kette`, dessen dict-Reihenfolge nicht garantiert ist). Muss NACH
|
||||
`map_separator_kette_items`/`build_strecke_schleus_items` laufen, weil erst
|
||||
dann jeder sepliste-Schluessel (AS/SEP/ES) auf sein reales Item (TeileId)
|
||||
aufgeloest ist. Beruehrt ein Streckenende geometrisch KEINEN Kreisel,
|
||||
entsteht dort keine AS/ES-Zeile (`build_strecke_schleus_items`) und damit
|
||||
auch keine TeileId — dieses Ende fehlt dann in `TrackIds` (kein Fehler,
|
||||
sondern Folge der fehlenden Kollision).
|
||||
|
||||
`write_kreisel_separatorliste_merkmale` ueberträgt dasselbe Prinzip auf
|
||||
echte Kreisel (`"ILS 2.0 Kreisel"`): Quelle ist hier NICHT die sepliste
|
||||
|
||||
Reference in New Issue
Block a user