export_csv: VF_n/GF_n-Einzelelemente zu Foerdereinheit/Gefaelleeinheit gruppieren
Die Einzelteil-Proxy-Zeilen (Boegen, Streckenelemente, Umlenk-/Motorstation) aus der letzten Session sind fuer den Normalfall zu granular. Standardmaessig (*csv-export-alle-elemente* = nil) fasst csv:unitmark-aktualisieren sie jetzt zu je einer "Foerdereinheit"/"Gefaelleeinheit"-Zeile pro zusammenhaengendem VF-/GF-Abschnitt einer Kette zusammen, mit einem persistenten Rechteck-Marker (ZZ_UNIT_MARKER, analog ZZ_ASES_MARKER) auf der Bounding-Box-Vereinigung aller enthaltenen Elemente. Der bisherige Rohdaten-Export bleibt ueber (csv:export-alle-elemente-an) weiterhin verfuegbar. Einheiten-Grenzen kommen rein export-seitig aus der sepliste (SEP/AS/ES in echter Bau-Reihenfolge) plus dem bereits vorhandenen SSG_SEP_TYP je Separator - eine bauzeitige Markierung in vf_linienzug.lsp/vf_standard.lsp/ vf_etage.lsp waere deutlich invasiver gewesen (3 unabhaengige Baupfade ohne gemeinsamen Einstiegspunkt). csv:sepliste-partition (Lauflaengen-Kodierung ueber die typisierte sepliste) und csv:element-unit-zuordnung (Zuordnung der gesammelten Elemente per Kettenrichtungs-Projektion statt der nachweislich unzuverlaessigen csv:nested-welt-records-Listenreihenfolge) sind reine, dateifrei getestete Funktionen. Korrigiert nebenbei eine falsche Annahme: L_VF_m/L_GF_m zaehlen pro Segment, nicht pro Einheit - die tatsaechliche Einheiten-Anzahl kommt nur aus der sepliste-Typfolge. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
f751a90076
commit
e7643bf181
+10
-6
@@ -413,18 +413,22 @@ SKIP_BLOCKS = set(BLOCKPATTERNS.get("pattern_ks_subblocks", ["K1", "K2", "K3", "
|
||||
#
|
||||
# Dieselbe Ueberlegung gilt fuer die ausgepackten VF_n/GF_n-Sub-Komponenten
|
||||
# (Boegen, gerade Foerderer-/Gefaellestrecken-Segmente, Umlenk-/Motorstation -
|
||||
# siehe csv:element-proxies-erzeugen, export.lsp): ihre Stueckzahl steckt
|
||||
# bereits in den GF_Bogen_*/VF_Bogen_*/ANZAHL_VF/ANZAHL_GF-Attributen des
|
||||
# Wrappers (*strecke-attr-gruppe*, ssg_core.lsp) - ein eigener Sivas-Eintrag
|
||||
# wuerde ebenso doppelt zaehlen. Muss VOR der pattern_strecke_module-Pruefung
|
||||
# unten greifen, sonst faengt deren generisches "ILS 2.0 Strecke"-Sammeln
|
||||
# diese Kopien zuerst ab.
|
||||
# siehe csv:element-proxies-erzeugen, export.lsp; nur im Rohdaten-Modus
|
||||
# *csv-export-alle-elemente*=T ueberhaupt in export_raw.json vorhanden) sowie
|
||||
# fuer die gruppierten Foerdereinheit-/Gefaelleeinheit-Marker (ZZ_UNIT_MARKER,
|
||||
# csv:unitmark-aktualisieren, Default-Modus): ihre Stueckzahl steckt bereits
|
||||
# in den GF_Bogen_*/VF_Bogen_*/ANZAHL_VF/ANZAHL_GF-Attributen des Wrappers
|
||||
# (*strecke-attr-gruppe*, ssg_core.lsp) - ein eigener Sivas-Eintrag wuerde
|
||||
# ebenso doppelt zaehlen. Muss VOR der pattern_strecke_module-Pruefung unten
|
||||
# greifen, sonst faengt deren generisches "ILS 2.0 Strecke"-Sammeln diese
|
||||
# Kopien zuerst ab.
|
||||
SEP_SCANNER_PATTERNS = (
|
||||
BLOCKPATTERNS.get("pattern_separator", []) + BLOCKPATTERNS.get("pattern_scanner", [])
|
||||
+ BLOCKPATTERNS.get("pattern_nested_bogen", [])
|
||||
+ BLOCKPATTERNS.get("pattern_nested_streckenelement", [])
|
||||
+ BLOCKPATTERNS.get("pattern_nested_umlenkstation", [])
|
||||
+ BLOCKPATTERNS.get("pattern_nested_motorstation", [])
|
||||
+ BLOCKPATTERNS.get("pattern_unit_marker", [])
|
||||
)
|
||||
|
||||
# Sivas-Nummern und Bezeichnungen je ILS-Elementtyp
|
||||
|
||||
Reference in New Issue
Block a user