list_trackids aus Merkmalen in eigene CSV-Spalte "TrackIds" verschoben

Statt eines JSON-Merkmals bekommen VF_n/GF_n/Kreisel jetzt eine eigene
CSV-Spalte "TrackIds" (nach "Nachbarn", vor "Fehler") mit der Reihenfolge
der Separator-/BTMT-/AS-ES-/Weichen-TeileIds entlang der Strecke bzw. um
den Kreisel - analog zur bestehenden "Nachbarn"-Spalte statt versteckt im
Merkmale-JSON. Referenz-CSV fuer den Omniflo-Test an den neuen Header
angepasst.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-10 15:07:31 +02:00
parent 3c0900a02b
commit 28dc3b4301
5 changed files with 158 additions and 146 deletions
+4 -3
View File
@@ -75,8 +75,9 @@ OMNIFLO_TEILEARTEN = {"Omniflo Kurve", "Omniflo Weiche", "Omniflo Gerade"}
SENSOR_TEILEARTEN = {"ILS 2.0 Separator", "ILS 2.0 Scanner"}
# Frei auf der Bahn platzierte Elemente, die im Kreisel-Umlauf
# (compute_kreisel_umlauf) und im Kreisel-Merkmal "list_trackids" (export_csv.py
# write_kreisel_separatorliste_merkmale) als eigene Punkte auftreten koennen -
# (compute_kreisel_umlauf) und in der Kreisel-CSV-Spalte "TrackIds"
# (export_csv.py write_kreisel_separatorliste_merkmale) als eigene Punkte
# auftreten koennen -
# wie ein Separator per Bounding-Box-Ueberschneidung einer Kreiselhaelfte/
# einem Kreisel zugeordnet (siehe compute_sensor_zuordnung/compute_kreisel_
# umlauf). BTMT-Beladung/-Entladung sind Stationen AUF der Strecke, keine
@@ -1417,7 +1418,7 @@ def compute_kreisel_umlauf(items, sep_kette, tolerance_mm, durchmesser_mm=800.0,
diesem Nullpunkt (kleinster Winkel >= 0 Grad in Umlaufrichtung) - das ist
fuer die reine Vorgaenger-/Nachfolger-Ermittlung (zirkulaer) irrelevant,
aber Voraussetzung fuer eine reproduzierbare, bei 0 Grad beginnende
"list_trackids" (siehe export_csv.py write_kreisel_separatorliste_merkmale).
"TrackIds"-Spalte (siehe export_csv.py write_kreisel_separatorliste_merkmale).
items = dieselbe Liste wie bei compute_neighbor_ids/compute_sensor_
zuordnung. sep_kette = Rueckgabe von compute_sep_kette (fuer die AS/ES-