Sensor-Zuordnung: Separator/Scanner je Kreisel/Strecke zaehlen vor Export
count_sep_scan.lsp neu als wiederverwendbare Engine (cs-zuordnung-lauf), die automatisch vor jedem CSV-/Sivas-Export laeuft (export.lsp, csv:run-export). Zaehlt Separator_SP/Scanner je Carrier (Kreisel/Eckrad, VF_*, GF_*) ueber die gemeinsamen cfg/export.cfg-Muster und schreibt ANZAHL_SEPARATOR/ANZAHL_SCANNER, so dass die Summe zur Szene passt. Scanner ausserhalb jeder Carrier-Boundingbox ohne ZUORDNUNG werden per Abstand dem naechsten Kreisel/Strecke zugeschlagen (ZUORDNUNG = Carrier-ID). Ist der Abstand zum zweitnaechsten Kandidaten fast gleich (<= strittig_diff_mm, neu in cfg/export.cfg [Sensorzuordnung]), gilt die Zuordnung als strittig: Konsolenausgabe der ergaenzten Scanner + JSON-"warnung"-Feld mit den IDs der strittigen Kandidaten (csv:block-to-json), das export_csv.py in der Spalte "Warnungen" ausgibt. Menue: ZAEHLE_SEP_SCAN-Vorlauf vor EXPORTSIVAS entfernt (laeuft jetzt automatisch im Export); interaktiver Befehl bleibt erhalten. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -27,6 +27,13 @@ Warnungen = Spalte fuer Auffaelligkeiten. Aktuell: eine Strecke sollte genau
|
||||
zwei Kreisel (Anfang + Ende) beruehren - beruehrt ihre (in x/y gepruefte)
|
||||
Bounding-Box mehr, steht hier ein Hinweis und es wird zusaetzlich eine
|
||||
Konsolen-WARNUNG ausgegeben (mit exakten 3D-BBoxen sollte das nicht auftreten).
|
||||
Scanner-Zeilen bekommen dieselbe Spalte fuer strittige Distanz-Zuordnungen:
|
||||
liegt ein Scanner ausserhalb jeder Kreisel-/Streckengruppen-/Gefaellestrecke-
|
||||
Boundingbox und ist der Abstand zum naechsten und zweitnaechsten Carrier fast
|
||||
gleich gross, schreibt Lisp/count_sep_scan.lsp (cs-zuordnung-lauf, vor dem
|
||||
Export automatisch aufgerufen) einen Warnungstext mit den IDs beider
|
||||
Kandidaten in das "warnung"-Feld des Scanner-Blocks im Roh-JSON (siehe
|
||||
csv:block-to-json in export.lsp) - hier unveraendert uebernommen.
|
||||
|
||||
Aufruf:
|
||||
python export_csv.py <export_raw.json> <data_dir> <output.csv>
|
||||
@@ -765,6 +772,13 @@ def process_blocks(blocks, lookup, dbg=None):
|
||||
"bezeichnung": f"Scanner :{scanner_count}",
|
||||
"planquadrat": planquadrat_column(block, planquadrat_cfg),
|
||||
"merkmale": build_sensor_merkmale(block),
|
||||
# "warnung" kommt von cs-zuordnung-lauf (Lisp/count_sep_scan.lsp),
|
||||
# das vor dem Export strittige Distanz-Zuordnungen (Scanner
|
||||
# ausserhalb jeder Kreisel-/Strecken-Boundingbox, Abstand zu zwei
|
||||
# Kandidaten fast gleich) in *cs-scanner-warnung-by-handle*
|
||||
# sammelt - csv:block-to-json (export.lsp) haengt den Text als
|
||||
# "warnung"-Feld an den betroffenen Scanner-Block im JSON an.
|
||||
"warnung": block.get("warnung", ""),
|
||||
**bbox_columns(block),
|
||||
})
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user